[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