Mis*_*caE 26 naming r tidyverse
为什么dplyr::one_of()叫那个?所有其他select_helpers名字对我来说都是有道理的,所以我想知道是否有一个one_of()我不理解的方面.
我的理解one_of()是它只是让你使用它们的名字的字符向量来选择变量,而不是将它们的名字放入select()调用中,但是你得到名字在向量中的所有变量,而不仅仅是其中一个.这是错的,如果它是正确的,名称one_of()来自哪里?
CPa*_*Pak 24
one_of 允许猜测或子集匹配
假设我一般都知道我的列名将来自c("mpg","cyl","garbage")但我不知道由于交互性/反应性将出现哪些列
mtcars %>% select(one_of(c("mpg","cyl","garbage")))
Run Code Online (Sandbox Code Playgroud)
评估但提供消息
Warning message:
Unknown variables: `garbage`
Run Code Online (Sandbox Code Playgroud)
相反
mtcars %>% select(mpg, cyl, garbage)
Run Code Online (Sandbox Code Playgroud)
不评估并给出错误
Error in overscope_eval_next(overscope, expr) :
object 'garbage' not found
Run Code Online (Sandbox Code Playgroud)
Sho*_*rpy 20
我想到的方式是select()最终评估逻辑向量.因此,如果您使用starts_with它,则会遍历数据框中的变量,并询问变量名称是否以正确的字符集开头.one_of做同样的事情,但询问变量名是否是字符向量中列出的名称之一.但正如他们所说,命名事情很难!
小智 5
其名称的原因似乎是它允许您至少查找向量中包含的变量之一。
例如:
select(flights, dep, arr_delay, sched_dep_time)不起作用,因为变量“dep”不存在。它不会产生任何结果。
select(flights, one_of(c("dep", "arr_delay", "sched_dep_time")))即使变量“dep”不存在,也会起作用。在这种情况下,将显示“arr_delay”和“sched_dep_time”。
助手应该被理解为:至少one_of()会显示变量:)
| 归档时间: |
|
| 查看次数: |
9740 次 |
| 最近记录: |