2017-06-16 60 views
2

我想在R中實現一個意大利麪條形圖,以可視化每個參與者的兩個條件之間的差異。我使用CRITICALITY(臨界,非關鍵)和LATERALITY(同側,對側)因子計算重複測量方差分析。我的數據看以下內容,可以在這裏找到:重複測量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 

我想要什麼現在是一個情節,分別對於同側和對側的水平,每個參與者的關鍵和非關鍵數據點是連接的。這是一個自我繪製的樣本,我的目標是: SAMPLE

我在網上搜索了很長時間,但沒有找到任何解決方案。

+0

這種類型的圖表也稱爲_bump chart_或_slopegraph_。 – Uwe

回答

3

這裏是一個解決方案:

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") 

在這個情節得到的: spaghetti plot

我希望這是你需要/想

+0

嘿jkrainer,非常感謝您的快速回復!我有點震驚,我有多快得到答案:-)。不幸的是,您的解決方案對我來說不起作用,當我嘗試出現以下圖像時:[New Plot](https://www.dropbox.com/s/edlaopwe50y9hev/Rplot.jpeg?dl=0)。 – Matthias

+0

你好Matthias,看看你的保管箱中的數據後,我看到這些點不僅按照主題分組,而且由主題和偏側性組合而成。我希望這是現在。我編輯了我的回答:) – jkrainer

+0

你好jkrainer,你讓我的一天 - 非常感謝!在你的代碼中,只需要用「sub_lat」代替「sub_cond」,然後它對我有用!非常感謝你 :-)。 – Matthias

2

什麼也看到這一點:

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