做什么'〜'和'。'在facet_wrap()参数中指明

时间:2016-08-25 14:49:39

标签: r ggplot2 facet-wrap

我现在已经使用过一段时间了,但在使用facet_wrap()时我仍然不知道自己在做什么。考虑一下这个,例如:

ggplot(df, aes(x, y)) + 
    geom_bar(stat = "identity") + 
    facet_wrap(~ z)

它可以正常工作,但每当我使用facet_wrap()时,我最终只会尝试对其参数的格式进行不同的排列。这是因为我没有知道~.在这些参数中的含义。

有没有人对这些东西有简洁的描述?

1 个答案:

答案 0 :(得分:5)

facet_grid文档状态:

一个公式,其中包含LHS上的行(表格显示)和RHS上的列(表格显示);公式中的点用于表示此维度(行或列)上不应存在分面。公式也可以作为字符串而不是经典公式对象

提供

facet_wrap docs说:

公式或字符向量。使用单面公式,~a + b或字符向量c(" a"," b")。

两个帮助页面中的示例旨在说明正在进行的操作,但您可以模拟自己的示例以了解其中的差异。 e.g:

library(ggplot2)

gg <- ggplot(mtcars, aes(mpg, wt)) + geom_point()

gg + facet_wrap(~cyl)
gg + facet_wrap("cyl")

gg + facet_wrap(~gear)
gg + facet_wrap("gear")

gg + facet_wrap(gear~cyl)
gg + facet_wrap(c("gear", "cyl"))

gg + facet_wrap(cyl~gear)
gg + facet_wrap(c("cyl", "gear"))

这是与成语IMO精神联系的最好方式。