我已经使用R有一段时间了,但仍然不知道我在做什么,当它涉及到使用facet_wrap()
。考虑一下,例如:
ggplot(df, aes(x, y)) +
geom_bar(stat = "identity") +
facet_wrap(~ z)
它可以工作,但是每当我使用facet_wrap()
时,我最终只是尝试其参数应该如何格式化的不同排列。这是因为我不知道~
或.
在这些争论中意味着什么。
谁能简洁地描述一下这些东西是什么?
facet_grid
文档状态:
一个LHS上的行(表格显示)和RHS上的列(表格显示)的公式;公式中的圆点用于表示在这个维度(行或列)上不应该有切面。该公式也可以作为字符串提供,而不是经典公式对象
facet_wrap
docs state:
公式或字符向量。使用单面公式~a + b,或字符向量c("a", "b")。
两个帮助页面中的示例旨在说明发生了什么,但是您可以模拟自己的示例来查看差异。例如:
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"))
在我看来,这是与习语建立心理联系的最佳方式。