Fusionar marcos de datos basados ​​en rownames en R

¿Cómo puedo fusionar las columnas de dos marcos de datos, que contienen un conjunto distinto de columnas pero algunas filas con los mismos nombres? Los campos para las filas que no aparecen en ambos marcos de datos deben rellenarse con ceros:

> d abcdefghij 1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 > e klmnopqrst 1 11 12 13 14 15 16 17 18 19 20 3 21 22 23 24 25 26 27 28 29 30 > de abcdefghijklmnopqrst 1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10 11 12 13 14 15 16 17 18 19 20 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0 0 0 0 0 0 0 0 3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 21 22 23 24 25 26 27 28 29 30 

Ver ?merge :

el nombre “row.names” o el número 0 especifica los nombres de las filas.

Ejemplo:

 R> de < - merge(d, e, by=0, all=TRUE) # merge by row names (by=0 or by="row.names") R> de[is.na(de)] < - 0 # replace NA values R> de Row.names abcdefghijklmnopqrs 1 1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10 11 12 13 14 15 16 17 18 19 2 2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0 0 0 0 0 0 0 3 3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 21 22 23 24 25 26 27 28 29 t 1 20 2 0 3 30