簡體   English   中英

GGPLOT2; 如何在分類變量中繪制兩個不同組的組平均線

[英]ggplot2; how to draw group mean lines of two different groups in a categorical variable

我有一組以下數據;

    V1 V2  V3
 1: G1 P1 82.7
 2: G2 P1 64.6
 3: G2 P1 81.2
 4: G2 P1 95.3
 5: G1 P1 80.0
 6: G2 P1   NA
 7: G2 P1 65.0
 8: G1 P1 83.8
 9: G1 P1 88.0
10: G1 P1 66.9
11: G1 P1 56.8
12: G1 P2 65.1
13: G2 P2 57.7
14: G2 P2 60.4
15: G2 P2 18.6
16: G1 P2 41.2
17: G2 P2 47.0
18: G2 P2 37.1
19: G1 P2 18.8
20: G1 P2 47.9
21: G1 P2 40.0
22: G1 P2 54.3

我使用ggplot2制作了以下圖表;

ggplot(a,aes(x=V2,y=V3))+
    geom_jitter(aes(group=V1,color=V1,na.rm=T), position =position_jitterdodge())+
    stat_summary(fun.y="mean",geom="crossbar", 
             mapping=aes(ymin=..y.., ymax=..y..), width=1)

在此輸入圖像描述

V1包含兩個分類變量P1和P2,其中有兩個子類別G1和G2。 我喜歡做的是用G1和G2的平均線生成圖,但上面的代碼給出了分類變量P1和P2的平均值。

我真的很感激你的幫助。

謝謝。

color=V1移動到ggplot() aes()以使交叉開關具有不同的顏色,並且aldo將postion_dodge()添加到stat_summary()

ggplot(a,aes(x=V2,y=V3,color=V1))+
  geom_jitter(aes(group=V1,na.rm=T), position =position_jitterdodge())+
  stat_summary(fun.y="mean",geom="crossbar", 
               mapping=aes(ymin=..y.., ymax=..y..), width=1,
               position=position_dodge(),show.legend = FALSE)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM