nic*_*ten 5 r ggplot2 magrittr
我不明白.以下代码在做什么或在哪里可以找到它的文档:
library(tidyverse)
ggplot(iris) + 
  geom_point(
    aes(x=Sepal.Length, y=Sepal.Width), 
    data = . %>% filter(Species == 'setosa')
  )
这似乎与 dplyr 句点字符“是什么”中描述的用法完全不同。参考?其中.没有出现在最左边的位置。
这里的文档只是说
带有点 (.) 作为 LHS 的管道将创建一个一元函数。这用于定义聚合器函数。
但这对我来说并不清楚,我希望获得更多信息。
这里的混乱实际上可能来自两个地方。
首先,是的,. %>% something()语法创建了一个带有一个参数的“一元”函数。所以:
. %>% filter(Species == 'setosa')
相当于
function(.) filter(., Species == 'setosa')
这里的第二部分是ggplot2层实际上可以将函数作为参数data。来自例如?geom_point:
该层要显示的数据。有以下三种选择:
...
将使用单个参数(绘图数据)调用函数。返回值必须是一个data.frame,并将用作图层数据。
因此,传递给的函数geom_point将始终应用于默认绘图数据(即在 中定义的数据ggplot())。
.请注意,您链接的问题涉及in的使用funs(),这与其此处的使用没有直接关系。
| 归档时间: | 
 | 
| 查看次数: | 556 次 | 
| 最近记录: |