rbind具有不同名称的数据帧

时间:2018-05-15 23:18:38

标签: r dplyr

我有一种情况需要根据名称来修复多个数据帧,我遇到的问题是如何在名称不同时定义这些数据帧的绑定 -

例如,我的数据框的名称是:

AB_0
AB_1
BCD_0
BCD_1

我想反对AB_0和BCD_0,以及AB_1和BCD_1 - 我的共同因素是我_之后的所有内容

我知道我可以使用strsplit,但我想要的就是:

for(i in 0:1){
    do.call("rbind", mget(sprintf("*_%d", i)))
}

其中*是一些带有不同字符数的变量字符串

1 个答案:

答案 0 :(得分:1)

这样的东西?

AB_0 <- data.frame(a=1, b=1)
AB_1 <- data.frame(a=2, b=2)
BCD_0 <- data.frame(a=3, b=3)
BCD_1 <- data.frame(a=4, b=4)


XX0 <- do.call("rbind", mget(ls(pattern = ".+_0")))
XX1 <- do.call("rbind", mget(ls(pattern = ".+_1")))

或自动使用列表:

XX <- list()

for (i in 0:1) {
  XX[[i+1]] <- do.call("rbind", mget(ls(pattern = paste0(".+_",i))))
}