Я недавно скачал R (поэтому должна быть последняя версия). Я пытаюсь создать функцию (corr
), которая считывает несколько CSV-файлов из каталога, содержащего данные о загрязнителях, и использует полные случаи в каждом файле, чтобы вернуть корреляцию между столбцами «сульфат» и «нитрат». Также используется пороговое значение для минимального количества завершенных дел.
Функция corr создается без ошибок, но когда я пытаюсь ее использовать (попробуйте запустить нижнюю строку кода), я получаю сообщение об ошибке:
Ошибка в list.files (directory, pattern = ".csv", full.names = TRUE):
неверный аргумент "путь"
Ниже приведен код, который я пытаюсь:
corr <- function(directory, threshold = 0) {
filenames3 <- list.files(directory, pattern = ".csv", full.names = TRUE)
loop_length <- length(filenames3)
correlation_values <- numeric()
for(i in loop_length) {
read_in_data3 <- read.csv(filenames3[i])
complete_boolean <- complete.cases(read_in_data3)
nobs2 <- sum(complete_boolean)
data_rmNA <- read_in_data3[complete_boolean,]
if(nobs2 > threshold) {
correlation_values <- c(correlation_values,
cor(data_rmNA[["sulfate"]],
data_rmNA[["nitrate"]]))
}
}
correlation_values
}
corr("C:/Users/Danie/OneDrive/Documents/R/specdata")
Я новичок в R, так что это может быть основной ошибкой. Рабочий каталог такой же, как в последней строке кода, и содержит все файлы данных CSV. Если я поставлю path=directory
в первой строке кода, то ошибка изменится на:
Ошибка в list.files (directory, pattern = ".csv", full.names = TRUE):
объект 'каталог' не найден
Я не понимаю этого, поскольку каталог указан в качестве аргумента в corr.
Действительно застрял на этом и, похоже, не делает никакого прогресса. Заранее спасибо за любую помощь!
Ps. Первый пост, дайте мне знать, если есть какие-то правила этикета, которые я пропустил.