Creación de un marco de datos a partir de vectores en programación R

Un vector se puede definir como la secuencia de datos con el mismo tipo de datos. En R , se puede crear un vector usando la función c() .
Los vectores R se utilizan para contener múltiples valores de datos del mismo tipo de datos y son similares a las arrays en lenguaje C.

El marco de datos es una estructura de tabla bidimensional que se utiliza para contener los valores. En el marco de datos, cada columna contiene el valor de una variable y también cada fila contiene el valor de cada columna. Un marco de datos puede almacenar datos numéricos o datos de caracteres o datos de tipo de factor.

Cada columna en el marco de datos debe contener un número igual de elementos de datos. El marco de datos se puede convertir de vectores en R.

Para crear un marco de datos en R usando el vector, primero debemos tener una serie de vectores que contengan datos.
La función data.frame() se usa para crear un marco de datos a partir de un vector en R.

Sintaxis:

data.frame(vectors)

Ahora hagamos un marco de datos a partir de un vector en R.
Aquí tenemos vectores para los datos de los estudiantes y tenemos que convertirlos al marco de datos.

Prepara los vectores:

  • Vector User.ID: ID del estudiante El vector User.ID contiene las entradas de los estudiantes seguidas directamente por un número que va del 1 al 8.
  • Vector de nombre: Nombre del alumno.
  • Vector de género: Género del estudiante, que contiene las entradas «masculino» y «femenino».
  • Vector de Notas: Contiene las Notas obtenidas por alumno.
  • Número: Contiene Número de cada alumno.

Construya el marco de datos usando vectores:

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
class.df

Salida: El resultado será un marco de datos.

Aquí, en el ejemplo anterior, tenemos 5 vectores, Name es un vector de caracteres de longitud 8, User.ID es un vector numérico y todos los vectores mencionados anteriormente, y usándolos hemos creado un marco de datos que tiene una columna de longitud 8 y longitud de filas 5.

Una vez que se crea un marco de datos, podemos aplicar varias operaciones de marco de datos.

Obtener la estructura de un marco de datos:

La función str() se utiliza para obtener la estructura de un marco de datos.

Ejemplo:

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
str(class.df)

Salida:

Aquí, en el código anterior usando la str()función, hemos visto la estructura del marco de datos.

Extraer datos del marco de datos

En R podemos acceder a una columna específica desde un marco de datos usando el nombre de la columna.
Ejemplo:

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
extract<- data.frame(class.df$Name,
                     class.df$gender)
print(extract)

Producción:

Agregar filas y columnas al marco de datos

Agregar columna:
para agregar una columna solo tenemos que agregar un nuevo vector de columna en el marco de datos.
Tomemos el ejemplo anterior para ilustrar cómo agregar una columna.
Ejemplo:

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
  
class.df$New.column<- sprintf("new.data % d", 1:8)
modified.dataframe <- class.df
print(modified.dataframe)

Producción:

Aquí, en el ejemplo anterior, utilizando el marco de datos anterior, hemos agregado una nueva columna al marco de datos, con elementos de datos new.data.

Agregar fila
Para agregar una fila en el marco de datos, tenemos que tomar otro marco de datos y vincularlos a ambos usando la rbind()función.

Tomemos el ejemplo anterior para ilustrar cómo agregar una nueva fila al marco de datos.
Ejemplo:

# R program to illustrate
# data frame from vector
   
User.ID <- sprintf("User % d", 1:8) 
Name <- c("Jhon", "Lee", "Suzan", "Abhinav",
          "Brain", "Emma", "David", "Alice")
   
gender <- c("Male", "Male", "Female", "Male",
            "Male", "Female", "Male", "Female")
   
Marks <- c(56, 76, 86, 96, 73, 87, 47, 98)
    
Number <- c('111-222', '222-333', '333-444', '444-666',
            '333-888', '000-888-777', '999-000', '222-456')
    
class.df<- data.frame(User.ID, Name, 
                      gender, Marks, Number)
  
# create another data frame
User.ID <- sprintf("User % d", 9:12)
  
Name <- sprintf("new.data % d", 9:12)
  
gender <- c("Male", "Male", "Female")
  
Marks <- c( 87, 47, 98)
   
Number <- sprintf("new.number % d", 9:12)
new.data<- data.frame(User.ID, Name, gender, Marks, Number)
  
final.data <- rbind(class.df, new.data)
  
print(final.data)

Producción:

Aquí, en el código anterior, hemos creado un nuevo marco de datos «nuevo.datos» con 3 filas más y luego unimos ambos marcos de datos, lo que da como resultado la adición de filas con «nuevos.datos».

Publicación traducida automáticamente

Artículo escrito por akhilsharma870 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *