Reemplaza varios valores similares en una columna en R.
Tengo un marco de datos con información anonimizada que se ve así:
Género Edad Puntuación
Hombre 2 7
Hombre 6 1
Hombre 5 5
Hombre 3 9
Mujer 9 11
Mujer 12 11
Mujer 6 11
Me gustaría reemplazar todos los 2 por “5 años” y todos los 3 por “6 años” y así sucesivamente.
Puedo usar esto:
data$Edad[data$Edad ==2] <- “5 años”
pero tengo datos que van desde los 5 años hasta los 25 años, y repetir eso 20 veces no es precisamente atractivo.
Me gustaría una función que itere desde 2 hasta 22.
¿Existe una forma más sencilla de hacer esto?
Gracias
davy.ai
Sí, hay una manera más fácil de hacer esto.
Puedes crear una tabla de búsqueda que asigna a cada valor de edad el texto de reemplazo deseado, y luego usar la función
match()
para buscar el valor de reemplazo correspondiente para cada valor de edad en el marco de datos. Aquí tienes un ejemplo de código:Este código crea un vector nombrado (
age_lookup
) que asigna cada valor de edad de 2 a 22 al texto de reemplazo deseado. La funciónmatch()
luego busca el texto de reemplazo para cada valor de edad en el marco de datos, y el resultado se asigna de nuevo a la columnaAge
del marco de datos. Este enfoque es mucho más eficiente que escribir manualmente 20 sentencias de reemplazo.