У меня есть много фреймов данных с одинаковыми именами, и я хочу поместить их в список.
Кадры данных имеют такие имена, как «df1b», «df10b», «df273b» и т. д. Средняя часть имени фрейма данных всегда состоит из цифр.
У меня есть частичное решение, но оно ошибочно. Я хочу, чтобы список состоял из всех фреймов данных, начиная с «df» и заканчивая «b». Я пробовал это решение.
list <- mget(ls(pattern = "df.b"))
Однако это решение работает только для имен с одной цифрой между «df» и «b». Как я могу изменить код для работы с любым количеством числовых символов между «df» и «b»?
Вы могли бы попробовать
list_df <- mget(ls(pattern = "^df\\d+b$"))
Это позволит получить все объекты, которые начинаются с df
, имеют число между ними и заканчиваются на b
.
Попробуй это:
list <- mget(ls(pattern = "^df[0-9]+b$"))
Обратите внимание, что pattern
содержит регулярное выражение:
^df
означает, что вам нужны элементы, начинающиеся с df.[0-9]+
означает, что должна быть хотя бы одна цифра (+
означает «одна или несколько»)b$
означает, что оно должно заканчиваться на b
.Пытаться:
list <- mget(ls(pattern = "df.*b"))