您好我写了一个函数,从与他们的平均每列推诿的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