《Modern Statistics for Modern Biology》Chapter 三:R語言中的高質(zhì)量圖形(3.1-3.4)

《Modern Statistics for Modern Biology》Chapter 一: 離散數(shù)據(jù)模型的預(yù)測(cè)(1.1 - 1.3)

《Modern Statistics for Modern Biology》Chapter 一: 離散數(shù)據(jù)模型的預(yù)測(cè)(1.4 - 1.5)

《Modern Statistics for Modern Biology》Chapter 二: 統(tǒng)計(jì)建模(2.1-2.3)

《Modern Statistics for Modern Biology》Chapter 二: 統(tǒng)計(jì)建模(2.4-2.5)

《Modern Statistics for Modern Biology》Chapter 二 統(tǒng)計(jì)建模(2.6 - 2.7)

《Modern Statistics for Modern Biology》Chapter 二 統(tǒng)計(jì)建模(2.8 - 2.9)

《Modern Statistics for Modern Biology》Chapter 二 統(tǒng)計(jì)建模(2.10 完結(jié))

從這章開始最開始記錄一些markdown等小知識(shí)
$\hat{p}=\frac{1}{12}$\hat{p}=\frac{1}{12}
掌握R語言中的apply函數(shù)族
卡方檢驗(yàn)
Hardy-Weinberg equilibrium( 哈迪-溫伯格平衡 )
帶你理解beta分布
簡(jiǎn)單介紹一下R中的幾種統(tǒng)計(jì)分布及常用模型

  • 統(tǒng)計(jì)分布每一種分布有四個(gè)函數(shù):d――density(密度函數(shù)),p――分布函數(shù),q――分位數(shù)函數(shù)桥温,r――隨機(jī)數(shù)函數(shù)。比如,正態(tài)分布的這四個(gè)函數(shù)為dnorm,pnorm拉宗,qnorm车荔,rnorm渡冻。下面我們列出各分布后綴,前面加前綴d忧便、p族吻、q或r就構(gòu)成函數(shù)名:norm:正態(tài)t:t分布珠增,f:F分布超歌,chisq:卡方(包括非中心) unif:均勻exp:指數(shù)蒂教,weibull:威布爾巍举,gamma:伽瑪beta:貝塔 lnorm:對(duì)數(shù)正態(tài)凝垛,logis:邏輯分布懊悯,cauchy:柯西binom:二項(xiàng)分布苔严,geom:幾何分布定枷,hyper:超幾何nbinom:負(fù)二項(xiàng)届氢,pois:泊松 signrank:符號(hào)秩欠窒,wilcox:秩和tukey:學(xué)生化極差
    如何預(yù)測(cè)一條序列是否含有CpG島
    圖片輸出盡量保存為矢量圖

3退子、R語言中的高質(zhì)量圖形

  • 哈哈岖妄,終于來到最喜歡的環(huán)節(jié)了。

  • 數(shù)據(jù)可視化分為兩類(至少)寂祥。第一類能讓科學(xué)家探索數(shù)據(jù)并發(fā)現(xiàn)工作中的復(fù)雜過程荐虐;另一類的可視化類型提供了關(guān)于他的結(jié)果的信息豐富、清晰和具有視覺吸引力的插圖丸凭,他可以將其展示給他人福扬,并且最終包含在出版物中。
    .....此處省略

3.1 這一章的目標(biāo)

  • 學(xué)習(xí)怎么通過可視化快速而又靈活的解釋數(shù)據(jù)集
  • 畫出可發(fā)表的高質(zhì)量圖片
  • 綜述R語言的基礎(chǔ)繪圖
  • ** 理解圖形概念語法背后的邏輯**
  • 介紹ggplot2繪圖功能
  • 了解如何在一維惜犀,兩維甚至三維維度中繪制數(shù)據(jù)铛碑,并探索分面facet
  • 為分子生物學(xué)數(shù)據(jù)(或沿著其他序列,例如肽)創(chuàng)建“along-genome”圖虽界。
  • 討論我們的一些交互式圖形選項(xiàng)

