作为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.rm
或complete.cases
会产生相同的错误。一些建议将非常感谢!
运行args(cor)输出:function(directory,threshold = 0)NULL
答案 0 :(得分:1)
函数cor中没有名为na.rm
的参数。您应该将代码替换为:
use = "complete.obs"