2024年9月24日火曜日

NMDSに環境データをバイプロット

午前
・卒論手伝い(野外調査)
・データ解析

午後
・データ解析
・論文書き

NMDSに環境データをバイプロットする際にハマったのでメモ。

metaMDS( )でNMDSを実施し、envfit( )で関連のある環境データを抽出し、その座標データを「vector$arrows」で抽出してggpolt( )で作図すると、ordiplot( )とplot( )で作図した場合と環境データの表示が異なることが分かった。

下図は、Rによる群集組成の解析のデータを使わせて頂き、ordiplot( )とplot( )で作成した図。
環境データのベクトルよりも上部に点がある。そして、「vector$arrows」で抽出した座標データを用いてggplot( )で作成したのが下図。
環境データのベクトルが点よりも上部まで伸びている。多分、長さは全て同じなのだろう。

朧げな理解しかできていないが、「vector$arrows」は関係性の(座標上での)方向性のみの情報を有しており、関係性の強さが考慮されてないみたい。下記サイトによると、この座標データは「direction cosines」と記されている。

関係性の強さを加えて補正するには、r2のルートを書ければ良いそうだ。

もしくは、scores( )を使って座標を抽出すれば良い。下図はscores( )で抽出したデータを用いて作成した図。ordiplot( )とplot( )と同じ図になった!
参考にしたサイト
Plotting envfit vectors (vegan package) in ggplot2
Rによる群集組成の解析