在ggplot中绘制了多个主题的中位数以及时间课程

时间:2019-03-13 12:09:15

标签: r ggplot2 median

我有以下数据框架,其中时程Y1适用于10个主题。每个主题都有一个数字,一个非数字标签

      Sub Time Y1   lab1 lab2
1     1   0.0  0.0  40   weak
2     1   0.5  1.1  40   weak
...
10    1   63   2.0  40   weak
...
91    10  0.0  0.0  23   strong
92    10  0.5  1.2  23   strong
...
100   10  63   1.6  23   strong

我想按组计算所有受试者的Y1中位数,即针对弱/强子组,并将它们与Y1时间序列一起绘制在一个图中。

但是,主要问题是中位数。如果我使用

拆开/展开数据框
DF2 <- unstack(DF1, Y1~Sub)

然后我可以轻松地用rowMedians计算中值,但是由于尺寸差异,我无法将其与ggplot-ed时间序列合并为单个对象。更精确地说,如果我这样做

  p1 <- ggplot(data = DF1, 
           mapping=aes(x = DF1$Time, y = DF1$Y1, group=DF1$Index)) +
        geom_line(aes(color=DF1$lab2)) +
        geom_line(data = medianDF, aes(x=medianDF$time,y=medianDF$median))

我收到错误消息:Error: Aesthetics must be either length 1 or the same as the data (10): group。 任何想法将不胜感激。

0 个答案:

没有答案