2016-07-20 2 views
-1

각각 50 개의 xlsx 파일을 R로 가져오고 싶습니다. 각 데이터 프레임은 개별 데이터 프레임이므로 다운 스트림 계산을 위해 루프를 개별적으로 수행 할 수 있습니다.r for 루프는 개별 데이터 프레임에서 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

오타 (typo)입니까? 패턴 = "* .xlsx"일까요? – Marichyasana

+0

이 게시물의 오타. 내 명령이 작동하지 않습니다. –

+0

@Marichyasana 당신은 나를 도울 수 있습니까? –

답변

2

당신은 파일 목록에서 각 파일에 읽을 수있는 readxl 패키지에서 read_excel()와 함께 lapply()을 사용할 수 있습니다

require(readxl) 

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

all_data <- lapply(listy,read_excel) 

각 목록 요소가에 해당하는 목록이 될 것입니다 결과 all_data 객체 파일명 : listy