Как я могу получить список фреймов данных на основе шаблона в середине имени фрейма данных? - PullRequest
1 голос
/ 10 апреля 2019

У меня есть много фреймов данных с одинаковыми именами, и я хочу поместить их в список.

Фреймы данных имеют имена, такие как "df1b", "df10b", "df273b" и так далее. Средняя часть имени фрейма данных всегда состоит из цифр.

У меня есть частичное решение, но оно некорректно. Я хочу, чтобы список состоял из всех фреймов данных, начинающихся с "df" и заканчивающихся "b". Я пробовал это решение.

list <- mget(ls(pattern = "df.b"))

Однако это решение работает только для имен с одной цифрой между "df" и "b". Как я могу изменить код для работы с любым количеством числовых символов от "df" до "b"?

Ответы [ 3 ]

5 голосов
/ 10 апреля 2019

Вы можете попробовать

list_df <- mget(ls(pattern = "^df\\d+b$"))

При этом все объекты, которые начинаются с df, имеют число между ними и заканчиваются b.

2 голосов
/ 10 апреля 2019

Попробуйте:

list <- mget(ls(pattern = "df.*b"))
2 голосов
/ 10 апреля 2019

Попробуйте это:

list <- mget(ls(pattern = "^df[0-9]+b$"))

Обратите внимание, что pattern содержит регулярное выражение:

  • ^df означает, что вам нужны элементы, начинающиеся с df.
  • [0-9]+ означает, что должна быть хотя бы одна цифра (+ означает «один или несколько»)
  • b$ означает, что оно должно заканчиваться b.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...