因此,我正在参加Coursera R编程课程,并尝试为第二周的第三次作业编写函数。我知道很多人已经将有关此作业的答案在线发布,但是我尝试编写自己的答案,无法弄清楚为什么会出错。如果有人可以提出自己的意见,那将是很好。
该功能应该“获取数据文件的目录和完整案例的阈值,并为监视器位置(每个监视器在单独的csv文件中编码)计算硫酸盐和硝酸盐(两个不同的列)之间的相关性。完全观察到的案例数(在所有变量上)都大于阈值。该函数应返回满足阈值要求的监视器的相关矢量;如果没有监视器满足阈值要求,则该函数应返回一个数值矢量长度为0。”
我将函数编写为:
size_t target = 0;
for (size_t idx = 0; idx < v.size(); idx++) {
if (should_delete(v[idx]))
delete v[idx];
else
v[target++] = v[idx];
}
v.resize(target);
当我尝试来源时,它说:
source(“ corr.R”)中的错误:corr.R:10:8:意外符号
9:
10:如果相加
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))
}
}
}
所以,我不知道使用sum函数有什么问题。非常感谢!