rbind датафреймы с разными именами - PullRequest
0 голосов
/ 16 мая 2018

У меня есть ситуация, когда мне нужно привязать несколько фреймов данных на основе имени, у меня проблема в том, как определить связывание для этих фреймов данных, когда имена различаются -

Например, именамои фреймы данных:

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 голосов
/ 16 мая 2018

Как то так?

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))))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...