[R-es] unir 2 dataframe con con igual caso pero distinto valor en igual variable
Sebastian Kruk
residuo.solow en gmail.com
Vie Mar 9 17:04:49 CET 2012
Estimados usarios de R:
Tengo una base de datos madre en formato .sav de SPSS y la quiero
modificar usando datos de otras base de datos .sav y otra en .csv a
las que llamare hijos.
No tengo problema en convertirlas en data.frame.
Todos los archivos tienen en común una variable que es única.
En aquellos casos que les falta un valor a una variable en el archivo
madre lo relleno con el valor del mismo caso que lo tengo en el
archivo hijos.
El comando merge no me permite hacer lo anterior. ¿Hay alguno más avanzado?
El archivo madre es mas corto que cualquiera de los archivos hijos.
Un extracto del archivo madre:
Dia Mes Año Nombre Apellido Clase
1 1981 Juan Perez A
2 2 1981 Maria Paz B
2 Pedro García B
3 3 1981 José Lugano C
1 1 1982 José Lugano C
Un extracto de un archivo hijo:
Dia Mes Año Nombre Apellido Clase
1 1 1981 Juan Perez A
3 2 1981 Maria Paz B
1 2 1982 Pedro García B
1 1 1983 José Lugano C
1 2 1984 Juan Paz B
2 2 1985 Maria García B
2 2 1984 Pedro Lugano C
2 2 1984 José Lugano A
2 2 1981 Juan Perez B
2 2 1981 Maria Paz C
2 3 1984 Pedro García A
3 3 1987 José Lugano C
3 3 1990 Juan Paz B
3 3 1993 Maria García B
3 3 1996 Pedro Lugano A
3 4 1999 José Lugano C
3 4 2002 Juan Paz C
4 4 2005 Maria García B
Las variables clave son Nombre, Apellido y Clase.
Los casos que aparecen en en los archivos hijos distintos del madre no
interesan.
Si hay un NA en el archivo madre y no es NA en el archivo hijo le
pongo el valor del archivo hijo.
Si el valor en el archivo madre no es NA pero es distinto del valor
que aparece en el archivo hijo queda el valor del archivo madre.
Desde ya les agradezco la ayuda.
Saludos,
Sebastián.
Más información sobre la lista de distribución R-help-es