% dplyr-6ren">
gpt4 book ai didi

r - 将 plyr::mapvalues 与 dplyr 一起使用

转载 作者:行者123 更新时间:2023-12-01 20:03:24 25 4
gpt4 key购买 nike

plyr::mapvalues 可以这样使用:

mapvalues(mtcars$cyl, c(4, 6, 8), c("a", "b", "c"))

但这不起作用:

mtcars %>%
dplyr::select(cyl) %>%
mapvalues(c(4, 6, 8), c("a", "b", "c")) %>%
as.data.frame()

如何将 plyr::mapvaluesdplyr 一起使用?或者更好的是,dplyr 等效项是什么?

最佳答案

2020 更新: plyr 现在是一个“退役”软件包,其官方指南建议使用积极改进和维护的 dplyr 软件包。因此,最好仅使用 dplyr,在本例中为 dplyr::recode(),如 other answer 中所示。 ,并完全避免 plyr。

要将 plyr::mapvalues() 与 dplyr 一起使用:

要使用它并返回一列 data.frame:

mtcars %>%
transmute(cyl = plyr::mapvalues(cyl, c(4, 6, 8), c("a", "b", "c")))

或者,如果您想要单个矢量输出,就像在您的工作示例中一样,请使用pull:

mtcars %>%
pull(cyl) %>%
plyr::mapvalues(., c(4, 6, 8), c("a", "b", "c"))

如果您同时使用 dplyr 和 plyr,请参阅 dplyr readme 中的此说明:

You'll need to be a little careful if you load both plyr and dplyr atthe same time. I'd recommend loading plyr first, then dplyr, so thatthe faster dplyr functions come first in the search path. By andlarge, any function provided by both dplyr and plyr works in a similarway, although dplyr functions tend to be faster and more general.

但请注意,如果加载了 dplyr,则可以使用 plyr::mapvalues 调用 mapvalues,而无需加载 plyr。

关于r - 将 plyr::mapvalues 与 dplyr 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com