【发布时间】:2019-06-04 10:46:31
【问题描述】:
过去,当使用数据框并希望将单列作为向量时,我会像这样使用magrittr::extract2():
mtcars %>%
mutate(wt_to_hp = wt/hp) %>%
extract2('wt_to_hp')
但我已经看到 dplyr::pull() 和 purrr::pluck() 也可以完成相同的工作:从数据框中返回单个向量,与 [[ 不同。
假设我总是为我从事的任何项目加载所有 3 个库,那么这 3 个函数各自的优势和用例是什么?或者更具体地说,它们之间的区别是什么?
【问题讨论】:
-
我会使用
[[。如果你喜欢你可以定义mypull <-[[`` 然后添加... %>% mypull('wt_to_hp') -
dplyr::pull(wt_to_hp)的优点是可以使用和不使用引号,这与其他两个不同。 -
当你有一个空的
data.frame()时,它们也会给出不同的结果(不知道这是否有用)..