因此,我在R中创建了一个循环,该循环读取名为"specdata“的目录中的多个csv文件,然后告诉您这些文件中公共的特定列的含义。此函数在下一个解析图中表示。您指定的参数是这些文件所在的目录、要计算的列和id序列,id序列告诉您要读取多少文件,具体取决于表示的对象编号。
我之前对这个函数做了一个查询,它被解决了,现在,它工作了,并给出了结果。但它给出了一个错误的值,它总是给出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。
发布于 2018-06-01 06:17:10
由于缺乏样本数据/代码,很难提供更具体的帮助,但我认为您的代码存在一些问题。
for
循环中重复list.file
。for
循环,这样做会更快。归档<- list.files(目录,full.names = TRUE)数据卷<- do.call(rbind,lapply(归档,read.csv))
PS。要获得最大的帮助,最好总是提供一个minimal & reproducible example including sample data。
https://stackoverflow.com/questions/50633475
复制相似问题