數(shù)量生態(tài)_NMDS分析

1)排序圖添加環(huán)境梯度等值線


主要用到vegan包的ordisurf函數(shù)裹虫,主要思路是:

  • 將樣點(diǎn)攜帶的環(huán)境因子信息構(gòu)建樣條曲線(splines)
  • 樣點(diǎn)的坐標(biāo)信息和樣條曲線的坐標(biāo)信息統(tǒng)一到一個(gè)坐標(biāo)系
> ?ordisurf
Function ordisurf fits a smooth surface for given variable and plots the result on ordination diagram.

ordisurf(x, y, choices = c(1, 2), knots = 10,
         family = "gaussian", col = "red", isotropic = TRUE,
         thinplate = TRUE, bs = "tp", fx = FALSE, add = FALSE,
         display = "sites", w = weights(x, display), main, nlevels = 10,
         levels, npoints = 31, labcex = 0.6, bubble = FALSE,
         cex = 1, select = TRUE, method = "REML", gamma = 1,
         plot = TRUE, lwd.cl = par("lwd"), ...)

# 注意此處的x, R document 的解釋如下:
# For `ordisurf` an ordination configuration, either a matrix or a result known by `scores`

> LatNMDS <- metaMDS(LatOTU.R)   # NMDS分析
... ...
... Procrustes: rmse 1.962234e-06  max resid 5.019163e-06 
... Similar to previous best
*** Solution reached

# 提取作圖數(shù)據(jù)雳窟,此處筆者主要想展示緯度梯度
> LatNMDS_data <- data.frame(
+   NMDS1 = LatNMDS$points[,1],
+   NMDS2 = LatNMDS$points[,2],
+   MAT= metadata1$MAT, 
+   Lat = metadata1$Latitude,
+   Type = metadata1$Type,
+   nam = rownames(LatOTU.R)
+ )
> library(metR)
> ordi <- ordisurf(LatNMDS_data[,1:2], as.numeric(LatNMDS_data$Lat), plot = FALSE, bs = 'ds')
> ordi.grid <- ordi$grid
> ordi.sp <- expand.grid(x = ordi.grid$x, y = ordi.grid$y)
> ordi.sp$z <- as.vector(ordi.grid$z)
> ordi.sp.na <- data.frame(na.omit(ordi.sp))
> ggplot(LatNMDS_data,aes(NMDS1,NMDS2))+  
+   geom_point(size=4, aes(shape = Type))+
+   annotate("text",
+            x=min(LatNMDS_data$NMDS1),
+            y=min(LatNMDS_data$NMDS2),
+            hjust=0,
+            vjust=0,
+            label=paste("Stress:",round(LatNMDS$stress,4)))+
+   geom_text(label=LatNMDS_data$nam,
+             size=2,
+             hjust=-0.2, 
+             vjust=-0.5)+ 
+   stat_contour(data = ordi.sp.na, aes(x, y, z = z, color = ..level..))+
+   geom_text_contour(data = ordi.sp.na, aes(x, y, z = z, color = ..level..), size = 5)+
+   scale_color_gradient(low = "firebrick3",high = "royalblue3")

結(jié)果如下圖所示:


NMDS+LatGradient

既然函數(shù)ordisurf()的輸入是排序后樣點(diǎn)的坐標(biāo)值,那么其他排序方法也可以添加環(huán)境因子梯度捣作,如PCA分析

# vegan自帶數(shù)據(jù),意將pH梯度展示
# scores()函數(shù)提取坐標(biāo)值
> data("varespec")
> data("varechem")
> vare.pca <- prcomp(varespec)
> pdata = scores(vare.pca, choices=c(1,2)) %>% as.data.frame()
> 
> ordi <- ordisurf(pdata[,1:2], as.numeric(varechem$pH), plot = FALSE, bs = 'ds')
> ordi.grid <- ordi$grid
> ordi.sp <- expand.grid(x = ordi.grid$x, y = ordi.grid$y)
> ordi.sp$z <- as.vector(ordi.grid$z)
> ordi.sp.na <- data.frame(na.omit(ordi.sp))
> ggplot(pdata,aes(PC1,PC2))+  
+     geom_point(size=4)+
+     stat_contour(data = ordi.sp.na, aes(x, y, z = z, color = ..level..))+
+     geom_text_contour(data = ordi.sp.na, aes(x, y, z = z, color = ..level..), size = 5)+
+     scale_color_gradient(low = "firebrick3",high = "royalblue3")

結(jié)果如圖:


PCA+pHGradient

NMDS分析原理

image
image
image
image
image
image
image
image
image
image
image
image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慢哈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌艰赞,老刑警劉巖肚吏,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異党觅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)杯瞻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門魁莉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旗唁,你說我怎么就攤上這事〖煲撸” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵夺溢,是天一觀的道長(zhǎng)剿牺。 經(jīng)常有香客問我,道長(zhǎng)钞诡,這世上最難降的妖魔是什么湃崩? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮朵诫,結(jié)果婚禮上薄扁,老公的妹妹穿的比我還像新娘。我一直安慰自己邓梅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布钱反。 她就那樣靜靜地躺著,像睡著了一般哎壳。 火紅的嫁衣襯著肌膚如雪尚卫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天蹲坷,我揣著相機(jī)與錄音邑飒,去河邊找鬼。 笑死县匠,一個(gè)胖子當(dāng)著我的面吹牛撒轮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播题山,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼顶瞳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了慨菱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤闪彼,失蹤者是張志新(化名)和其女友劉穎协饲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體描馅,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡战惊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年吞获,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刁绒。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烤黍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出速蕊,到底是詐尸還是另有隱情,我是刑警寧澤跟啤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布唉锌,位于F島的核電站,受9級(jí)特大地震影響腥放,放射性物質(zhì)發(fā)生泄漏绿语。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一伍纫、第九天 我趴在偏房一處隱蔽的房頂上張望昂芜。 院中可真熱鬧,春花似錦泌神、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蒋失,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間篙挽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工链韭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留煮落,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓儡陨,卻偏偏與公主長(zhǎng)得像量淌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胚股,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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