Ваш запрос не совсем понятен. Поэтому два решения. Начало одинаково для любого решения. Предположим, у вас есть эти четыре кадра данных:
df1x <- data.frame(v1 = rnorm(50),
v2 = runif(50))
df2x <- data.frame(v3 = rnorm(60),
v4 = runif(60))
df3x <- data.frame(v1 = rnorm(50),
v2 = runif(50))
df4x <- data.frame(v3 = rnorm(60),
v4 = runif(60))
Предположим, что в дальнейшем вы собираете их в список, что-то похожее на ваши data2016
, используя mget
и ls
и описывает шаблон для их соответствия:
my_list <- mget(ls(pattern = "^df\\d+x$"))
Имена данных в этом списке следующие:
names(my_list)
[1] "df1x" "df2x" "df3x" "df4x"
Решение 1 :
Предположим, вы хотите изменить имена фреймов данных таким образом:
new_names <- c("june2016", "july2016","aug2016", "sep2016")
Тогда вы можете просто присвоить new_names
names(my_list)
:
names(my_list) <- new_names
И результат:
names(my_list)
[1] "june2016" "july2016" "aug2016" "sep2016"
Решение 2 :
Вы хотите добавить new_names
буквально в качестве суффиксов к «старым» именам, в этом случае вы бы используйте paste
или paste0
таким образом:
names(my_list) <- paste0(names(my_list), "_", new_names)
И результат:
names(my_list)
[1] "df1x_june2016" "df2x_july2016" "df3x_aug2016" "df4x_sep2016"