es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Fusionar, y su resultado en R

Quiero fusionar conjuntos de datos en R, pero quiero saber qué fila tuvo éxito al fusionar después del proceso de fusión.
En Stata, la columna _merge se genera automáticamente después del proceso de fusión, y la columna tiene 3 valores, solo maestro(1), solo uso(2) y coincidido(3), respectivamente. Puedes ver la captura de pantalla de la salida aquí.

Creo que R también tiene esta función, pero es difícil de buscar.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, R también tiene una función similar a la columna _merge de Stata. Se llama la función merge() y se puede utilizar para fusionar dos conjuntos de datos mediante variables comunes. Después del proceso de fusión, el conjunto de datos fusionado resultante tendrá una nueva variable llamada ".x" para cada variable que se fusionó del primer conjunto de datos, y una nueva variable llamada ".y" para cada variable que se fusionó del segundo conjunto de datos.

    Para identificar qué filas se fusionaron correctamente después del proceso de fusión en R, puedes usar el paquete dplyr para agregar una nueva variable al conjunto de datos fusionado que indique el estado de fusión. La nueva variable podría tener valores como "solo_maestro" para filas que provienen solo del primer conjunto de datos, "solo_uso" para filas que provienen solo del segundo conjunto de datos, y "coincidido" para filas que se fusionaron correctamente de ambos conjuntos de datos.

    Aquí tienes un ejemplo de código que muestra cómo fusionar dos conjuntos de datos y agregar una variable de estado de fusión utilizando dplyr:

    “`{r}
    library(dplyr)

    crear dos conjuntos de datos de ejemplo para fusionar

    df1 <- data.frame(id = c(1, 2, 3, 4), var1 = c(“a”, “b”, “c”, “d”))
    df2 <- data.frame(id = c(2, 3, 4, 5), var2 = c(“x”, “y”, “z”, “w”))

    fusionar los conjuntos de datos utilizando id como la variable común

    fusionado <- merge(df1, df2, by = “id”, all = TRUE)

    agregar una variable de estado de fusión utilizando dplyr

    fusionado <- fusionado %>%
    mutate(estado_fusion = case_when(
    !is.na(var1) & is.na(var2) ~ “solo_maestro”,
    is.na(var1) & !is.na(var2) ~ “solo_uso”,
    !is.na(var1) & !is.na(var2) ~ “coincidido”
    ))
    “`

    Después de ejecutar este código, fusionado contendrá una nueva variable llamada estado_fusion que indica el estado de fusión para cada fila en el conjunto de datos fusionado. Puedes usar esta variable para identificar qué filas se fusionaron correctamente después del proceso de fusión.

Comments are closed.