采用 。 geoms 中的符号

Use . notation inside geoms

我想使用 .在我的 geom 中使用原始数据框的符号(因为有时我没有在小变量中定义它)。 以下不起作用:

iris %>% ggplot(aes(Sepal.Length, Sepal.Width)) + geom_point(data = subset(.,Sepal.Length < 6))

Error in subset(., Sepal.Length < 6) : object '.' not found

我想要。指向虹膜。

不幸的是,由于 %>% 计算其右侧的方式,我不认为它有一个优雅的解决方案。但是,以下工作:

iris %>% {
    ggplot(., aes(Sepal.Length, Sepal.Width)) +
        geom_point(data = filter(., Sepal.Length < 6))
}

请注意,使用此表示法,您需要明确指定 . 作为每个使用它的函数的第一个参数,包括 ggplot.