¿Cómo fusionar R DataFrames de diferente longitud?

En este artículo, discutiremos cómo combinar dos marcos de datos de diferente longitud y crear un marco de datos final en el lenguaje de programación R. 

Pasos –

  • Crear primer marco de datos
  • Crear segundo marco de datos
  • Use cualquier función de las siguientes y combínelas
  • Mostrar conjunto de datos así creado

Método 1: usar la función de combinación

R tiene una función incorporada llamada fusión que combina automáticamente dos marcos de datos de diferentes longitudes.

Sintaxis:

fusionar (marco de datos 1, marco de datos 2)

Ejemplo:

R

# 1st Dataframe
emp.data <- data.frame(
     emp_id = c (1:5),
     emp_name = c("Ryan","Sita","Ram","Raj","Gargi"),
     salary = c(62.3,151,311.0,429.0,822.25)
 )
 
# 2nd Dataframe
df2 <- data.frame(
     height = c ("5'3","5'11","4'9","6"),
     weight = c(55.8,68,89,42.9)
      
 )
 
merge(emp.data, df2)

Producción:

emp_id emp_name salario altura peso

1 1 Ryan 62,30 5’3 55,8

2 2 Sita 151,00 5’3 55,8

3 3 Carnero 311,00 5’3 55,8

4 4 Raj 429,00 5’3 55,8

5 5 Gargi 822,25 5’3 55,8

6 1 Ryan 62,30 5’11 68,0

7 2 Sita 151,00 5’11 68,0

8 3 Carnero 311,00 5’11 68,0

9 4 Raj 429,00 5’11 68,0

10 5 Gargi 822,25 5’11 68,0

11 1 Ryan 62,30 4’9 89,0

12 2 Sita 151.00 4’9 89.0

13 3 Carnero 311.00 4’9 89.0

14 4 Raj 429.00 4’9 89.0

15 5 Gargi 822,25 4’9 89,0

16 1 Ryan 62,30 6 42,9

17 2 Sita 151.00 6 42.9

18 3 Carnero 311.00 6 42.9

19 4 raj 429,00 6 42,9

20 5 Gargi 822,25 6 42,9

Método 2º: Usar cbind

 En esto, crearemos una columna llamada id para ambos marcos de datos y combinaremos los marcos de datos por la identificación de la columna.

Sintaxis: cbind(x1, x2, …, deparse.level = 1)

Parámetros:

  • x1, x2: vector, array, marcos de datos
  • deparse.level: este valor determina cómo se generaron los nombres de las columnas. El valor predeterminado de deparse.level es 1.

 Ejemplo:

R

# 1st Dataframe
emp.data <- data.frame(
     emp_id = c (1:5),
     emp_name = c("Ryan","Sita","Ram","Raj","Gargi"),
     salary = c(62.3,151,311.0,429.0,822.25)
 )
 
# 2nd Dataframe
df2 <- data.frame(
     height = c ("5'3","5'11","4'9","6"),
     weight = c(55.8,68,89,42.9)
      
 )
 
# creating the column id for dataframe 1
emp.data = cbind("id"=rownames(emp.data),emp.data)
 
# creating column id for dataframe 2
df2 = cbind("id"=rownames(df2),df2)
 
merge(emp.data,df2,all=T)

Producción :

id emp_id emp_name salario altura peso

1 1 Ryan 62,30 5’3 55,8

2 2 Sita 151,00 5’11 68,0

3 3 Carnero 311.00 4’9 89.0

4 4 Raj 429,00 6 42,9

5 5 Gargi 822.25 <NA> NA

Publicación traducida automáticamente

Artículo escrito por tedious_wings 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 *