3.2 基礎(chǔ)R繪圖

  • 最基礎(chǔ)的繪圖是plot函數(shù)汽烦。在下面的代碼中,繪圖結(jié)果見圖 3.2莉御。它用于繪制來自酶聯(lián)免疫吸附測(cè)定(ELISA)測(cè)定的數(shù)據(jù)撇吞。該方法用于定量測(cè)定脫氧核糖核酸酶(DNase)降解DNA的活性俗冻。這些數(shù)據(jù)被組裝在R對(duì)象DNase中,該對(duì)象DNase是一個(gè)數(shù)據(jù)文件牍颈,檢測(cè)運(yùn)行迄薄;conc: 蛋白質(zhì)濃度;density: 被測(cè)量的光密度煮岁。
> head(DNase)
  Run       conc density
1   1 0.04882812   0.017
2   1 0.04882812   0.018
3   1 0.19531250   0.121
4   1 0.19531250   0.124
5   1 0.39062500   0.206
6   1 0.39062500   0.215
> plot(DNase$conc, DNase$density)
圖 3.2
  • 進(jìn)一步美化噪奄,通過xlabylab來改變xy軸的坐標(biāo)名人乓,pch改變繪制圖形的形狀(比如:正方形、圓形)都毒。有關(guān)變量的信息存儲(chǔ)在DNase中色罚,我們可以使用attr函數(shù)訪問它。圖 3.3
    pch參數(shù)對(duì)應(yīng)的圖形形狀
> plot( DNase$conc, DNase$density, 
+ ylab = attr(DNase, "labels")$y,
+ xlab = paste(attr(DNase, "labels")$x, attr(DNase, "units")$x),
+ pch = 3,
+ col = "blue")
> attr(DNase, "labels")
$`x`
[1] "DNase concentration"

$y
[1] "Optical density"
> attr(DNase, "units")
$`x`
[1] "(ng/ml)"
圖 3.3 這里嚴(yán)重沒搞懂账劲,明明橫坐標(biāo)12.5的位置就對(duì)應(yīng)兩個(gè)值戳护,這里怎么會(huì)有這么多值

橫坐標(biāo)12.5

? 問題

  • “metadata”(如較長(zhǎng)的描述、物理單元瀑焦、來源信息等)對(duì)數(shù)據(jù)文件列進(jìn)行注釋似乎是一個(gè)有用的特性腌且。這種存儲(chǔ)此類信息的方式(如DNase對(duì)象)在R生態(tài)系統(tǒng)中是標(biāo)準(zhǔn)化的還是通用的?有沒有其他標(biāo)準(zhǔn)化或通用的方法來實(shí)現(xiàn)這一點(diǎn)榛瓮?
    ?
  • 在常規(guī)的R data.frame中沒有好的或廣泛使用的基礎(chǔ)結(jié)構(gòu)铺董,在tidyverse(data_frametibble)中也沒有禀晓。但是看看BioconductorS4Vectors中的DataFrame類精续。除其他外,它用于注釋SummarizedExperiment的行和列粹懒。
  • 除了散點(diǎn)圖重付,我們也可以使用柱形圖和箱式圖來表示 (圖 3.4)
> hist(DNase$density, breaks=25, main = "")
> boxplot(density~Run, data = DNase)
圖 3.4
  • Boxplots便于在緊致空間中顯示彼此相鄰的多個(gè)分布。我們將在第3.6節(jié)中看到更多關(guān)于繪制多個(gè)單變量分布的內(nèi)容凫乖。
  • 基本的R繪圖功能對(duì)于快速交互式地探索數(shù)據(jù)非常有用确垫;但是,如果我們想要?jiǎng)?chuàng)建更復(fù)雜的顯示帽芽,我們很快就會(huì)遇到它們的局限性删掀。我們將使用一個(gè)稱為圖形語法的可視化框架,該框架在ggplot2包中實(shí)現(xiàn)嚣镜,能夠以邏輯和優(yōu)雅的方式逐步構(gòu)建高質(zhì)量的圖形爬迟。首先,讓我們介紹并加載一個(gè)示例數(shù)據(jù)集菊匿。

