无法从df列中删除NA。 R版本3.5.3(2019-03-11)

时间:2019-04-30 17:01:26

标签: r

我正在尝试在我的df中找到一列的平均值,而没有得到NA错误。但是,即使我声明na.rm = TRUE,我的控制台仍会发出如下警告消息: 1:在mean.default(inte,na.rm = TRUE)中:   参数不是数字或逻辑:返回NA

我尝试了$和[]等不同的列选择方法,但这似乎不是问题。我是一个初学者,但na.rm = TRUE不应删除所有NA值吗?

(就我而言,您会在第8行中发现问题)

pollutantmean <- function(directory,pollutant,id = 1:332){
        means <- c()
        for(i in id){
                x <- paste(getwd(), "/", directory, "/", sprintf("%03d", i), ".csv", sep = "")
                freem <- read.csv(x)
                inte <- freem$pollutant
                means[i] <- mean(inte, na.rm = TRUE)


        }
        mean(means)
}

我希望代码返回所选列的平均值,而没有任何NA

1 个答案:

答案 0 :(得分:0)

发现它涉及一个完全不同的问题:freem $ pollutant子集似乎属于“ closure”类。

会再次问这个问题,但表述更好。