Я пытался применить пользовательскую функцию с помощью dplyr к списку элементов.Следующий фрагмент прекрасно работает с использованием цикла for:
df <- list(as_tibble(head(mtcars[, 1:2])), as_tibble(tail(mtcars[, 1:2])), as_tibble(mtcars[13:18, 1:2]))
for (d in seq_along(df)) {
df[[d]] <- df[[d]] %>% rename_all(toupper)
}
Согласно документации purrr, map
: «(…) применять функцию итеративно к каждому элементу списка или вектора», но выдает ошибку:
map(df, rename_all(toupper))
Error in UseMethod("tbl_vars") :
no applicable method for 'tbl_vars' applied to an object of class "function"
Я полагаю, что это возможно с помощью карты, но, очевидно, я что-то упускаю: /
Примечание: это близко к Переименовать столбцы Data.frame вlist , но я спрашивал, как это сделать, используя пакеты из tidyverse (конкретно purrr
), а не из базы R.