Мы можем получить все объекты в list
с помощью mget
(при условии, что мы загружаем все объекты из рабочего пространства, и все они являются фреймами данных), а затем применить функцию
library(xts)
lst1 <- lapply(mget(ls()), f1)
ПРИМЕЧАНИЕ. В ls
мы также можем передать patterns
. Предположим, если объекты набора данных имеют имена «df1», «df2» и т. Д. c
lst1 <- lapply(mget(ls(pattern = '^df\\d+$')), f1)
Если мы действительно хотим создать несколько объектов, используйте list2env
(не рекомендуется)
names(lst1) <- paste0(names(lst1), '_new')
list2env(lst1, .GlobalEnv)
где
f1 <- function(x) { x$date <- as.Date(x$date)
xts(x[,2:3], order.by = x$date)
}