鏈接,CSV文件的ZIP我使用:R:當串聯CSV文件,並獲得平均1個可變我得到正確的答案1個文件,但不正確的序列
https://d396qusza40orc.cloudfront.net/rprog%2Fdata%2Fspecdata.zip
代碼:
getpollutant <- function(id=1:332, directory, pollutant) {
data<-NULL
for (i in 1:length(id)) {
data[[i]]<- c(paste(directory, "/",formatC(id[i], width=3, flag=0),".csv",sep=""))
}
df<-NULL
for (d in 1:length(data)) { df[[d]]<-c(read.csv(data[d]))
}
m<-NULL
for (i in 1:length(df)) {
if (pollutant=="nitrate"){
m<-mean(df[[i]]$nitrate, na.rm=T)
}
if (pollutant=="sulfate"){
m<-mean(df[[i]]$sulfate, na.rm=T)
}
}
m
}
當我使用getpollutant計算1個文件的污染物意味着硝酸鹽或硫酸鹽我得到正確的答案,但這麼當我嘗試輸入文件序列時,我的理由是我的意思太高了,我有一種感覺,它與NA值的處理方式有關,但我無法找到一種方法將NA值包含在平均值中計算
如果您希望包含NA值,請首先編寫一個新的數據幀,您可以用0代替NA值,例如, 'df $硝酸鹽[is.na(df $硝酸鹽)] < - 0'。 – Alex