非常に基本的なR
質問がありますが、正しい答えを得るのに苦労しています。次のようなデータフレームがあります。
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)
選択して、depth < 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"