2016-07-20 3 views
-1

Я хочу импортировать 50 xlsx-файлов в R, каждый из которых представляет собой индивидуальный фрейм данных, чтобы я мог индивидуально для цикла для последующего вычисления.r для цикла для импорта xlsx-файлов в отдельный фрейм данных

импорт:

1.name_input.xlsx 
2.name_input.xlsx 
3.name_input.xlsx 
4.name_input.xlsx 
. 
. 
. 
50.name_input.xlsx 



listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE) 

for (i in 1:length(listy)) { filename=listy[i] data=read.xls(file = i,header=TRUE) assign(x=filename,value = data)} 

Но это не работает, так что есть другие методы, чтобы решить эту проблему?

спасибо.

+0

Опечатка? Должен шаблон = "* .xlsx"? – Marichyasana

+0

Typo в этом посте. моя команда не работает. –

+0

@Marichyasana вы можете мне помочь? –

ответ

2

Вы можете использовать lapply() в сочетании с read_excel() из readxl пакет для чтения в каждом файле в списке файлов

require(readxl) 

listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE) 

all_data <- lapply(listy,read_excel) 

Полученный all_data объект будет представлять собой список, где каждый элемент списка соответствует к файл в listy