跟著JoVE學(xué)作圖:R語言ggplot2做簇狀柱形圖并添加顯著性標(biāo)記的完整示例

昨天的推文發(fā)出后底挫,好多人留言問如何添加顯著性標(biāo)記,今天的推文介紹下如何在簇狀柱形圖的基礎(chǔ)上添加顯著性標(biāo)記

添加顯著性標(biāo)記用到的是ggsignif包中的geom_signif()函數(shù)

在昨天推文的基礎(chǔ)上脸侥,如果是利用帶重復(fù)的原始數(shù)據(jù)作圖建邓,然后利用geom_signif()函數(shù)作圖的時候我遇到了報(bào)錯,暫時還不知道如何解決睁枕。等找到原因了再來介紹官边。

查找資料的過程中找到了一篇論文

image.png

https://www.jove.com/t/60139/nest-building-behavior-as-an-early-indicator-behavioral-deficits
Nest Building Behavior as an Early Indicator of Behavioral Deficits in Mice

論文里有一幅圖

image.png

提供了代碼和數(shù)據(jù),今天的推文來學(xué)習(xí)一下他的代碼是如何寫的

首先是準(zhǔn)備數(shù)據(jù)

他這里是直接通過代碼輸入數(shù)據(jù)外遇,沒有將數(shù)據(jù)存儲到文件里

Genotype = c("Wildtype", "APOE4", "Wildtype", "APOE4", "Wildtype", "APOE4", "Wildtype", "APOE4")
Material = c("Shredded paper","Shredded paper","Square","Square","Bedding","Bedding","Twist", "Twist")
Mean = c(4.77,3.52, 2.57, 1.39, 2.73, 1.73, 2.63, 1.30)
se = c(0.16, 0.24, 0.36, 0.06, 0.25, 0.26, 0.29, 0.05) 
df = data.frame(Genotype, Material, Mean, se)
df

最后的數(shù)據(jù)如下


image.png

相當(dāng)于是用原始數(shù)據(jù)先算了平均值和標(biāo)準(zhǔn)差

這里的賦值符號他直接用的等于號=注簿,而沒有用<-

給因子變量指定水平

df$Genotype<- factor(df$Genotype, levels=(c("Wildtype", "APOE4")))
df$Material<- factor(df$Material, levels=(c("Shredded paper","Square", "Bedding", "Twist")))

加載需要的R包

library(ggplot2)
library(ggsignif)

簇狀柱形圖的代碼

ggplot(df, aes(x=Material, y = Mean, fill=Genotype))+
  geom_bar(position=position_dodge(), stat="identity")+
  scale_fill_manual(values=c("#CCCCCC", "#666666", "#CCCCCC", "#666666", "#CCCCCC", "#666666", "#CCCCCC", "#666666"))+
  geom_errorbar(aes(ymin=Mean-se, ymax=Mean+se), 
                width=0.2,
                position=position_dodge(0.9))+  #this line of code makes the bar that extends across the 3-nonsig materials
  scale_y_continuous(name="Average score\n", expand=c(0,0))+
  geom_text(aes(x=1, y=5.9, label="Stretch It"), vjust=-1)+
  scale_x_discrete(name="\nProvided materials")+
  ggtitle("          Averaged scores of nests constructed by wildtype or APOE4 mice\n")+ #added chunk of space to center title in jpeg file
  theme(plot.title=element_text(lineheight=0.8, face="bold", hjust=0.5))+
  theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(),
        panel.background=element_blank(), axis.line=element_line(color="black")) -> p1
p1
image.png

添加顯著性標(biāo)記

p1+
  geom_signif(data=df,
              aes(xmin=0.75, xmax=1.25, annotations="*", y_position=5.25),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.2),
              manual=TRUE)
image.png

會遇到警告信息Warning message: Ignoring unknown aesthetics: xmin, xmax, annotations, y_position提示未知參數(shù),但是能夠出圖

這種還是需要自己用原始數(shù)據(jù)做統(tǒng)計(jì)分析跳仿,知道顯著性以后再往上添加

