2012-05-21 2 views
2

동일한 이름의 텍스트 파일 (탭 구분 기호)이 포함 된 네 개의 폴더가 있는데이 텍스트 파일을 모두 data.frame으로 가져 오려고합니다. 예를 들면 : 나는 개별적으로 모든 파일을 가져올 필요없이이 변수를 생성하는 루프 또는 다른 기능을 사용하는 바라고 있지만여러 텍스트 파일을 가져 오기 R

TopFolder = "G:\\University" 
SubFolder = list.files(TopFolder) 
#find the name of the folders in the current directory 
DateTime = rbind(read.table(paste(TopFolder,SubFolder[1],"Data.txt",sep = "\\"),sep="\t"), 
       read.table(paste(TopFolder,SubFolder[2],"Data.txt",sep = "\\"),sep="\t"), 
       read.table(paste(TopFolder,SubFolder[3],"Data.txt",sep = "\\"),sep="\t"), 
       read.table(paste(TopFolder,SubFolder[4],"Data.txt",sep = "\\"),sep="\t")) 

이 예제는 잘 작동합니다. 누구든지 어떤 제안이 있습니까?

답변

4

어때?

lf = list.files(path = "G:\\University", pattern = "Data.txt", 
       full.names = TRUE, recursive = TRUE, include.dirs = TRUE) 

library(plyr) 
DateTime = ldply(lf, read.table, sep = "\t") 
+0

위대한 작품입니다. 여러 텍스트 파일을 가져 오려면 어떻게 변경 될 수 있습니까? Data.txt를 처음 가져오고 싶지만 Data.txt와 같은 방식으로 (즉 다른 폴더에) 저장된 Data2.txt를 가져오고 싶다면 어떻게할까요? – user1407388

+0

'list.files'의 패턴을 적절한 정규 표현식으로 수정할 수 있습니다.'? regex' – baptiste