因此,我正在参加 Coursera R 编程课程并尝试为第 2 周的第 3 次作业编写函数。我知道很多人已经将这个作业的答案放到了网上,但我试着自己写,但不知道为什么会出错。如果有人能提供他们的意见,那就太好了。
该函数应该“获取数据文件目录和完整案例的阈值,并计算监测位置(每个监测器编码在单独的 csv 文件中)的硫酸盐和硝酸盐(两个不同的列)之间的相关性,其中完全观察到的案例(所有变量)大于阈值。函数应返回满足阈值要求的监视器的相关向量。如果没有监视器满足阈值要求,则函数应返回长度为 0 的数值向量。 "
我将函数写为:
corr<-function(directory,threshold=0) {
directory<-getwd()
fileList<-list.files(pattern=".csv", full.names = TRUE)
for (i in 1:332) {
file<-read.csv(fileList[i])
sulf<-file[["sulfate"]]
nitr<-file[["nitrate"]]
if (sum(complete.cases(nitr&sulf)) < threshold) {
return(numeric())
}else {
return(cor(nitr,sulf))
}
}
}
当我尝试获取此信息时,它说:
源错误(“corr.R”):corr.R:10:8:意外符号
9:
10:如果总和
^
所以,我无法弄清楚使用 sum 函数有什么问题。非常感谢!