我有在數據幀中的多個整數列,全部用的NA,我需要重新編碼爲0。重新編碼的NA在多個數據幀列
df1 <- as.data.frame(sapply(paste(sample(letters,50,T),sample(letters,10), sep=""), function(x) {sample(c(NA,0:5),10,T)}))
df2 <- as.data.frame(sapply(paste(sample(letters,5,T),sample(letters,10,T), sep=""), function(x) {sample(letters[1:5],10,T)}))
df <- cbind(df2,df1)
生產這樣的輸出...(僅前幾個所示的55)的列
我可以去重新編碼來港爲0手動像df$col[is.na(df$col)] <- 0
爲每列,但考慮到有這麼多列,這將需要一段時間才能鍵入全力以赴。
如何在一行或三行中將所有這些NA重新編碼爲0?
(我知道我可以融化整數列,然後重新編寫一個熔化的列,但我寧願做在基礎R)
Woah ....不敢相信這是那麼容易。那麼我怎麼能指定一個重新編碼的列的範圍,而不是所有的? –
沒關係,我明白了。 'df [6:10] [is.na(df [6:10])] < - 0'。我甚至沒想過要連續添加兩個方括號。 –
@ TommyO'Dell,沒問題。就像我說的,你非常接近! – A5C1D2H2I1M1N2O1R2T1