variable valores una reemplazar redefinir perdidos modificar data con como columna cambiar r dataframe condition

una - reemplazar valores data frame r



Reemplazar valores de una columna usando una condiciĆ³n en R (1)

Tengo una pregunta R muy básica, pero estoy teniendo dificultades para tratar de obtener la respuesta correcta. Tengo un marco de datos que se ve así:

species<-"ABC" ind<-rep(1:4,each=24) hour<-rep(seq(0,23,by=1),4) depth<-runif(length(ind),1,50) df<-data.frame(cbind(species,ind,hour,depth)) df$depth<-as.numeric(df$depth)

Lo que me gustaría es seleccionar Y reemplazar todas las filas donde la profundidad es <10 (por ejemplo) con cero, pero quiero mantener toda la información asociada a esas filas y las dimensiones originales del marco de datos.

He intentado lo siguiente, pero esto no funciona.

df[df$depth<10]<-0

¿Alguna sugerencia?


# reassign depth values under 10 to zero df$depth[df$depth<10] <- 0

(Para las columnas que son factores, solo puede asignar valores que son niveles de factores. Si desea asignar un valor que actualmente no es un nivel de factor, primero deberá crear el nivel adicional:

levels(df$species) <- c(levels(df$species), "unknown") df$species[df$depth<10] <- "unknown"