2014-10-16 56 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