我想在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")
产生此图:
我希望这是您需要/想要的