亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                抄代碼的時候總是遇到原始數(shù)據(jù)應(yīng)該長什么樣的問題?

                常常遇到有人問起看到分享的教程導(dǎo)入數(shù)據(jù)的方式是data(dune)等直接調(diào)用系統(tǒng)的數(shù)據(jù),而自己怎么讀入自己的數(shù)據(jù)呢?

                對于初學(xué)者來講,這確實(shí)是個問題。如何準(zhǔn)備數(shù)據(jù)、拿到正確格式的數(shù)據(jù)并導(dǎo)入后續(xù)的代碼進(jìn)行分析,是學(xué)習(xí)和應(yīng)用過程中的第一個攔路虎。

                為什么教程會習(xí)慣使用內(nèi)置數(shù)據(jù)?

              1. 簡單省事、便攜可重復(fù);這是內(nèi)置數(shù)據(jù)的優(yōu)勢之一;
              2. 內(nèi)置數(shù)據(jù)模式清晰,通常可以獲得較好的結(jié)果;這是內(nèi)置數(shù)據(jù)的優(yōu)勢之二;
              3. 別人用這個,我也用這個,這是一個偷懶的做法。
              4. 每個人常識不同。作者可能覺得這個太簡單而忽略了初學(xué)者的需求。(生信學(xué)習(xí)學(xué)的是什么?常識!)
              5. 但內(nèi)置數(shù)據(jù)的頻繁使用是導(dǎo)致初學(xué)者學(xué)習(xí)這個教程時經(jīng)常提出上面這個問題的原因。

                我不太贊成教程里面用使用內(nèi)置數(shù)據(jù),原因是:

              6. 對不會讀入數(shù)據(jù)的人不友好;
              7. 不利于探索這篇教程用于實(shí)際數(shù)據(jù)時可能會遇到的問題。示例數(shù)據(jù)無腦運(yùn)行,自己的數(shù)據(jù)無顯著差異
              8. 如果要使用內(nèi)置數(shù)據(jù),也需要額外提供一些信息

              9. 詳細(xì)描述內(nèi)置數(shù)據(jù)的格式和生物含義,及與真實(shí)數(shù)據(jù)的對應(yīng),可以參考畫一個帶統(tǒng)計檢驗(yàn)的PCoA分析結(jié)果
              10. 提供真實(shí)數(shù)據(jù)的格式示例和讀入真實(shí)數(shù)據(jù)的代碼,彌補(bǔ)這個“鴻溝”;比如寫這篇文章:你的adonis用對了嗎?不同因素的順序竟然對結(jié)果有很大影響就是因?yàn)槭纠龜?shù)據(jù)有顯著差異,而自己的數(shù)據(jù)無差異。所以才從原理上其理解計算過程,并探尋解決方案。
              11. 提及可能出現(xiàn)的問題的解決;這也是操作了多套實(shí)際數(shù)據(jù)后,才能寫出的部分。
              12. 那假如教程沒有提供這么詳細(xì),自己又得用這個教程,怎么做呢?

                自己如何根據(jù)教程的數(shù)據(jù)準(zhǔn)備并讀入自己的數(shù)據(jù)

                1. 查看數(shù)據(jù)的結(jié)構(gòu),了解數(shù)據(jù)的構(gòu)成

                既然教程提供了測試數(shù)據(jù)集,不妨仔細(xì)看看測試數(shù)據(jù)集的特征,沒準(zhǔn)就找著規(guī)律了。

                我們以前面文章提到的dune數(shù)據(jù)集為例,查看下其結(jié)構(gòu)特征。

                名字是數(shù)字,列名字是字符串(如果我們對這些字符串不熟悉,對我們來說就沒任何意義;每個字符都認(rèn)識,串一起就不知道是啥了~~),中間的值是整數(shù)。除此外也看不出其它信息了。

                library(vegan)data(dune)head(dune)## Achimill Agrostol Airaprae Alopgeni Anthodor Bellpere Bromhord Chenalbu Cirsarve Comapalu Eleopalu Elymrepe Empenigr## 1 1 0 0 0 0 0 0 0 0 0 0 4 0## 2 3 0 0 2 0 3 4 0 0 0 0 4 0## 3 0 4 0 7 0 2 0 0 0 0 0 4 0## 4 0 8 0 2 0 2 3 0 2 0 0 4 0## 5 2 0 0 0 4 2 2 0 0 0 0 4 0## 6 2 0 0 0 3 0 0 0 0 0 0 0 0## Hyporadi Juncarti Juncbufo Lolipere Planlanc Poaprat Poatriv Ranuflam Rumeacet Sagiproc Salirepe Scorautu Trifprat Trifrepe## 1 0 0 0 7 0 4 2 0 0 0 0 0 0 0## 2 0 0 0 5 0 4 7 0 0 0 0 5 0 5## 3 0 0 0 6 0 5 6 0 0 0 0 2 0 2## 4 0 0 0 5 0 4 5 0 0 5 0 2 0 1## 5 0 0 0 2 5 2 6 0 5 0 0 3 2 2## 6 0 0 0 6 5 3 4 0 6 0 0 3 5 5## Vicilath Bracruta Callcusp## 1 0 0 0## 2 0 0 0## 3 0 2 0## 4 0 2 0## 5 0 2 0## 6 0 6 0

                2. 查看數(shù)據(jù)的幫助

                從數(shù)據(jù)結(jié)構(gòu)和行列名字上得不到有用信息,那我們查看下幫助信息。

                ?dune

                dune is a data frame of observations of 30 species at 20 sites. Thespecies names are abbreviated to 4+4 letters (see make.cepnames).

                這告訴我們什么呢?這套數(shù)據(jù)包含了30個物種在20個樣品的豐度信息。從dim(dune)可以看出這是一個20行X30列的矩陣;可以推測出,每一行是一個樣品,每一列是一個物種(另一個佐證是列名字長度確實(shí)為8個字符,與物種名字的4+4縮寫一致)。

                注:如果對數(shù)據(jù)還有疑慮,建議谷歌下數(shù)據(jù)。常見內(nèi)置數(shù)據(jù)集都會有文章描述其信息,可用于佐證你的判斷。

                dim(dune)## [1] 20 30

                這個格式跟我們通常的OTU豐度表(我們的表通常是每一行是一個物種,每一列是一個樣品)略有不同。

                3. 基本判斷后,讀入我們的數(shù)據(jù),做可能的轉(zhuǎn)換

                如果我們有一個OTU豐度表,怎么讀入并轉(zhuǎn)成這個格式呢?

                text <- "IDSamp1Samp2Samp3Samp4OTU12131415OTU21213810OTU322101411"otu_table <- read.table(text=text, sep="", row.names=1, header=T)

                讀入OTU豐度表,第一行為列名字,第一列為行名字。

                otu_table <- read.table("otutable_rare",sep="", row.names=1, header=T)

                根據(jù)上面的分析做一個轉(zhuǎn)置,就可以獲得可用于后續(xù)分析的輸入數(shù)據(jù)了。

                otu_table_t <- as.data.frame(t(otu_table))otu_table_t## OTU1 OTU2 OTU3## Samp1 2 12 22## Samp2 13 13 10## Samp3 14 8 14## Samp4 15 10 11

                4. 示例數(shù)據(jù)中的整數(shù)代表什么意思?

                這個是比較難確定的部分,只有兩個判斷方法:1)教程中作者能夠提及(這是最準(zhǔn)確的方法);2)憑經(jīng)驗(yàn)猜測。

                這里涉及到另外一個經(jīng)常會被問起的問題:

                我這一步操作需要提供原始數(shù)據(jù),還是標(biāo)準(zhǔn)化之后的數(shù)據(jù)?

                絕大多數(shù)情況下,我們需要提供的都是標(biāo)準(zhǔn)化之后的在不同樣品之間可比的數(shù)據(jù)。因?yàn)椋?)我們的需求是比較不同樣品的差異,數(shù)據(jù)需要在樣品間可比;2)絕大部分工具是不會對數(shù)據(jù)做標(biāo)準(zhǔn)化處理的,要么直接用,要么做一些不影響數(shù)值關(guān)系的轉(zhuǎn)換;3)如果某個工具自己內(nèi)部會對數(shù)據(jù)做標(biāo)準(zhǔn)化,它一定會在幫助中提及,常見的比如DESeq2, edgeR、limma,除了這兩個半(limma算半個,因?yàn)樗部梢越邮諛?biāo)準(zhǔn)化后的數(shù)據(jù)),一時想不起還有哪些工具是接受原始數(shù)據(jù)的。單細(xì)胞的Seurat包算是個例外,它內(nèi)部調(diào)用了一些標(biāo)準(zhǔn)化算法,可以通過參數(shù)關(guān)掉。

                5. 查看更多教程,總會遇到有詳細(xì)描述所需數(shù)據(jù)結(jié)構(gòu)的教程。

                6. 跟著感覺走,不管三七二十一讀進(jìn)來試試,出現(xiàn)異?;驁箦e再調(diào)整。學(xué)程序不是做實(shí)驗(yàn),試錯成本沒有那么大,光看不練是假把式,大膽試才是王道。

                7. 最后一步,跟教程作者溝通。我們的教程問題,歡迎在http://www.ehbio.com/Esx發(fā)帖討論;自己努力后,帶著問題和思路的討論更容易獲得解答。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月23日 06:13
                下一篇 2022年6月23日 06:13

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息