Creando una función que muta dos variables de columna para columnas con el mismo número de ID.
Tengo un marco de datos:
“`
ID <- c(1:10)
act1144 <- c("Dormitorio", "Dormitorio", "Dormitorio", "Sala", "Cocina", "Dormitorio", "Dormitorio", "Dormitorio", "Sala", "Cocina")
wher144 <- c("Casa", "Casa", "Casa", "Casa", "Casa", "Casa", "Casa", "Casa", "Casa", "Casa")
data <- data.frame(ID, act1144, wher144)
““
y estoy usando mutate para hacer una nueva columna basada en las condiciones de otras dos columnas, por ejemplo.
““`
library(dplyr)
data <- data %>%
mutate(new144 = casewhen(
act1144 == “Dormitorio” & wher144 == “Casa” ~ “Dormitorio”,
act1144 == “Cocina” & wher144 == “Casa” ~ “Cocina”,
act1144 == “Sala” & wher144 == “Casa” ~ “Sala”,
act1144 == “Baño” & wher144 == “Casa” ~ “Baño”))
“““
Mi marco de datos real tiene las variables act11 – act1144 y wher1 – wher144. Me gustaría poner el código anterior en una función para recorrer todas las combinaciones coincidentes de act1 ** y wher **, como en el ejemplo anterior, sin tener que volver a ejecutar el código 144 veces.
¿Es esto posible? Gracias de antemano.
davy.ai
Sí, es posible crear una función para recorrer todas las combinaciones coincidentes de
act1_**
ywher_**
. Puede usar la funciónlapply
para recorrer las variables y aplicar la funciónmutate
a cada combinación. Por ejemplo: