运行简单的代码以同时读取多个文件,并提取数据并收集数据。提取的第一个值是错误的(0),我已经手动检查了数据,要提取的第一个数据点将是7.21(第二个值),我似乎无法弄清楚第一个值是从哪里生成的。 >
我尝试手动进行操作,但是我的代码似乎有问题。
pollutantmean <- function(directory, pollutant, id = 1:332){
results <- vector('numeric', 1)
for (i in id){
if(i < 10){
path <- paste(directory, '/00', i, '.csv', sep = '')
data <- read.csv(path)
mn <- na.omit(data[[pollutant]])
results<- c(results, mn)
}
当我插入前两个参数和1:10(表示前十个文件)时,我得到11个结果。
[1] 0.0000 7.2100 5.9900 4.6800 3.4700 2.4200 1.4300 2.7600 3.4100 1.3000 3.1500
第一个值是意外的,我不知道它从哪里来。它使我卑鄙。 有人可以帮忙吗?谢谢
答案 0 :(得分:2)
在函数中,您首先初始化向量结果:
results <- vector('numeric', 1)
这将创建一个长度为1且向量为0的向量:
results
# [1] 0
现在,在读取数据和将结果for
附加到nm
向量的所有内容后,进入results
循环。为了可视化,我将结果设置为每个步骤的ID。
for (i in 1:10){
mn <- i
results <- c(results, mn)
}
因此,在循环的每个步骤中,我们都会在向量结果中添加一个条目,该条目的初始长度为1。
results
# [1] 0 1 2 3 4 5 6 7 8 9 10