studio importar exportar ejemplo desde datos comandos comando r merge stata

importar - fusionar la comparación de comandos entre R y Stata



exportar datos de r a excel (2)

Siendo un usuario R, estoy aprendiendo a Stata ahora usando este recurso, y estoy desconcertado sobre el comando de merge .

En R, no tengo que preocuparme por fusionar datos erróneamente, porque de todos modos fusiona todo. No necesito preocuparme si las columnas comunes contienen duplicados, porque el marco de datos Y se fusionará con cada una de las filas duplicadas en el marco de datos X (usando all=FALSE en merge )

Pero para Stata, necesito eliminar las filas duplicadas de X antes de proceder a fusionarme.

¿Se supone en Stata que, para que la merge proceda, la columna común en la tabla maestra debe ser única?


La respuesta a su pregunta es No. Trataré de explicar por qué.

El enlace que menciona abarca solo un tipo de combinación que es posible con Stata, es decir, la fusión de uno a muchos.

merge 1:m varlist using filename

Otros tipos de fusión son posibles:

Combinación uno a uno en variables clave especificadas

merge 1:1 varlist using filename

Muchos se fusionan en variables clave específicas

merge m:1 varlist using filename

Muchos a muchos se fusionan en variables clave especificadas

merge m:m varlist using filename

Fusión uno a uno por observación

merge 1:1 _n using filename

Detalles, explicaciones y ejemplos se pueden encontrar en la help merge .

Si no sabe si las observaciones son únicas en un conjunto de datos, puede hacer la siguiente comprobación:

bysort idvar: gen N = _N

ta N

Si encuentra valores de N que son mayores que 1, sabrá que las observaciones no son únicas con respecto a idvar.

Esta es, de hecho, la nueva sintaxis del comando de merge que se ha introducido con Stata 11. Antes de Stata 11, el comando de fusión era un poco más simple. Simplemente tenía que ordenar sus datos, y luego podría hacer:

merge varlist using filename

Por cierto, todavía puede usar esta sintaxis anterior en Stata 11 o superior.


joinby, incomparable (ambos) es el comando que corresponde a la fusión del comando R.

En particular, merge m: m NO hace una fusión de muchos a muchos (es decir, unión completa) al contrario de lo que implica la documentación.