R-如何按时间间隔为时序数据中的分类变量计算平均值?

时间:2018-07-17 15:42:36

标签: r ggplot2

我的数据如下:

Stamp   Time    Box Internal    External
1   19:00   B1  35.119  8.978
2   19:00   B2  23.131  11.139
3   19:00   B3  33.133  11.431
4   20:00   B1  27.09   8.481
5   20:00   B2  6.073   8.879
6   20:00   B3  29.154  9.571
7   21:00   B1  34.15   8.68
8   21:00   B2  33.698  11.041
9   21:00   B3  24.178  8.481

我正在使用ggplot2绘制每个框的时序数据的geom_line,但我要绘制的是绘制每个时间间隔的$ External平均值。每个盒子都有内部和外部传感器,但是如果我像这样绘制数据:

my.plot <- ggplot() +
  geom_line(aes(x = Stamp, y = Temp, color = Box), myData) + 
  geom_line(aes(x = Stamp, y = External), myData) +
  theme_bw()

...“外部”行的数据点是其三倍。我想将每个时间间隔的外部平均值绘制为同一图表上的附加线。我使用Stamp作为我的x变量,因为有几天的数据值得花费时间。有什么建议吗?

另一种选择是将平均值External包含在这样的其他行中:

Stamp   Time    Box Internal
1   19:00   B1  35.119
2   19:00   B2  23.131
3   19:00   B3  33.133
4   19:00   MX  14.521

1 个答案:

答案 0 :(得分:0)

Box分组并应用stat_summary均值:

ggplot() + geom_line(aes(Time,External,group=Box), data=myData) + stat_summary(fun.y='mean')

您的x轴不应该是图章,它没有任何意义。