У меня есть список из 17 фреймов данных и список из 17 дат. Они упорядочены и соответствуют друг другу. Другими словами, list_of_dfs[[1]]
соответствует dates[[1]]
и так далее. Список дат, приведенный ниже, является объектами даты, использующими lubridate::ymd
.
> dates
[1] "2004-10-10" "2005-10-10" "2006-10-10" "2007-10-10" "2008-10-10" "2009-10-10" "2010-10-10" "2011-10-10" "2012-10-10" "2013-10-10" "2014-10-10" "2015-10-10" "2016-10-10" "2017-10-10"
[15] "2018-10-10" "2019-10-10" "2020-10-10"
. Я хотел бы изменить подмножество переменных в каждом кадре данных так, чтобы я вычитал подмножество из соответствующего объекта в * 1007. *. Например, я мог бы сделать следующее для первого элемента:
list_of_dfs[[1]] <- list_of_dfs[[1]] %>% `
mutate_at(.vars = vars(contains('string')),
.funs = funs(dates[[1]] - .)
Есть ли способ, которым я включил вышеупомянутое в map
или lapply
подобную команду, которая позволит мне выполнять итерации по dates
?
Моя аппроксимация шкафа будет выглядеть примерно так:
list_of_dfs <- list_of_dfs %>%
map(., function(x) mutate_at(x,
.vars = vars(contains('string')),
.funs = funs(dates - .)))
, которая не может принять объект списка в .funs
, как показано выше.