我正在尝试编写一个函数,该函数从给定目录中的不同文件中读取一些污染数据,每个文件对应于监视器的记录,并返回作为该函数的输入参数给出的一种污染物的平均值。
数据如下所示:
pollutantmean <- function(directory, pollutant, ID){
pmean <- 0
for (monitor in ID){
filename <- paste("./W2/", directory,"/", monitor,'.csv', sep = "")
print(filename)
pollution <- read.csv(file = filename, header = TRUE, sep = ",")
class(pollution)
head(pollution, n = 3)
pmean <- pmean + mean(pollution$pollutant, na.rm = TRUE)
}
return(pmean)
}
要运行我设置的功能:
pollutantmean("specdata", "sulfate", 110:112)
我收到以下输出和错误消息:
[1] "./W2/specdata/110.csv"
[1] NA
Warning message:
In mean.default(pollution$pollutant, na.rm = TRUE) :
argument is not numeric or logical: returning NA
我的问题是:
好问题。如果使用的是RStudio,则可以使用browser()
命令将程序冻结在某个位置,以便可以查看环境。
请注意,它将在您每次敲击时停止,browser()
因此您可能需要在运行警告之前放入if语句来检测警告。并且,一旦完成,别忘了删除语句。
pollutantmean <- function(directory, pollutant, ID){
pmean <- 0
for (monitor in ID){
filename <- paste("./W2/", directory,"/", monitor,'.csv', sep = "")
print(filename)
pollution <- read.csv(file = filename, header = TRUE, sep = ",")
class(pollution)
head(pollution, n = 3)
pmean <- pmean + mean(pollution$pollutant, na.rm = TRUE)
# Stop here and view the current environment
browser()
}
return(pmean)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句