我不明白以下代码中的.在做什么或在哪里可以找到其文档:

library(tidyverse)

ggplot(iris) +
  geom_point(
    aes(x=Sepal.Length, y=Sepal.Width),
    data = . %>% filter(Species == 'setosa')
  )

这似乎与What does the dplyr period character "." reference?中描述的用法完全不同,在here中,.没有出现在最左侧的位置。

docs ojit_a只说



但这一点对我来说还不清楚,我希望获得更多信息。

最佳答案

实际上,这里的困惑可能来自两个地方。
首先,是的,. %>% something()语法创建了一个带有一个参数的“一元”函数。所以:

. %>% filter(Species == 'setosa')
相当于
function(.) filter(., Species == 'setosa')
这里的第二部分是ggplot2层实际上可以将函数用作其data参数。来自?geom_point:

因此,传递给geom_point的函数将始终应用于默认的绘图数据(即ggplot()中定义的数据)。
请注意,您的链接问题涉及.funs()的使用,这与此处的使用没有直接关系。

关于r - magrittr dot/period (".")运算符在管道的开头时会做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53436488/

10-15 23:27