我有以下数据框架,其中时程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
。
任何想法将不胜感激。