我想在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")

产生此图:
r - R中的意大利面条图,重复测量-LMLPHP

我希望这是您需要/想要的

08-20 00:33