如果之前已经回答过,请指出正确的方向。我老老实实地尝试过,但没有找到解决这个问题的任何事情:
我收集了20个人的时间序列数据。具体地,响应于60个图像/声音刺激,相对瞳孔大小(y)随时间的变化(= x,51个时间区间)。有两种受试者内操作:一半的刺激(= 30)是情绪化的,另外30种是中性的。在之前的睡眠中,一半的情绪和中性刺激都被提示。
所以,总的来说,我们有15个情绪&重新激活,15情绪化非重新激活,15中立&重新激活& 15中性&未重新激活(2x2 valcode与repcode)。我有一列描述了效价(情绪与中性),称为“valcode”(1 =中性,2 =情绪),一列定义重新激活状态“repcode”(0 =非重新激活,2 =重新激活)。
以下是数据的第一行:
head(df)
time valcode pupil_size repcode stimuli subject
1 0 2 0.000000000 0 1 1
2 100 2 0.014501468 0 1 1
3 200 2 0.004117636 0 1 1
4 300 2 0.011774388 0 1 1
5 400 2 0.061472275 0 1 1
6 500 2 0.083575322 0 1 1
我想以这样一种方式绘制数据,即四个条件中的每一个都有一个单独的颜色。到目前为止,我只使用以下行设置了repcode = 0与repcode = 1的不同形状以及valcode = 1与2的不同颜色:
dfPlot <- ggplot(df, aes(x=time, y=pupil_size, shape=repcode, colour=valcode))
dfPlot + stat_summary(fun.y=mean, geom = "line", size=1) +stat_summary(fun.data=mean_se, geom="pointrange", size=1) + theme_bw(base_size = 10) + ggtitle("Pupil response") + ylab("Normalised pupil size") + xlab("Time relative to baseline (in ms)")
我尝试插入color = c(repcode,valcode),但R给出了以下错误消息:
Error: Aesthetics must either be length one, or the same length as the dataProblems:time, pupil_corr
我能想到的唯一其他解决方案是生成repcode和valcode的复合变量,并将其定义为颜色。有更简单的解决方案吗?
谢谢!