R在“ if”语句后尝试使用“ sum”函数时出错(Coursera R编程课程第二周作业)

时间:2019-02-11 18:33:55

标签: r function if-statement sum coursera-api

因此,我正在参加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函数有什么问题。非常感谢!

0 个答案:

没有答案