假设我有多个数据框都具有相同的矢量名称,我想cbind所有具有commmon模式的数据框。所以对于这3个数据框:
test
我想df.1 <- data.frame(column1 = factor(sample(c("Male","Female"), 10, replace=TRUE)),
speed=runif(10))
df.2 <- data.frame(column1 = factor(sample(c("Male","Female"), 10, replace=TRUE)),
speed=runif(10))
df.3 <- data.frame(column1 = factor(sample(c("Male","Female"), 10, replace=TRUE)),
speed = runif(10))
使用常见模式“df。*”
我尝试创建一个列表,然后使用以下方法创建一个数据框:
rbind
然而,这仅产生一个6列的数据帧,有效地整理了整个事物,而不是重新绑定。
答案 0 :(得分:8)
我们可以将ls
与mget
library(data.table)
rbindlist(mget(ls(pattern = "^df\\.\\d+")))
或dplyr
library(dplyr)
mget(ls(pattern="^df\\.\\d+")) %>%
bind_rows()
或rbind
base R
do.call(rbind, mget(ls(pattern="^df\\.\\d+")))
答案 1 :(得分:1)
您可以尝试:
new_df <- do.call("rbind",mget(ls(pattern = "^df.*")))