2013-06-26 3 views
3

Я попытался найти ответ на этот вопрос, но я мог только найти, как создавать отдельные кадры данных из файлов csv. У меня есть много файлов CSV в моем рабочем каталоге, и вместо того, чтобы назначать их отдельные кадры данных почитать файлы csv в список фреймов данных r

frame1 = read.csv(filepath) 

Я хотел бы их содержали в списке кадров данных, которые я мог бы делать операции. Для этого, очевидно, потребуется цикл над файлами в каталоге dir(), но я не уверен в синтаксисе. В java я бы сделал List.add() для каждого элемента.

Спасибо

ответ

7

Возможно, что-то вроде следующего.

my.path <- list("filepath1", "filepath2", "filepath3") 
my.data <- list() 
for (i in 1:length(my.path)){ 
    my.data[[i]] <- read.csv(my.path[[i]]) 
} 

my.data представляет собой список, содержащий кадры данных,

EDIT

Предыдущий ответ показывает, как динамически назначать элементы списка. Тем не менее, более компактный способ для достижения этой задачи будет

my.path <- list("filepath1", "filepath2", "filepath3") 
my.data <- lapply(my.path, read.csv) 
+0

ах спасибо за ответ, но я получаю количество элементов для замены не кратна длиной замены –

+0

Итак, пожалуйста, предоставьте воспроизводимый пример, который мог для обеспечения решения. – QuantIbex

+0

Я пробовал компактный путь, прежде чем увидел свое редактирование. То, как я это сделал. спасибо –