另外3組也是一樣的方式添加

p1+
  geom_signif(data=df,
              aes(xmin=0.75, xmax=1.25, annotations="*", y_position=5.25),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.2),
              manual=TRUE)+
  geom_signif(data=df,
              aes(xmin=1.75, xmax=2.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.3),
              manual=TRUE) +
  geom_signif(data=df,
              aes(xmin=2.75, xmax=3.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.2),
              manual=TRUE)+
  geom_signif(data=df,
              aes(xmin=3.75, xmax=4.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.3),
              manual=TRUE)

最后是添加第一組和另外三組的顯著性標(biāo)記

p1+
  geom_signif(data=df,
              aes(xmin=0.75, xmax=1.25, annotations="*", y_position=5.25),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.2),
              manual=TRUE)+
  geom_signif(data=df,
              aes(xmin=1.75, xmax=2.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.3),
              manual=TRUE) +
  geom_signif(data=df,
              aes(xmin=2.75, xmax=3.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.2),
              manual=TRUE)+
  geom_signif(data=df,
              aes(xmin=3.75, xmax=4.25, annotations="*", y_position=3.30),
              textsize = 5, vjust = 0.05, tip_length = c(0.04, 0.3),
              manual=TRUE)+
  geom_signif(data=df,
              aes(xmin=1, xmax=3, annotations="**", y_position=5.7),
              textsize = 5, vjust = -0.0000025, tip_length = c(0.04, 0.35),
              manual=TRUE)+
  geom_segment(aes(x = 2, y = 3.98, xend = 4, yend = 3.98))
image.png

geom_segment()函數(shù)起到的作用和annotate()函數(shù)是差不多了诡渴,代碼比較繁瑣,而且還需要額外單獨(dú)做顯著性分析菲语。還需要仔細(xì)學(xué)習(xí)下geom_signif()函數(shù)的用法玩徊,學(xué)習(xí)如何在簇狀柱形圖的基礎(chǔ)上自動添加顯著性檢驗(yàn)的結(jié)果

歡迎大家關(guān)注我的公眾號

小明的數(shù)據(jù)分析筆記本

小明的數(shù)據(jù)分析筆記本 公眾號 主要分享:1、R語言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡單小例子谨究;2恩袱、園藝植物相關(guān)轉(zhuǎn)錄組學(xué)、基因組學(xué)胶哲、群體遺傳學(xué)文獻(xiàn)閱讀筆記畔塔;3、生物信息學(xué)入門學(xué)習(xí)資料及自己的學(xué)習(xí)筆記鸯屿!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澈吨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寄摆,更是在濱河造成了極大的恐慌谅辣,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶恼,死亡現(xiàn)場離奇詭異桑阶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)勾邦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門蚣录,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眷篇,你說我怎么就攤上這事萎河。” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵虐杯,是天一觀的道長玛歌。 經(jīng)常有香客問我,道長擎椰,這世上最難降的妖魔是什么沾鳄? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮确憨,結(jié)果婚禮上译荞,老公的妹妹穿的比我還像新娘。我一直安慰自己休弃,他們只是感情好吞歼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塔猾,像睡著了一般篙骡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丈甸,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天糯俗,我揣著相機(jī)與錄音,去河邊找鬼睦擂。 笑死得湘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顿仇。 我是一名探鬼主播淘正,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼臼闻!你這毒婦竟也來了鸿吆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤述呐,失蹤者是張志新(化名)和其女友劉穎惩淳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乓搬,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡思犁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缤谎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抒倚。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坷澡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤频敛,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布项郊,位于F島的核電站,受9級特大地震影響斟赚,放射性物質(zhì)發(fā)生泄漏着降。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一拗军、第九天 我趴在偏房一處隱蔽的房頂上張望任洞。 院中可真熱鬧,春花似錦发侵、人聲如沸交掏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盅弛。三九已至,卻和暖如春叔锐,著一層夾襖步出監(jiān)牢的瞬間挪鹏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工愉烙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留讨盒,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓步责,卻偏偏與公主長得像催植,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子勺择,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容