我對R完全陌生,我一直試圖用每個列的平均值替換NA
值。我嘗試了很多選擇。但似乎沒有工作。我試過這個和許多類似的,但我繼續得到:argument is not numeric or logical: returning NA
。用列表的平均值替換列表中的所有NA號碼
script<-function() {
for (i in names(data)) {
data[[i]][is.na(data[[i]])] <- mean(data[[i]], na.rm=TRUE);
}
}
過了一會我覺得還是算列和與此上來後:
script<-function() {
for (i in 1:20) {
data[[i]][is.na(data[[i]])] <- mean(data[[i]], na.rm=TRUE);
}
}
不顯示任何錯誤,但似乎並沒有任何工作。當我輸入數據時,它只是相同的數據框,但未經編輯。任何人都可以幫助我嗎?
你的代碼是正確的(雖然我不知道它爲什麼包裹在一個函數中);也許問題出在你的數據上。 'str(data)'的輸出是什麼? – Aaron 2013-04-30 02:01:11
你可以發佈示例'數據'? – Nishanth 2013-04-30 02:01:21
@Aaron請注意,他們的代碼實際上是封裝在一個函數中,但它們沒有正確縮進。 – Dason 2013-04-30 02:01:34