2014-10-16 58 views
1

我有一些.txt文件,數據逗號分開。沒有標題。每個都包含相同的信息,但不同年份:姓名,性別和姓名的數量。將多個文件讀入r,沒有列名

我可以用一個rbind好讀他們都在,但我失去了年度信息 - 今年僅包含文件名... y1920.txty1995.txty2002.txt等。

我是很新的R.

rbind他們,我用do.call(file, rbind),其中文件是data.frame是清單。

回答

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"),則可以用files替代第一個參數爲ldplylist.files(...))。

+0

+1非常好。本質上與'for'循環相同,但是跳過'rbind'部分(或'rbindlist',如果你進入'data.table') – ilir 2014-10-16 10:37:56

+0

謝謝。這對我有效。 – Brockagh 2014-10-18 21:58:47