我有一种情况需要根据名称来修复多个数据帧,我遇到的问题是如何在名称不同时定义这些数据帧的绑定 -
例如,我的数据框的名称是:
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)))
}
其中*是一些带有不同字符数的变量字符串
答案 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))))
}