Asignar valores a una columna según valores en otra columna

publicado por: Anonymous

Necesito asignar en la columna a de un dataframe el valor b cada vez que sea verdadera una condición, ¿hay alguna forma de no tener que duplicar el filtro en ambos lados de la ecuación?

Por ejemplo, para la condición b > a:

f <- f(x,y) { x < y} 
df$a[f(df[,c("a","b")])] <- df$b[f(df[,c("a","b")])]

solución

Supongamos el dataframe df tiene 2 columnas: ‘a’ y ‘b’. Quieres asignar el valor de la columna ‘b’ a la columna ‘a’ si el valor de ‘b’ es mayor que el valor de ‘a’.

df[df$a < df$b,1] <- df$b
Respondido por: Anonymous

Leave a Reply

Your email address will not be published.