[R-es] unir 2 dataframe con con igual caso pero distinto valor enigual variable

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Vie Mar 9 17:34:53 CET 2012


Hola Sebastian Kruk

Yo tuve que mezclar datos provenientes de distintos lugares, en mi caso, 
llevé los archivos a un data.frame por archivo, trabaje acomodando los 
data.frame para que queden "iguales" en otros data.frame, digamos los 
originales eran DatosA y DatosB, la versión acomodada era DatosAA y DatosBB. 
Un punto importante que en mi caso producía errores era el no ordenar los 
datos. Una vez que tenía todo ordenado con NA, y etc., utilizaba el "merge". 
Por las dudas, al crear DatossAA y DatosBB tenía una columna que en todos 
los valores decía AA o BB, de esta forma tenía indicado el origen de los 
datos.

Luego pude continuar trabajando con mi nuevo data.frame fruto del merge.

Me resulta muy difícil imaginar lo que ocurre en su caso, ¿tiene una 
identificación única, etc?

Recomendación, si no le molesta ejecutar ?merge y enviarnos un ejemplo con 
su caso, como está en la ayuda de R, por lo menos para mí es más fácil 
entender y poder indicarle algo, no se si la solución pero ...

Javier

-----Mensaje original----- 
From: Sebastian Kruk
Sent: Friday, March 09, 2012 1:04 PM
To: r-help-es en r-project.org
Subject: [R-es] unir 2 dataframe con con igual caso pero distinto valor 
enigual variable

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.

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es