我目前在Coursera上做R课程。第一个家庭作业给我带来了麻烦。以下是说明:
编写一个获取数据文件目录和阈值的函数 对于完整病例并计算硫酸盐和硫酸盐之间的相关性 硝酸盐用于监测位置,其中完全观察到的数量 case(在所有变量上)大于阈值。功能 应该返回符合的监视器的相关矢量 门槛要求。如果没有监视器满足阈值要求, 那么函数应该返回一个长度为0的数字向量。
我已经做了很长一段时间了,所以我不只是要求别人为我做作业。
这是我的R代码
corr <- function(directory, threshold = 0) {
files_list <- list.files(directory, full.names=TRUE) #reads a directory of files
cor_vector <- vector(mode = "numeric", length = 0)
for(each in 1:332) {
tempdata <- read.csv(files_list[each])
tempdata_complete <- complete.cases(tempdata)
counter <- nrow(tempdata_complete)
if(counter>threshold) {
cor_vector <- cor(tempdata_complete[["nitrate"]], tempdata_complete[["sulfate"]])
}
}
return(cor_vector)
}
除了它是否实际上正在做我想要的,我收到此错误
Error in if (counter > threshold) { : argument is of length zero