Я пытаюсь написать функцию, которая вернет среднее значение столбцов для нескольких CSV-файлов. Однако функция, кажется, застрял с моим средним расчетом, так как она возвращает NA
значения:Создание функции среднего значения, возвращающее сообщение об ошибке NAs
pollutantmean <- function(directory, pollutant, id = 1:332){
dy <- list.files("specdata", full.names = T)
df <- data.frame()
for(i in id){
rbind(df,read.csv(dy[i]))
}
if(pollutant == "nitrate"){mean(df$nitrate, na.rm = TRUE)}
if(pollutant == "sulfate"){mean(df$sulfate, na.rm = TRUE)}
}
Предложения по решению этой проблемы весьма признателен.
Вы, безусловно, можете найти полезные ссылки здесь: http://stackoverflow.com/search?tab=newest&q=[r]%20pollutantmean –
Я считаю, что поведение по умолчанию read.csv по умолчанию - игнорировать заголовок. Если он не получит имена, тогда он не будет знать, что такое df $ нитрат. Возможно, попробуйте добавить 'header = T' в часть read.csv? – goodtimeslim
@goodtimeslim Он получает 'header'. 'head (read.csv ('001.csv'), 2) # Дата сульфата нитрата ID 1 2003-01-01 NA NA 1 2 2003-01-02 NA NA 1' – akrun