fundir.objetos.fnc

Copia, Pega y Adapta

combinados=fundir.objetos.fnc(hombres,mujeres, mas.suj=T)

combinados=fundir.objetos.fnc(datos1,datos2, mas.var=T,

que.var='ID')

combinados=fundir.objetos.fnc(datos1,datos2, mas.var=T,

que.var='ID', todos.1=T, todos.2=F)

Objetivo

Permite unir dos bases de datos, tanto para añadir variables como casos.

Añadir sujetos

Partimos del supuesto de que disponemos de dos bases de datos pertenecientes a diferentes sujetos y deseamos unirla en una que llamaremos combinada. Simularemos este escenario dividiendo en dos la base de datos OBrienKaiser (hombres y mujeres) utilizando la función subset.

hombres=subset(OBrienKaiser, gender=='M')

mujeres=subset(OBrienKaiser, gender=='F')

Para añadir sujetos, ambas bases de datos deberán tener el mismo número y nombre de variables.

combinados=fundir.objetos.fnc(hombres,mujeres, mas.suj=T)

La función te informa de las dimensiones (filas y columnas) de las bases de datos a unir añadiendo mas sujetos (mas.suj=T). Puedes ver que partimos de 8 sujetos en cada una que al combinarse terminan siendo 16 en el objeto combinados.

Añadir variables (Por defecto TRUE)

En muchas ocaciones disponemos de dos bases de datos de los mismos sujetos pero con diferentes variables. Partiremos de un supuesto en el que tenemos por un lado una base de datos de nombre MathAchieve con los registros de 7185 niños en 6 variables y por otro la base de datos MathAchSchool con 6 variables pertenecientes a los 160 colegios en los que se encuentran los niños de la otra base de datos (Bases de datos pertenecientes a la librería nlme).

De esta forma activaremos ambas bases de datos.

data(package='nlme','MathAchieve')

data(package='nlme','MathAchSchool')

Observamos los primeros 6 registros de ambas bases de datos.

head(MathAchieve)

head( MathAchSchool)

En la primera vemos que los 6 primeros registros pertenecen a 6 niños que pertenecen al mismo colegio (1224). En la segunda puedes ver que cada registro pertenece a un colegio diferente (1224 hasta el 1358). Vemos además que ambas bases tienen en común la variable School, la cual utilizaremos como variable de emparejamiento.

Uniremos las dos bases de datos con el argumento mas.var=T porque deseamos añadir a la base de datos primera las características de los colegios guardadas en las variables de la segunda.

alumnos=fundir.objetos.fnc(MathAchieve,MathAchSchool,

mas.var=T, que.var='School')

Equivalente a:

alumnos=fundir.objetos.fnc(MathAchieve,MathAchSchool, que.var='School')

Hemos obtenido un error porque la variable MEANSES está en ambas bases de datos. Para subsanarlo, "eliminaremos" dicha variable (columna 6) de una de ellas o podemos añadir el argumento borra.var.rep=T para que la variable repetida sea eliminada de la segunda base de datos antes de fundirla.

alumnos=fundir.objetos.fnc(MathAchieve[,-6],MathAchSchool,

mas.var=T, que.var='School')

alumnos=fundir.objetos.fnc(MathAchieve,MathAchSchool,

mas.var=T, que.var='School', borra.var.rep=T)

La función te informa de que tu unidad de registro (variable de emparejamiento) School ocupa mas de una fila. Observa que la primera matriz de datos es una 7185 x 5 y la segunda 160 x 7. La matriz combinada tiene el mismo número de filas que la primera y el número de columnas es precisamente la suma del número de variables de ambas.

head(alumnos)