合并数据帧列表,每个作为一个因子 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')
假设您已经按年份命名了列表元素,这可能是最简单的方法。
所以我有一个包含 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')
假设您已经按年份命名了列表元素,这可能是最简单的方法。