correlations函数给出一个错误:未使用的参数

时间:2014-11-17 19:58:52

标签: r function correlation

作为R编程类的赋值,我必须编写一个函数,它接受数据文件目录和完整案例的阈值,并计算每个文件中两列(硫酸盐和硝酸盐)之间的相关性,其中完全观察到的病例大于阈值。该函数应返回满足阈值要求的监视器的相关向量

我在MACOSX 10.9.5上运行R版本3.1.1(通过R studio) 这是我的代码

corr <- function(directory, threshold = 0) {
        filenames <- list.files(directory, pattern = "*.csv", full.names = TRUE)
        cors <- numeric()
        for (i in seq_along(filenames)) {
            tempDF <- read.csv(filenames[i])
                if(nrow(tempDF[complete.cases(tempDF),]) > threshold){
                j <- length(cors) + 1
                    cors[j] <- cor(tempDF$sulfate, tempDF$nitrate, use = "na.or.complete")
                        }    
        }
        return(cors)
}

代码的预期输出如下:

cr <- corr("specdata", 150) 
head(cr) 
[1] -0.01895754 -0.14051254 -0.04389737 -0.06815956 -0.12350667 -0.07588814

然而,当我在我的代码上运行cr时,我收到错误:

Error in cor(tempDF$sulfate, tempDF$nitrate, use = "na.or.complete") : unused argument (use = "na.or.complete") 

我尝试了各种各样的工作但无济于事。将na.or.complete替换为na.rmcomplete.cases会产生相同的错误。一些建议将非常感谢! 运行args(cor)输出:function(directory,threshold = 0)NULL

1 个答案:

答案 0 :(得分:1)

函数cor中没有名为na.rm的参数。您应该将代码替换为:

use = "complete.obs"