3.3 示例數(shù)據(jù)集

  • 為了正確地測(cè)試ggplot2的功能付呕,我們需要一個(gè)足夠大且具有一定復(fù)雜性的數(shù)據(jù)集计福,以便可以從許多不同的角度對(duì)其進(jìn)行切片和查看。我們將使用一個(gè)基因表達(dá)微陣列數(shù)據(jù)集徽职,報(bào)告大約100個(gè)小鼠胚胎細(xì)胞早期發(fā)育的不同時(shí)間點(diǎn)的轉(zhuǎn)錄情況象颖。哺乳動(dòng)物的胚胎最初是單個(gè)細(xì)胞,即受精卵姆钉。通過同步的細(xì)胞分裂波说订,卵細(xì)胞增殖成一團(tuán)細(xì)胞,一開始它們之間沒有明顯的區(qū)別潮瓶。不過陶冷,在某些時(shí)候,細(xì)胞會(huì)選擇不同的血統(tǒng)毯辅。通過進(jìn)一步的規(guī)范埂伦,不同的細(xì)胞類型和組織出現(xiàn),這是一個(gè)完整的有機(jī)體所需要的思恐。實(shí)驗(yàn)的目的沾谜,由Ohnishi等人解釋(2014),旨在研究胚胎中與第一次symmetry breaking event相關(guān)的基因表達(dá)變化胀莹。我們將進(jìn)一步解釋這些數(shù)據(jù)基跑。更多細(xì)節(jié)可以在論文和生物導(dǎo)體數(shù)據(jù)包 Hiiragi2013的文檔中找到。我們首先加載數(shù)據(jù):
> BiocManager::install("Hiiragi2013", version = "3.8")
> library("Hiiragi2013")  ## 數(shù)據(jù)比較大描焰,如果安裝失敗媳否,重復(fù)運(yùn)行上面代碼幾次就好
> data("x")
> dim(Biobase::exprs(x))
[1] 45101   101
  • 只需在R提示符下鍵入x,就可以打印出ExpressionSet對(duì)象x的更詳細(xì)摘要栈顷。數(shù)據(jù)矩陣的101列(上面通過Biobase包中的exprs函數(shù)訪問)對(duì)應(yīng)于樣本(每一列都是一個(gè)單細(xì)胞)逆日,45101行對(duì)應(yīng)于陣列(Affymetrix mouse4302陣列)探測(cè)到的基因。使用RMA方法(Irizarry等人)對(duì)數(shù)據(jù)進(jìn)行歸一化處理萄凤。(2003年)室抽。原始數(shù)據(jù)也可在軟件包(數(shù)據(jù)對(duì)象a)和EMBL-EBI的ArrayExpress數(shù)據(jù)庫中查閱,登錄號(hào)為E-MTAB-1681靡努。
  • 我們可以看下這個(gè)樣品中包含什么信息坪圾。
> head(pData(x), n = 2)
        File.name Embryonic.day Total.number.of.cells lineage genotype   ScanDate sampleGroup sampleColour
1 E3.25  1_C32_IN         E3.25                    32               WT 2011-03-16       E3.25      #CAB2D6
2 E3.25  2_C32_IN         E3.25                    32               WT 2011-03-16       E3.25      #CAB2D6
  • 所提供的信息包括有關(guān)細(xì)胞的信息(即獲得這些細(xì)胞的胚胎的年齡大小基因型)和技術(shù)信息(掃描日期惑朦、原始數(shù)據(jù)文件名)兽泄。按照慣例,小鼠胚胎發(fā)育的時(shí)間以天為單位計(jì)算漾月,并報(bào)告為病梢,例如,E3.5。此外蜓陌,在這篇論文中觅彰,作者根據(jù)年齡、基因型和血統(tǒng)將細(xì)胞劃分為8個(gè)生物組(Samplegroup)钮热,并定義了一個(gè)顏色方案來表示這些組(SampleColour)填抬。使用下面的代碼(請(qǐng)參閱下面的解釋),我們定義了一個(gè)小的數(shù)據(jù)文件組隧期,其中包含每個(gè)組的摘要信息:?jiǎn)卧竦臄?shù)量和首選顏色飒责。
