【R】臨界指示物種分析法

前兩天看中科院微生物所高程老師的文章:Fungal community assembly in drought-stressed sorghum shows stochasticity, selection, and universal ecological dynamics,里面有這樣一個圖:

image

仔細看了材料與方法部分才知道這是臨界指示物種分析法(Threshold Indicator Taxa ANalysis肯腕,TITAN)枢冤。這種方法經(jīng)常用于分析群落在時間梯度或者是環(huán)境梯度上變化的閾值。如上圖表示的是隨著時間變化黍瞧,不同真菌群落的閾值變化躬翁。該方法于 2010 年被開發(fā)出來:

加載示例數(shù)據(jù)

先加載 R 包和示例數(shù)據(jù):

rm(list = ls())

library(TITAN2)

data("glades.taxa")
data("glades.env")

這個方法需要的數(shù)據(jù)有兩個:

  1. 群落數(shù)據(jù):示例數(shù)據(jù)是通過 log10(x+1) 進行轉(zhuǎn)換過的昧旨,開發(fā)者認為通常不用進行轉(zhuǎn)換拜轨。進行轉(zhuǎn)換的目的是避免稀有種對群落的影響抽减。

    群落數(shù)據(jù)的行為樣本,列為群落豐度數(shù)據(jù)橄碾。

    image
  2. 環(huán)境數(shù)據(jù):可以是時間梯度卵沉,也可以是環(huán)境梯度。高程老師文章使用的是時間梯度堪嫂,在示例數(shù)據(jù)中使用的是總磷含量作為環(huán)境梯度:

參數(shù)一覽

默認參數(shù):

res = titan(glades.env,glades.taxa)

完整參數(shù):

res = titan(glades.env, 
            glades.taxa,
            minSplt = 5,
            numPerm = 999,
            boot = TRUE,
            nBoot = 500,
            imax = FALSE,
            ivTot = FALSE,
            pur.cut = 0.95,
            rel.cut = 0.95,
            ncpus = 1,
            memory = FALSE)

參數(shù)解釋:

  1. glades.env:環(huán)境數(shù)據(jù)偎箫;
  2. glades.taxa:群落數(shù)據(jù)木柬;
  3. minSplt:計算在突變點任一側(cè)相關(guān)統(tǒng)計量的最小觀察數(shù)皆串,不能小于 3;
  4. numPerm:隨機置換檢驗的次數(shù)眉枕,不能小于 250恶复,通常是 500 或 1000怜森;
  5. boot:是否自舉重抽樣;
  6. nBoot:自舉重抽樣的得到的新數(shù)據(jù)集的數(shù)據(jù)量谤牡,小于 500 能夠有效減少計算資源的消耗副硅,但通常是 500 或 1000;
  7. imax:是否用 IndVal 最大值或者 z-score 來決定每個群落的閾值翅萤;
  8. ivTot:是否通過平均相對豐度來計算 IndVal恐疲;
  9. pur.cut:純響應(yīng)方向的閾值;
  10. rel.cut:可靠響應(yīng)幅度的閾值套么;
  11. ncpu:自舉重抽樣部分的處理的核數(shù)培己;
  12. memory:是否在自舉重抽樣的時候建立臨時文件夾存放文件。

運行耗時

樣品數(shù)量多少胚泌、置換檢驗次數(shù)省咨、自舉重抽樣次數(shù)等幾個因素決定了運行時長,從幾分鐘到幾個小時不等玷室。示例數(shù)據(jù)有 126 個樣本零蓉,164 個群落數(shù)據(jù),使用下方的代碼計算運行時長:

system.time(titan(glades.env, 
                  glades.taxa,
                  minSplt = 5,
                  numPerm = 250,
                  boot = TRUE,
                  nBoot = 500,
                  imax = FALSE,
                  ivTot = FALSE,
                  pur.cut = 0.95,
                  rel.cut = 0.95,
                  ncpus = 1,
                  memory = FALSE)
            )

可以看到穷缤,耗時在 21 分鐘左右敌蜂。

結(jié)果可視化

老版本的可視化是這樣的(圖中的點代表的是臨界點(突變點),點的大小代表響應(yīng)強度的大猩鹣睢):

代碼如下:

plot_taxa(glades.titan, xlab = 'Surface Water TP (ug/l)')

新的可視化方法是這樣的:

  1. 總的:
plot_taxa_ridges(glades.titan,
                     xlab = expression(paste('Surface water total phosphorus ('*mu*'g/l)')))
  1. Decreasers
plot_taxa_ridges(glades.titan,
                     z2 = FALSE,
                     xlab = expression(paste('Surface water total phosphorus ('*mu*'g/l)')))
  1. Increasers
plot_taxa_ridges(glades.titan,
                     z1 = FALSE,
                     xlab = expression(paste('Surface water total phosphorus ('*mu*'g/l)')))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末紊册,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子快耿,更是在濱河造成了極大的恐慌囊陡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掀亥,死亡現(xiàn)場離奇詭異撞反,居然都是意外死亡,警方通過查閱死者的電腦和手機搪花,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門遏片,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撮竿,你說我怎么就攤上這事吮便。” “怎么了幢踏?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵髓需,是天一觀的道長。 經(jīng)常有香客問我房蝉,道長僚匆,這世上最難降的妖魔是什么微渠? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮咧擂,結(jié)果婚禮上逞盆,老公的妹妹穿的比我還像新娘。我一直安慰自己松申,他們只是感情好云芦,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贸桶,像睡著了一般焕数。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刨啸,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天堡赔,我揣著相機與錄音,去河邊找鬼设联。 笑死善已,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的离例。 我是一名探鬼主播换团,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宫蛆!你這毒婦竟也來了艘包?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤耀盗,失蹤者是張志新(化名)和其女友劉穎想虎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叛拷,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡舌厨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忿薇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裙椭。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖署浩,靈堂內(nèi)的尸體忽然破棺而出揉燃,到底是詐尸還是另有隱情,我是刑警寧澤筋栋,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布炊汤,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏婿崭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一肴颊、第九天 我趴在偏房一處隱蔽的房頂上張望氓栈。 院中可真熱鬧,春花似錦婿着、人聲如沸授瘦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽提完。三九已至,卻和暖如春丘侠,著一層夾襖步出監(jiān)牢的瞬間徒欣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工蜗字, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留打肝,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓挪捕,卻偏偏與公主長得像粗梭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子级零,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354