Проблема объединения столбцов в один вектор - PullRequest
1 голос
/ 07 июня 2019

Я пытаюсь объединить столбец с одинаковыми именами из 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)
}

Я не получаю сообщения об ошибках. Я должен получать только одно среднее значение, но вместо этого я получаю среднее значение для каждого столбца $ сульфата листа.

#[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 Ответ

1 голос
/ 07 июня 2019

Не совсем уверен, что это то, что вы ищете, но что-то вроде этого?

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...