我一直在寻找答案,但仍然无法完全理解它们。例如,其中最清晰的一个 (这里),还有其他一些 (1,2,3) 提供了关于点的各种用法的具体示例,但我无法理解,例如,在此处的应用:
car_data <-
mtcars %>%
subset(hp > 100) %>%
aggregate(. ~ cyl, data = ., FUN = . %>% mean %>% round(2)) %>%
transform(kpl = mpg %>% multiply_by(0.4251)) %>%
print
#result:
cyl mpg disp hp drat wt qsec vs am gear carb kpl
1 4 25.90 108.0 111.0 3.94 2.15 17.75 1.00 1.00 4.50 2.00 11.010
2 6 19.74 183.3 122.3 3.59 3.12 17.98 0.57 0.43 3.86 3.43 8.391
3 8 15.10 353.1 209.2 3.23 4.00 16.77 0.00 0.14 3.29 3.50 6.419
以上代码摘自magrittr中%>%的解释,我试图理解管道运算符(我知道它会给出先前计算的结果,但当aggregate
代码行混合了.
和%>%
时,我就很迷惑了)。
所以,我无法理解上面的代码。我有结果(我将其放在上面)。但我不明白它是如何达到这个结果的,特别是在aggregate
代码行中,它使用了点和~
符号。我知道~
表示“其他所有变量”,但点号代表什么?它还有其他含义或应用吗?在特定函数内部使用管道操作符代表什么?
aggregate
调用中公式中.
的不同用法以及其在magrittr
包中使用方式。根据?formula
:“公式中 . 有两种特殊解释。通常的解释是在模型拟合函数的数据参数上下文中,表示‘除了公式中其他未列出的所有列’:参见terms.formula。只在update.formula的上下文中,它才意味着‘此前在公式的这个部分中的内容’。” - zack