所以,我在R中创建一个循环,读取名为“specdata”的目录中的多个csv文件,然后告诉你这些文件中特定列的平均值。此函数在下一个参数中表示,您指定的参数是这些文件所在的目录,您想要计算的列,以及ID序列,它根据de对象告诉您要读取多少个文件数字代表throudh子集[]
之前我对这个函数进行了查询,它已经解决了,现在,它可以工作,并给出了结果。但它给出了一个不正确的,它总是给NA或NAN,当它应该给出一个数字。
pollutantmean <- function(directory,pollutant,id) {
for (i in id) {archivo <- list.files(directory,full.names = TRUE)
datapollution <- rbind(read.csv(archivo[i],header = TRUE))
datamatrix <- data.matrix(datapollution)
resultmean <- mean(datamatrix[pollutant],na.rm = TRUE)}
print(resultmean)}
为什么不起作用?我的理论是,我正在适应rbind错误。
答案 0 :(得分:0)
由于缺少示例数据/代码,很难提供更具体的帮助,但我发现您的代码存在一些问题。
Formatting.None
循环中重复list.file
。 事实上,这里不需要for
循环,而且执行
for
PS。为了获得SO的最大帮助,最好提供minimal & reproducible example including sample data。