如何根据SIMPROF

时间:2017-10-20 22:02:47

标签: r cluster-computing vegan hclust mds

嗨所以我试图绘制我的nmds的一个装配数据,这个数据在R中的bray-curtis相异矩阵中。我已经能够应用ordielipse(),ordihull()甚至根据组因子改变颜色由cutree()创建的hclst()

例如使用素食包中的沙丘数据

data(dune)
Dune.dis <- vegdist(Dune, method = "bray)
Dune.mds <- metaMDS(Dune, distance = "bray", k=2)

#hierarchical cluster
clua <- hclust(Dune.dis, "average")
plot(clua, hang = -1)
# set groupings
rect.hclust(clua, 4)
grp <- cutree(clua, 4)

#plot mds
plot(Dune.mds, display = "sites", type = "text", cex = 1.5)

#show groupings
ordielipse(Dune.mds, group = grp, border =1, col ="red", lwd = 3)

或者甚至通过cutree

对点进行着色
colvec <- c("red2", "cyan", "deeppink3", "green3")
colvec[grp]
plot(Dune.mds, display = "sites", type = "text", cex = 1.5) #or use type = "points"
points(P4.mds, col = colvec[c2], bg =colvec[c2], pch=21)

然而,我真正想做的是使用SIMPROF功能使用包&#34; clustsig&#34;然后根据重要的分组对点进行着色 - 这更像是一种技术编码语言的东西 - 我确信有一种方法可以创建一系列因素,但我相信有一种更有效的方法可以做到这一点

到目前为止我的代码是:

simp <- simprof(Dune.dis, num.expected = 1000, num.simulated = 999, method.cluster = "average", method.distance = "braycurtis", alpha = 0.05, sample.orientation = "row")
#plot dendrogram    
simprof.plot(simp, plot = TRUE)

现在我只是不确定如何使用SIMPROF定义的分组绘制nmds的下一步 - 我如何使SIMPROF结果成为一个因子字符串,而不是自己输入它本身?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您写道,您知道如何使用hclustcutree对象获取颜色。然后阅读clustsig::simprof的文档。这表示simprof在其结果对象中返回hclust个对象。它还返回numgroups,这是建议的簇数。现在,您拥有使用已知cutree hclust所需的所有信息。如果simprof结果被调用simp,请使用cutree(simp$hclust, simp$numgroups)提取与clustsig::simprof结果对应的整数向量,并将其用于颜色。

我从未使用过simprof clustsig ,但我从其文档中收集了所有这些信息。