0
我有很多文本文件,按年命名,即yob1940.txt,yob1941.txt。每個文件都有3列數據。我試圖在單個數據表中將數據導入到R中,併爲第4列中的每個文件添加年份。
任何幫助將不勝感激。 感謝R,將多個文本文件名轉換爲列名
我有很多文本文件,按年命名,即yob1940.txt,yob1941.txt。每個文件都有3列數據。我試圖在單個數據表中將數據導入到R中,併爲第4列中的每個文件添加年份。
任何幫助將不勝感激。 感謝R,將多個文本文件名轉換爲列名
水木清華這樣將工作:
rbindlist(lapply(list.files(pattern = "yob[0-9]+\\.txt"),
function(x) data.table(year = sub('.*?([0-9]+).*', '\\1', x),
fread(x)))))
假定您已經閱讀這些文件作爲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
大量的有關問題這個。你需要函數list.files,do.call,sapply或lapply。不一定按這個順序。 :) –