than rownames more funcion for dummies data columns r dataframe merge

rownames - merge more than 2 data frames in r



Fusionando un montón de data.frames (1)

Ponlos en una list y usa merge con Reduce

Reduce(function(x, y) merge(x, y, all=TRUE), list(df1, df2, df3)) # id v1 v2 v3 # 1 1 1 NA NA # 2 10 4 NA NA # 3 2 3 4 NA # 4 43 5 NA NA # 5 73 2 NA NA # 6 23 NA 2 1 # 7 57 NA 3 NA # 8 62 NA 5 2 # 9 7 NA 1 NA # 10 96 NA 6 NA

También puedes usar esta versión más concisa:

Reduce(function(...) merge(..., all=TRUE), list(df1, df2, df3))

Posible duplicado:
Fusionar marcos de datos múltiples en una lista simultáneamente

ejemplo data.frames :

df1 = data.frame(id=c(''1'',''73'',''2'',''10'',''43''),v1=c(1,2,3,4,5)) <br> df2 = data.frame(id=c(''7'',''23'',''57'',''2'',''62'',''96''),v2=c(1,2,3,4,5,6)) <br> df3 = data.frame(id=c(''23'',''62''),v3=c(1,2)) <br>

Nota: id es único para cada data.frame. Quiero que la matriz resultante se vea como

1 1 NA NA 2 3 4 NA 7 NA 1 NA 10 4 NA NA 23 NA 2 1 43 5 NA NA 57 NA 3 NA 62 NA 5 2 73 2 NA NA 96 NA 6 NA

En este caso, solo muestro 3 conjuntos de datos, de hecho tengo al menos 22 de ellos, así que al final quiero una matriz de nx (22 + 1) donde n es el número de identificadores para los 22 conjuntos de datos.

Dado 2 conjuntos de datos, necesito obtener sus ids en la primera columna y las columnas segunda y tercera están llenas con los valores, si no existe ningún valor, entonces ingrese NA lugar.