dplyr::使用裸字符串或带引号的字符串作为参数进行pull?
通过阅读dplyr::使用裸字符串或带引号的字符串作为参数进行pull?,r,dplyr,R,Dplyr,通过阅读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
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
callsselect\u var
,它用于计算或不计算参数,并最终从数据中返回列名。这允许以支持交互和编程使用的灵活方式指定列
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
a您指的是哪个版本的dplyr
?我这样问是因为现在使用tidyselect
@RolandASc的情况看起来有点不同。很抱歉,我应该在原来的帖子中提到这一点。我使用的是0.7.4版。