R выдает ошибку при попытке использовать функцию «sum» после выражения «if» (назначение курса Coursera R неделя-2) - PullRequest
0 голосов
/ 11 февраля 2019

Итак, я беру курс Coursera R Programming и пытаюсь написать функцию для 3-го задания на 2-й неделе.Я знаю, что многие люди уже разместили свои ответы на это задание в Интернете, но я попытался написать свой собственный, и не могу понять, почему я получаю ошибку.Было бы здорово, если бы кто-то мог высказать свое мнение.

Предполагается, что эта функция "берет каталог файлов данных и пороговое значение для завершенных случаев и вычисляет соотношение между сульфатом и нитратом (два разных столбца) для местоположений монитора (каждый монитор закодирован в отдельном файле 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: если сумма

       ^

Итак, я не могу понять, в чем проблема с использованием суммыфункция.Большое спасибо!

...