将列合并为一个向量时遇到麻烦

时间:2019-06-07 00:01:11

标签: r for-loop vector multiple-columns

我正在尝试将n个csv表中的同一个命名列合并为一个向量,然后我可以求出向量的平均值并得到一个值。

相反,似乎我得到了一个数值向量的向量(我们称其为Lo)。因此,当我在Lo上调用均值函数时,我得到了每个单独列的均值。

下面是响应(1)中所述的代码

p <- list.files(getwd(), full.names = TRUE)[1:10] 
Re <- c()

for(i in p) {
  Lo <- read.csv(i, header = TRUE)
  Zo <- na.omit(Lo$sulfate)
  An <- c(Re, Zo)
  print(mean(An)
}

我没有收到错误消息。我应该只获得一个平均值,但相反,我获得了每张纸的$ sulfate列的平均值。

#[1] 3.880701
#[1] 4.460811
#[1] 4.327613
#[1] 4.214956
#[1] 4.210072
#[1] 4.102132
#[1] 3.820059
#[1] 4.781354
#[1] 3.645644
#[1] 0.6243649

1 个答案:

答案 0 :(得分:1)

不能完全确定这是您要寻找的东西,但是像这样吗?

p <- list.files(getwd(), full.names = TRUE)[1:10]
Re <- c()
vector_list <- list()
for(i in p) {
    Lo <- read.csv(i, header = TRUE)
    Zo <- na.omit(Lo$sulfate)
    An <- c(Re, Zo)
    vector_list[[i]] <- An
    }

mean(unlist(vector_list))