合并数据帧列表,每个作为一个因子 R

Merging list of data frames, each as a factor R

所以我有一个包含 20 个数据帧的列表。每个数据框代表一年(1980-2000),我想将我所有的数据框合并成一个,但有一列代表每个数据框的年份,所以我可以继续按时间操作。所有数据框在列表中都具有相同的列名。所以合并应该不难,但我需要识别每个数据框。

Example:
list of data frames
df1  <- Name2000
df2  <- Name1999
.
.
.
df20 <- Name1980

我在找什么

TotalDF:

x1 x2 x3 new_var
x  x  x  2000
x  x  x  2000
x  x  x  1999
x  x  x  1999
.  .  .  . 
.  .  .  . 
x  x  x  1980

我得到了我的数据帧列表:

filenames <- list.files(path="C:/Users/clint/Documents/R/Personal 
work/Fires/rain/", full.names=TRUE)

All <- lapply(filenames,function(i){
  i <- paste("",i,sep="")
  read.csv(i, header=FALSE)
})
filenames <- gsub("-",".",filenames)
names(All) <- gsub(".csv","",filenames)

额外参考,

dplyr::bind_rows([list], .id='year')

假设您已经按年份命名了列表元素,这可能是最简单的方法。