按组给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