按组给R PCoA图的个体着色

按组给R PCoA图的个体着色,r,plot,vegan,mds,R,Plot,Vegan,Mds,这应该是一个简单的问题,但到目前为止我还没有找到确切的方法 我有一个矩阵如下: sample var1 var2 var3 etc. 1 5 7 3 1 2 0 1 6 8 3 7 6 8 9 4 5 3 2 4 我使用纯素进行了PCoA并绘制了结果。现在我的问题是,我想根据预定义的组为样本着色: group sample 1 1 1 2 2 3 2

这应该是一个简单的问题,但到目前为止我还没有找到确切的方法

我有一个矩阵如下:

sample var1 var2 var3 etc.
1      5    7    3     1
2      0    1    6     8
3      7    6    8     9
4      5    3    2     4
我使用纯素进行了PCoA并绘制了结果。现在我的问题是,我想根据预定义的组为样本着色:

group sample
1     1
1     2
2     3
2     4
如何导入组,然后根据所属组绘制着色点?这看起来很简单,但我一直在挠头

谢谢!
Seb

你说你使用了纯素PCoA,我想这意味着
wcmdscale
功能。默认的
vegan::wcmdscale
仅返回与标准
stats::cmdscale
类似的分数矩阵,但如果添加了一些特殊参数(例如
eig=TRUE
),则会得到一个完整的
wcmdscale
结果对象,其中包含专用的
plot
points
方法,您可以执行以下操作:

绘图(,type=“n”)#无可复制示例:如需编辑
点(,col=组)#无可复制示例:组必须可见
如果你有一个现代的素食主义者(2.5.x),以下方法同样有效:

图书馆(magrittr)
绘图(,type=“n”)%%>%点(“站点”,col=group)

谢谢您的回答。我试过了,但还是不行。下面是我使用的脚本:distmatrix第一件事:不要使用
plot(scores())
,而只使用
plot
!没有
plot.scores()
函数,如果使用
plot(scores())
,则必须至少设置
asp=1
(用于相等的纵横比)。第二件事:现在您将图形参数赋予
scores()
函数(您不应该使用该函数),而
scores
函数没有图形,但浪费了这些参数。您应该将这些参数赋给
plot
,而不使用
scores()
。您是从哪里想到使用
scores()
?当然不是来自纯素食主义者文档。谢谢你的回答。最后,通过从metaMDS函数、
points
变量和一个单独的颜色向量按顺序构建图形来解决这个问题。它是这样的:
data.mds