2014-10-16 5 views
1

데이터 쉼표로 구분 된 여러 개의 .txt 파일이 있습니다. 헤더가 없습니다. 각각에는 동일한 정보가 포함되어 있지만 이름, 성별 및 이름의 수에 따라 다릅니다.r에 여러 파일 읽기, 열 이름 없음

나는 하나 rbind 괜찮에 그들 모두를 읽을 수 있지만 올해의 정보가 손실 - 연도를 파일 이름 만 ... y1920.txt, y1995.txt, y2002.txt 등등에 포함되어 있습니다.

내가 그들 rbind에 R.

아주 새로운 오전, 나는 파일이 data.frame의 목록입니다 do.call(file, rbind)을 사용했다.

답변

2

Plyr이 파일은 현재 작업 디렉토리에있는 가정, 이것에 대한 좋은 흐름을 가지고

library(plyr) 
years <- ldply(list.files(pattern="y\\d{4}\\.txt"), 
       function(file){ 
       data <- read.csv(file, header=F); 
       data$date <- gsub("y","",gsub("\\.txt","", file)); 
       data}) 

대신, 예를 들어, 귀하의 파일을 지정하려면 files <- c("y1995.txt", "y1996.txt") 인 경우 ldply (list.files(...))의 첫 번째 인수를 files으로 바꿀 수 있습니다.

+0

+1 매우 좋습니다. 본질적으로'for' 루프와 같지만'rbind' 섹션을 건너 뜁니다 ('data.table's에 있으면'rbindlist'). – ilir

+0

고마워요. 그것은 나를 위해 일했다. – Brockagh