使用名称列表和粘贴功能的 Rbind 数据框
Rbind dataframes using list of names and paste function
我有几个数据框,它们的名称包含预定义值,如“x”。例如
x <- a1
我的数据框是这样的:emissions_BAU_x
、emissions_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 不存在的列表后出现错误。有没有更简单的方法可以将 paste
与 list
和 rbind
.
一起使用
我们可以用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_'))
我有几个数据框,它们的名称包含预定义值,如“x”。例如
x <- a1
我的数据框是这样的:emissions_BAU_x
、emissions_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 不存在的列表后出现错误。有没有更简单的方法可以将 paste
与 list
和 rbind
.
我们可以用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_'))