您好我寫了一個函數,從與他們的平均每列推諉的NA:功能由列人來港通過它來推諉的平均
df1<-data.frame(c=(1:5), d=(11:15), f=c(1,NA, 2:4), e=c(1,0,1,0,1), g=c(1,NA,2,36,7))
reemp<-function (tbl) {
var_incom<-colnames(tbl)[ !complete.cases(t(tbl))]
for (col in var_incom) {
tbl$col[is.na(tbl$col)] <-median(tbl$col, na.rm=TRUE)}
return(tbl)}
reemp(df1)
但我得到一個warining消息並沒有結果:
Warning messages: 1: In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL' 2: In is.na(tbl$col) : is.na() applied to non-(list or vector) of type 'NULL' 3: In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL' 4: In is.na(tbl$col) : is.na() applied to non-(list or vector) of type 'NULL'
問題是山坳的(非)評價,當你使用'$'(見' '$''或' '[''的資格嗎?細節),即R正在尋找名爲「col」而不是「f」和「g」的列。但是你可以用'tbl [[col]] [is.na(tbl [[col]])] -(tbl [[col]],na.rm = TRUE)來替換函數中的第四行。 ' –
rawr
2014-09-30 18:12:50