使用名称列表和粘贴功能的 Rbind 数据框

Rbind dataframes using list of names and paste function

我有几个数据框,它们的名称包含预定义值,如“x”。例如

x <- a1

我的数据框是这样的:emissions_BAU_xemissions_2C_x、...

我想在不使用模式的情况下使用 rbind 附加所有这些数据帧(因为我将更改 x 的值)。

如何定义一个列表,如:

list <- ls(paste("emissions_BAU_",x, sep=""), paste("emissions_2C_",x, sep=""))

然后使用

emissions <-do.call(rbind, setNames(list, NULL)) 

定义 emissions_BAU_a1 不存在的列表后出现错误。有没有更简单的方法可以将 pastelistrbind.

一起使用

我们可以用mget来return一个list

中元素的值
lst1 <- mget(paste0(c("emissions_BAU_", "emissions_2C_"), x))

现在使用 do.call

do.call(rbind, lst1)   

或者如果对象以 emissions 开头,请在 pattern 中指定 ls

ls1 <- mget(ls(pattern = '^emissions_'))