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

      
      

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

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

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

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

                為什么教程會(huì)習(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. 別人用這個(gè),我也用這個(gè),這是一個(gè)偷懶的做法。
              4. 每個(gè)人常識(shí)不同。作者可能覺得這個(gè)太簡單而忽略了初學(xué)者的需求。(生信學(xué)習(xí)學(xué)的是什么?常識(shí)!)
              5. 但內(nèi)置數(shù)據(jù)的頻繁使用是導(dǎo)致初學(xué)者學(xué)習(xí)這個(gè)教程時(shí)經(jīng)常提出上面這個(gè)問題的原因。

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

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

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

                自己如何根據(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ù)字,列名字是字符串(如果我們對(duì)這些字符串不熟悉,對(duì)我們來說就沒任何意義;每個(gè)字符都認(rèn)識(shí),串一起就不知道是啥了~~),中間的值是整數(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個(gè)物種在20個(gè)樣品的豐度信息。從dim(dune)可以看出這是一個(gè)20行X30列的矩陣;可以推測出,每一行是一個(gè)樣品,每一列是一個(gè)物種(另一個(gè)佐證是列名字長度確實(shí)為8個(gè)字符,與物種名字的4+4縮寫一致)。

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

                dim(dune)## [1] 20 30

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

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

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

                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ù)上面的分析做一個(gè)轉(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ù)代表什么意思?

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

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

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

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

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

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

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

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

                相關(guān)推薦

                聯(lián)系我們

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