library(purrr)
a <- list(Header = 1, Body = 1)
b <- list(Header = 3, Body = 2)
Полагаю, вы намереваетесь изменить глобальные переменные на purrr::walk
. Вот вариант работы символа "<<-"
:
c("a", "b") %>%
walk(~ eval(parse(text = paste0("names(", ., ")<<-tolower(names(", ., "))"))))
Кроме того, вы можете использовать assign(..., pos = 1)
для изменения глобальных переменных.
list(a = a, b = b) %>%
iwalk(~ assign(.y, set_names(.x, tolower(names(.x))), pos = 1))
Чек
a
# $header
# [1] 1
#
# $body
# [1] 1
b
# $header
# [1] 3
#
# $body
# [1] 2