每个方面覆盖平均值和sem到ggplot

时间:2015-05-31 17:21:47

标签: r ggplot2 overlay

我有一个可怕的线条图,其中我使用facet来划分组(TRained和UnTrained)和试验(E1,E2)。 我试着看看这种倾向是怎么样的,所以我使用{ "multicast_id": 844556567..., "success": 1, "failure": 0, "canonical_ids": 0, "results": [ { "message_id": "0:1433092445706613%..." } ] } ,但这不是我希望得到的。注意红色平滑线条表示数据有多糟糕(特别是在垂直线分隔的区域中)。

我现在认为我更愿意以同样的方式绘制平均值和标准误差。但我无法弄明白该怎么做。我查看了其他帖子,但我只找到了一个变量的简单点图的信息,没有任何重复。这个图来自两组中每一组的20个重复,采样率为0.2秒,所以它更复杂。

¿我应该找到一种方法来计算每个组的平均值和标准误差并将其传递给 6399-6454/com.miapp.app W/GcmNotification﹕ Failed to show notification: Missing icon 函数吗?

enter image description here

不幸的是,我的数据大于字符数限制,因此我将提供一个玩具示例。

stat_smooth()

功能

stat_smooth()

有关更多详细信息,我添加了第一行facet(数据的平均值)。这就是我想要覆盖的东西(或者包括SEM的平滑版本)

enter image description here

1 个答案:

答案 0 :(得分:1)

添加均值的平均线和标准误差:

us_absvel_plot + 
    stat_summary(fun.y=mean, geom="line", colour="red") +
    stat_summary(fun.data=mean_cl_normal, geom="errorbar", confint=0.683, colour="red") +
    stat_summary(fun.y=mean, geom="point", colour="blue")

conf.int设置为0.683会给出一个等于+/- 1标准误差的错误条。

为了更顺畅地跟踪数据,有许多选项。例如,如果使用“黄土”平滑器(每组观察数少于1000的数据的默认值),则可以执行此操作:

geom_smooth(method="loess", span=1, se=FALSE, colour="red", size=2) 

您必须使用span的值。较低的跨度将导致更灵活的平滑功能。

您也可以尝试自然样条线。在这种情况下,您可以设置更高的自由度df,以获得更灵活的功能:

library(splines)

geom_smooth(method="lm", formula=y ~ ns(x,df=10), colour="red", size=2)
相关问题