如何在选择的列上使用 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
需要您提供的向量。
此代码采用数据框并将 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
需要您提供的向量。