Я пытаюсь написать функцию, которая берет каталог файлов данных и порог для полных случаев, и вычисляет корреляцию между сульфатом и нитратом для мест мониторинга, где количество полностью наблюдаемых случаев (по всем переменным) больше порога. Функция должна возвращать вектор корреляций для мониторов, отвечающих пороговому требованию. Если никакие мониторы не удовлетворяют пороговому требованию, функция должна возвращать числовой вектор длины 0. Существует несколько ошибок, поэтому я не упоминаю их здесь.Функция Cor в R, вызывающая ошибки
Файлы данных для кода здесь: https://d396qusza40orc.cloudfront.net/rprog%2Fdata%2Fspecdata.zip
Код
corr<-function(directory, threshold=0){
files.list=list.files(directory, full.names=TRUE, pattern=".csv")
comp.sum<-numeric()
num<-numeric()
for(i in 1:332){
data<-read.csv(files.list[i])
data.cor<-na.omit(data[,2:3])
comp.sum<-sum(data.cor)
if
{
comp.sum>threshold
cor.var<-cor(data.cor, use="all.obs")
}
else
{
num
}
}
cor.var
}
По крайней мере, существует условие для '' if''. Я думаю, что это случайно в скобках. – Phann