如何在选择的列上使用 map_df()?

How to use map_df() on a selection of columns?

此代码采用数据框并将 prettyNum-Function 应用于每个列:

test <- mtcars %>%  map_df(., ~prettyNum(.,big.mark = ".", decimal.mark = ","))

不,我想 select 指定给函数的列,但我不明白代码必须是怎样的。这是我最好的猜测:

test <- mtcars %>%  map_df(., ~mutate_at(.vars = vars(drat,wt), .funs = prettyNum(.,big.mark = ".", decimal.mark = ",")))

我怎样才能让第二个代码起作用?

此任务不需要使用 purrr::map_df:

dplyr::mutate_all(mtcars, prettyNum, big.mark = ".", decimal.mark = ",")

dplyr::mutate_at(mtcars, .vars = vars(drat, wt), prettyNum, big.mark = ".", decimal.mark = ",")

以上不起作用,因为 purrr 用于列表。数据框是大小相等的向量列表。使用 purrr::map_df 将您的数据框分开并将向量传递给 dplyr::mutate_at,但它需要一个数据框。这也是它在第一个示例中起作用的原因:prettyNum 需要您提供的向量。