重复测量的 R 中的意大利面条图

Spaghetti plot in R with repeated measurements

我想在 R 中实现一个意大利面条图,以可视化每个参与者的两个条件之间的差异。我计算了一个重复测量方差分析,其中包含关键性(关键、非关键)和偏侧性(同侧、对侧)因素。我的数据如下所示,可在此处找到:

    subject cond       power      laterality      criticality
1   P02   CL_CRIT       -362.7    contralateral   crit
2   P03   CL_CRIT       -186.8    contralateral   crit
3   P13   CL_CRIT       -314.6    contralateral   crit
4   P15   CL_CRIT       -353.3    contralateral   crit
5   P17   CL_CRIT       -457.8    contralateral   crit
6   P18   CL_CRIT       -219.3    contralateral   crit
7   P19   CL_CRIT       -124.0    contralateral   crit
8   P25   CL_CRIT       -329.5    contralateral   crit
9   P27   CL_CRIT       -286.9    contralateral   crit
37  P02   CL_NCRIT      -28.6     contralateral   non-critical
38  P03   CL_NCRIT      -269.3    contralateral   non-critical
39  P13   CL_NCRIT      -363.8    contralateral   non-critical
40  P15   CL_NCRIT      -255.1    contralateral   non-critical

Link to data

使用以下代码,我可以绘制所有参与者的单个数据点:

### plot single values
stim.group <- mu_power
pd <- position_dodge(0.3) # move data .03 to the left and right
pp <- ggplot(stim.group, aes(x=critical, y=power, colour=laterality)) +
geom_point(position=pd) + ylab("mu power")
pp

我现在想要的是一个图,其中分别针对同侧和对侧水平,连接每个参与者的关键和非关键数据点。这是我的目标的自绘样本:

我在互联网上搜索了一段时间,但没有找到任何解决方案。

这是一个解决方案:

df <- read.table("path/to/your/data")
df$sub_lat <- paste(df$subject, df$laterality)

ggplot(df, aes(x=critical, y=power)) + 
  geom_point(aes(group = sub_lat, color = laterality)) +
  geom_line(aes(group = sub_lat, color = laterality)) +
  xlab("critical") +
  ylab("sensorimotor_mu_nogo power")

导致这个情节:

我希望这就是你need/want

另请参阅:

ggplot()+
  geom_line(data = df, aes(x = criticality, y = power,
                           group = subject, color = laterality))