Как объединить фреймы данных с соответствующими символами в имени объекта? - PullRequest
1 голос
/ 06 марта 2020

У меня есть несколько отдельных фреймов данных с именами, такими как day01_01_1of2, day01_01_2of2, day01_02_1of2 и др. c.

И я хочу создать условный оператор, который будет находить фреймы данных с совпадающими первыми символами (ie. day01_01) и связывать строки вместе. Я не могу найти способ сделать это.

Я могу управлять данными из списка в R: Изображение списков из Rstudio

или из отдельных фреймов данных в глобальной среде

ls()
 [1] "day01_01_1of2" "day01_01_2of2" "day01_02_1of2" "day01_02_2of2" "day01_03_1of2"
 [6] "day01_03_2of2" "day01_04_1of2" "day01_04_2of2" "day01_05_1of2" "day01_05_2of2"
[11] "day01_06_1of2" "day01_06_2of2" "day01_07_1of2" "day01_07_2of2" "day01_08_1of2"
[16] "day01_08_2of2" "day01_09_1of2" "day01_09_2of2" "day01_10_1of2" "day01_10_2of2"

Я ищу какие-либо решения, будь то в списке или вне списка.

Спасибо за любую помощь, которую вы можете оказать.

1 Ответ

1 голос
/ 06 марта 2020

Мы можем сделать разбиение вектора с подстрокой вектора

str1 <- ls()
lst1 <- split(str1, sub("_[^_]+$", "", str1))
lst2 <- lapply(lst1, function(x) do.call(rbind, mget(x, inherits = TRUE)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...