Объединение списка фреймов данных, каждый как фактор 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)

person Clinton Woods    schedule 29.10.2017    source источник
comment
@Abdou, пожалуйста, не забудьте добавить точку с запятой, когда публикуете многострочный код в комментариях.   -  person r2evans    schedule 29.10.2017
comment
Ну это решило проблему. большое спасибо за быстрое исправление.   -  person Clinton Woods    schedule 29.10.2017
comment
@r2evans, спасибо за подсказку. За внутренними точками с запятой трудно уследить.   -  person Abdou    schedule 29.10.2017
comment
Другие возможные дубликаты: stackoverflow.com/a/42822251/3817004, stackoverflow.com/a/38857332/3817004   -  person Uwe    schedule 30.10.2017


Ответы (1)


Для дополнительной справки,

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

вероятно, самый простой способ, если вы уже назвали элементы списка по годам.

person Jul    schedule 29.10.2017