> library("dplyr")
> groups = group_by(pData(x), sampleGroup) %>%
+   summarise(n = n(), color = unique(sampleColour))
> groups
# A tibble: 8 x 3
  sampleGroup         n color  
  <chr>           <int> <chr>  
1 E3.25              36 #CAB2D6
2 E3.25 (FGF4-KO)    17 #FDBF6F
3 E3.5 (EPI)         11 #A6CEE3
4 E3.5 (FGF4-KO)      8 #FF7F00
5 E3.5 (PE)          11 #B2DF8A
6 E4.5 (EPI)          4 #1F78B4
7 E4.5 (FGF4-KO)     10 #E31A1C
8 E4.5 (PE)           4 #33A02C
  • FGF4-KO基因缺失的胚胎中,FGF4基因是一種重要的細(xì)胞分化調(diào)節(jié)基因仆潮。從E3.5開始宏蛉,野生型細(xì)胞(沒有FGF4基因敲除)經(jīng)歷第一次對(duì)稱破缺事件,并分化為不同的細(xì)胞系性置,稱為多能上胚層(EPI)和原始內(nèi)胚層(PE)檐晕。

  • 由于上面的代碼塊是我們遇到管道操作符%>%和函數(shù)group_by以及包dplyr中的summarise函數(shù)的第一個(gè)實(shí)例,所以讓我們分布解析代碼蚌讼。首先,管道%>%个榕。通常篡石,管道對(duì)于使嵌套函數(shù)調(diào)用更易于讀取非常有用。在R中下面的兩行代碼行駛的功能是一樣的.

f(x) %>% g(y) %>% h
h(g(f(x), y))
  • 也就是說:“求值f(x)西采,然后將結(jié)果作為第一個(gè)參數(shù)傳遞給函數(shù)g凰萨,而將y作為第二個(gè)參數(shù)傳遞給g。然后將g的輸出傳遞給函數(shù)h械馆。你可以無限地重復(fù)這個(gè)胖眷。特別是如果參數(shù)x和y本身是復(fù)雜的表達(dá)式,或者有相當(dāng)多的函數(shù)鏈霹崎,第一個(gè)版本往往更容易閱讀珊搀。

  • group_by函數(shù)簡(jiǎn)單地“標(biāo)記”數(shù)據(jù)文件,并指出所有后續(xù)操作不應(yīng)同時(shí)應(yīng)用于整個(gè)數(shù)據(jù)文件尾菇,而應(yīng)用于由sampleGroup因子定義的塊境析。最后,summarise計(jì)算匯總統(tǒng)計(jì)信息派诬;這可以是求平均值劳淆、和;在本例中默赂,我們只計(jì)算每個(gè)塊中的行數(shù)n()流行的顏色沛鸵。

3.4 ggplot2

  • ggplot2是** Hadley Wickham (Wickham 2016)** 創(chuàng)作的。balabala......
  • 現(xiàn)在我們使用ggplot2重新繪制圖 3.2缆八。
> library(ggplot2)
> ggplot(DNase, aes(x = conc, y = density)) + geom_point()
圖 3.6
  • balabal..... 現(xiàn)在曲掰,讓我們轉(zhuǎn)到小鼠單細(xì)胞數(shù)據(jù)疾捍,并使用ggplot函數(shù)為8個(gè)組中的每個(gè)組繪制樣本數(shù)。結(jié)果如圖3.7所示蜈缤。
