0

我有许多按年份命名的文本文件,即 yob1940.txt、yob1941.txt。每个文件有 3 列数据。我正在尝试将数据导入到 R 中的单个数据表中,并在第 4 列中为每个文件添加年份。
任何帮助将非常感激。谢谢

4

2 回答 2

0

假设您已将这些文件读取为 x1 和 x2

df.list<-list(x1,x2)
kk<-do.call(rbind,df.list)
year<-data.frame(rep(c(1940,1941),c(nrow(x1),nrow(x2))))
names(year)<-"year"
mydata<-data.frame(cbind(kk,year))

一个示例:

x1<-data.frame(x=c(1,3),y=c(2,3))
x2<-data.frame(x=c(3,3),y=c(2,2))
df.list<-list(x1,x2)
kk<-do.call(rbind,df.list)
year<-data.frame(rep(c(1940,1941),c(nrow(x1),nrow(x2))))
names(year)<-"year"
mydata<-data.frame(cbind(kk,year))

 mydata
  x y year
1 1 2 1940
2 3 3 1940
3 3 2 1941
4 3 2 1941
于 2013-10-10T15:16:28.657 回答
0

像这样的东西会起作用:

rbindlist(lapply(list.files(pattern = "yob[0-9]+\\.txt"),
                 function(x) data.table(year = sub('.*?([0-9]+).*', '\\1', x),
                                        fread(x)))))
于 2013-10-10T14:59:44.370 回答