Замена значений из столбца с использованием условия в R

У меня очень простой вопрос R, но мне трудно найти правильный ответ. У меня есть кадр данных, который выглядит так:

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) 

Я бы хотел, чтобы он выбрал AND, заменив все строки, где глубина <10 (например) равна нулю, но я хочу сохранить всю информацию, связанную с этими строками, и исходные размеры фрейма данных.

Я попробую следующее, но это не сработает.

 df[df$depth<10]<-0 

Какие-либо предложения?

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

    (Для столбцов, которые являются факторами, вы можете назначать только значения, которые являются факторами. Если вы хотите присвоить значение, которое в настоящее время не является фактором, вам необходимо сначала создать дополнительный уровень:

     levels(df$species) <- c(levels(df$species), "unknown") df$species[df$depth<10] <- "unknown" 
    Давайте будем гением компьютера.