ggplot内部变量的文档,特别是PANEL。

6
这个问题的答案使用了一个PANEL变量,似乎是ggplot内部使用的。但是在搜索ggplot文档Hadley Wickham的书时,我找不到任何相关参考。这是否有记录在案?
此外,查看stat_bin(...)的代码,显然创建了一个向量count(其中包含每个唯一xy计数?)。 这也可以在aes(...)中访问,但同样找不到文档。 所以我的问题是:是否有地方记录所有这些内部变量,还是必须查看代码?

1
我真的不建议以那种方式使用内部变量 - 有些东西没有记录下来是有原因的!(而且可能会在未来发生改变) - hadley
1
@hadley - 感谢您的评论。我之所以问PANEL,是因为它的使用似乎可以解决ggplot的一个主要问题——聚合函数不尊重镶嵌面中隐含的分组(请参见此问题)。通常的响应是创建辅助表格,并按细分变量进行分组,但上面链接的问题却克服了这个问题! - jlhoward
1
我强烈建议不要这样做。在ggplot之外进行聚合操作。 - hadley
2个回答

5
在ggplot2的帮助页面中,有一些令人惊讶的空缺(我认为?layer的帮助页面也存在这个问题,其他页面都会将用户引导至该页面)。这些“变量”已经存在多年了,但我在在线帮助或软件包NEWS中找不到太多相关信息。由于SO的搜索功能会去除前后点并显示所有内容中包含“count”的结果,因此并没有太大的帮助。只有在cran.r-project.org/web/packages/ggplot2/ggplot2.pdf中才能找到它们的使用示例。从上下文推断出,这些“变量”似乎不是特殊变量,而是组合函数和程序控制。这些参数隐式地转换了命名参数。尽管没有点,但?stat_bin {ggplot2}中似乎隐含提到了它们,并且似乎这四个统计变量函数都是同时计算的。
当我在你提供的pdf中搜索时,在57-58页找到了你要求的“统计”和“美学”表格(#4.3,4.4),但令我惊讶的是其中没有包含“count”。这些表格在描述“stats”的第4.7节中。
(我注意到在过去几年中,某些受到指责的页面已有所改进。)

谢谢。我会查看书中的第57-58页。只是为了明确,我所指的“count”不是..count..(在各种地方都有记录),而是实际的向量count [],它被用于上面链接问题的答案中。 - jlhoward
这可能是对由stat_bin构建的数据框的本地引用。起初我以为这是对plyr中的count函数的调用。(在我看来,这是糟糕的设计。) - IRTFM

2

我认为PANEL是图表组件数据中的一列。您可以获取列名列表:

names(ggplot_build(x)$data)

对于变量count(计数)frequency(频率),可以参考Hadley的书第69页: 直方图和频率多边形几何图形均使用stat_bin。该统计方法产生两个输出变量:count和density。count是默认的,因为它最易理解。密度基本上是计数除以总数,当您想要比较分布形状而不是整体大小时,会很有用。当比较具有不同大小的子集的分布时,通常更喜欢这种方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接