> ggplot(groups, aes(sampleGroup, n)) + geom_bar(stat = "identity")

圖 3.7

接下來省略中間話語拾氓,主要注重于代碼的學(xué)習(xí)

> groupColor = setNames(groups$color, groups$sampleGroup)
>  groupColor 
          E3.25 E3.25 (FGF4-KO)      E3.5 (EPI)  E3.5 (FGF4-KO)       E3.5 (PE)      E4.5 (EPI)  E4.5 (FGF4-KO) 
      "#CAB2D6"       "#FDBF6F"       "#A6CEE3"       "#FF7F00"       "#B2DF8A"       "#1F78B4"       "#E31A1C" 
      E4.5 (PE) 
      "#33A02C" 
> ggplot(groups, aes(x = sampleGroup, y = n, fill = sampleGroup)) +
+   geom_bar(stat = "identity") +
+   scale_fill_manual(values = groupColor, name = "Groups") +
+   theme(axis.text.x = element_text(angle = 90, hjust = 1))
圖 3.8

3.4.1 Data flow

> gg = ggplot(DNase, aes(x = conc, y = density)) + geom_point()
> gg
> print(gg)


3.4.2 保存圖片

> ggsave("DNAse-histogram-demo.pdf", plot = gg)
  • 存儲(chǔ)圖形的主要方法有兩種:矢量圖形光柵(像素)圖形。在矢量圖形中底哥,打印存儲(chǔ)為一系列幾何圖元咙鞍,如點(diǎn)、直線趾徽、曲線续滋、形狀和印刷字符R中用于將打印保存為矢量圖形格式的首選格式是PDF孵奶。在光柵圖形中疲酌,打印存儲(chǔ)在點(diǎn)陣數(shù)據(jù)結(jié)構(gòu)中。光柵格式的主要限制是分辨率有限了袁,這取決于可用的像素?cái)?shù)朗恳。在R中,最常用的光柵圖形輸出設(shè)備是PNG载绿。**通常粥诫,最好將打印保存為矢量圖形格式**,因?yàn)橐院罂偸强梢詫⑹噶繄D形文件轉(zhuǎn)換為任何所需分辨率的光柵格式崭庸,而反向轉(zhuǎn)換則相當(dāng)困難怀浆。你不希望你的演講或論文中的數(shù)字看起來很糟糕,因?yàn)橄袼鼗娜斯ぶ破罚?/li>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怕享,一起剝皮案震驚了整個(gè)濱河市执赡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌函筋,老刑警劉巖沙合,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異跌帐,居然都是意外死亡灌诅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門含末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猜拾,“玉大人,你說我怎么就攤上這事佣盒】嫱啵” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)盯仪。 經(jīng)常有香客問我紊搪,道長(zhǎng),這世上最難降的妖魔是什么全景? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任耀石,我火速辦了婚禮切省,結(jié)果婚禮上猎拨,老公的妹妹穿的比我還像新娘。我一直安慰自己缀磕,他們只是感情好炕贵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布梆奈。 她就那樣靜靜地躺著,像睡著了一般称开。 火紅的嫁衣襯著肌膚如雪亩钟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天鳖轰,我揣著相機(jī)與錄音清酥,去河邊找鬼。 笑死蕴侣,一個(gè)胖子當(dāng)著我的面吹牛总处,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睛蛛,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼胧谈!你這毒婦竟也來了忆肾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤菱肖,失蹤者是張志新(化名)和其女友劉穎客冈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稳强,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡场仲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了退疫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠缕。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖褒繁,靈堂內(nèi)的尸體忽然破棺而出亦鳞,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布燕差,位于F島的核電站遭笋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏徒探。R本人自食惡果不足惜瓦呼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望测暗。 院中可真熱鬧央串,春花似錦、人聲如沸偷溺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挫掏。三九已至侦另,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尉共,已是汗流浹背褒傅。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袄友,地道東北人殿托。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像剧蚣,于是被迫代替她去往敵國(guó)和親支竹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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