私は、さまざまなサンプリングポイントで豊富な種を持っているデータセットでいくつかの叙階を行ってきました。私はmetaMDS()
これを行うためにビーガンで使用しています。この機能を使用すると、次のいずれかを実行できます。
- 群集データ (行にサイト、列に種) を直接入力し、使用する距離のタイプ (つまり、jaccard、brays curtis、euclidean など) を指定し、
vegdist()
これを行う関数呼び出しを指定します。
一方、あなたができる
- (関数とは別に
metaMDS
)潜在的に使用して、すでに作成した距離行列を与えます。vegdist()
metaMDS()
私が混乱しているのは、最初の戦略を実行すると1つの答えが得られ、2番目の戦略を実行すると(そしてその距離行列をmetaMDS()
関数に入れると)まったく異なる答えが得られることです(非常に異なる応力値、異なる座標座標) . そして、最初の戦略で作成された距離行列を呼び出すと、距離は関数から得られるものとは大幅に異なりvegdist()
ます。metaMDS()
私は、関数を呼び出すと、vegdist()
多次元空間で距離を見つけているのに、使用するのは1次元であるということを、他の何かを調査して、ついでに読みましたvegdist()
。
本質的に私が求めているのは、どのようmetaMDS()
に距離を呼び出して計算するのかvegdist()
(多次元空間でそれを行っているのですか?)、それは単にvegdist()
それ自体を使用することとどのように違うのですか? これらの違いを理解することで、自分のデータセットに最適で最も適切な方法を特定できることを願っています。
mrja<-read.table("example.txt")
jac<-vegdist(mrja,method="jaccard")
head(jac)
[1] 0.7910448 0.8721461 0.7157360 0.9075908 0.9335038 0.9104478 ###first six distances
ordjac1<-metaMDS(jac,k=2)
ordjac1$stress
[1] 0.169781
ordjac1
Call:
metaMDS(comm = jac, k = 2)
global Multidimensional Scaling using monoMDS
Data: jac
Distance: jaccard
Dimensions: 2
Stress: 0.169781
Stress type 1, weak ties
No convergent solutions - best solution after 20 tries
Scaling: centring, PC rotation
Species: scores missing
ordjac2<-metaMDS(mrja,k=2,distance="jaccard")
ordjac2$stress
[1] 0.2367037
head(ordjac2$dist)
[1] 5.259303e-06 2.812693e-05 1.879357e-02 1.216611e-01 3.913638e-02
[6] 7.444730e-02 ###first six distances
ordjac2
Call:
metaMDS(comm = mrja, distance = "jaccard", k = 2)
global Multidimensional Scaling using monoMDS
Data: wisconsin(sqrt(mrja))
Distance: jaccard
Dimensions: 2
Stress: 0.2367037
Stress type 1, weak ties
No convergent solutions - best solution after 20 tries
Scaling: centring, PC rotation, halfchange scaling
Species: expanded scores based on ‘wisconsin(sqrt(mrja))’