【发布时间】:2023-03-24 08:32:01
【问题描述】:
我拿起了 ggplot2 书,但我很难理解数据是如何通过层保持的。
例如,让我们获取一个数据集并计算每个 X 的平均值:
thePlot = ggplot( myDF , aes_string( x = "IndepentVar" , y = "DependentVar" ) )
thePlot = thePlot + stat_summary( fun.y = mean , geom = "point" )
如何“访问”下一层的汇总统计信息?例如,假设我想在数据集上绘制一条平滑线。这似乎有效:
thePlot = thePlot + stat_smooth( aes( group = 1 ) , method = "lm" , geom = "smooth" , se = FALSE )
但是假设我想在生成线时进一步忽略特定的 X 值?如何引用汇总数据集来表达排除特定 X 的情况?
更一般地说,数据在流经层时如何引用?我总是局限于最后的统计数据吗?我可以参考原始数据集吗?
【问题讨论】:
-
每一层,基本上由一个 stat 和一个 geom 组成,独立于其他层。所以没有“坚持”。如果您想在新图层中重复使用汇总统计信息,则必须再次添加该汇总。 (不过,我想不出你为什么要这样做)。如果要创建具有子集或不同数据的图层,则需要来自不同的 data.frame 或 data.frame 中的不同列。发布一些示例数据并更好地描述您想要做什么......
-
你能告诉我例子中用 stat_smooth 表示什么数据吗?它是如何知道从 myDF 中获取数据的? “组=1”到底是什么?我怎么会知道 aes 支持“组”,它不在文档中?
-
另外,..var.. 是如何发挥作用的?
-
此外,文档说 stat_smooth 需要 X/Y aes,但我没有提供这些,它似乎仍然有效。
-
如果没有持久性,那么“统计产生的新变量”是什么意思?我在哪里可以使用这些新变量??