基于阅读 documentation的 dplyr::pull
并检查示例,我的印象是 var
参数应该是“裸列名称”。例如:
dplyr::pull(mtcars, cyl)
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
但是,我刚刚意识到引用的列名也有效:
dplyr::pull(mtcars, "cyl")
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
我只是好奇这两种风格是否有什么区别。此外,将第二个选项用于非交互式使用(例如 R 包开发)是否有任何缺点。
在这些示例中,我使用了 dplyr 的 0.7.4 版。
谢谢
最佳答案
pull
电话select_var
使用 quasiquotation评估或不评估参数并最终从数据中返回一个列名。这允许以支持交互式和编程使用的灵活方式指定列。
a <- "cyl"
select_var(names(mtcars), a)
[1] "cyl"
pull(mtcars,a)
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
关于r - dplyr::pull 以裸字符串或带引号的字符串作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48749226/