0

R のデータ フレームから序列プロットを作成しました。データ フレームは、サイト (行) ごとの種 (列) で構成されています。マトリックス内には、「処理された」サイトのグループとコントロール サイトのグループがあります。しかし、私が順序付けを計算した方法では、行列に他の変数は必要ありません (つまり、サイトが「処理されているかどうか」を示す明示的な識別子はありません)。問題: 分類変数を作成せずに、グループごとにグラフ内のポイントにラベルを付けることができますか?または、処理行 (たとえば、行 1:7 に 1 つのタイプのシンボルを指定し、コントロール (たとえば、8:14) に別のタイプを指定できますか?

次に例を示します。

#guess i don't have the reputation to post images...hmmm...

#looks something like this (first column is the site)  

#     spec1 spec2 spec3...spec14
#  1    0     1     0  ...    2
#  2    1     5     0  ...    0
#  3    0     2     1  ...    0  
#  .  
#  .  
#  .  
#  14  

# vegan package  
library(vegan)  

# example data matrix is 14x14, species names across columns, sites are numbered automatically upon import of txt file into RStudio  

data(example)  

#vegdist creates a distance matrix of sites  

example.dis <- vegdist(example) 

#monoMDS computes ordination of distance matrix  

example.mds <- monoMDS(example.dis) 

#plot it 

ここでグラフを変更できると思いますが、その方法がわかりません

plot(example.mds)  
4

1 に答える 1

4

はい、外部変数を使用して、たとえばポイントの色を指定できます。

次に例を示します。

# some data
require(vegan)
data(dune)
data(dune.env)

# vector holding the colors
cols <- c("red", "blue", "pink", "green")

# NMDS with bray-curtis distance
nmds <- metaMDS(dune, "bray", 2)

# empty plot
plot(nmds, type = "n")

# Add points colored by Environmental Variable Management
points(nmds, col = cols[dune.env$Management], pch = 16)

# add legend
legend("topright", legend=levels(dune.env$Management), col=cols, pch = 16)

ここに画像の説明を入力

于 2012-11-30T22:38:38.340 に答える