Как построить nmds с цветными точками / символами на основе SIMPROF

Привет, я пытаюсь построить свои nmds данных сборки, которые находятся в матрице несходства bray-curtis в R. Я смог применить 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)

или даже раскрасьте точки прямо по дереву

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, используя пакет "clustertsig", чтобы затем раскрасить точки на основе значимых группировок - это больше связано с техническим языком программирования - я уверен, что есть способ создать строку факторов, но я уверен, что есть более эффективный способ сделать это

Вот мой код для этого:

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)

Теперь я просто не уверен, как сделать следующий шаг для построения графика nmds с использованием группировок, определенных SIMPROF - как мне сделать результат SIMPROF строкой множителя, не вводя его буквально сам?

Заранее спасибо.


person Lmm    schedule 20.10.2017    source источник


Ответы (1)


Вы писали, что знаете, как получить цвета от объекта hclust с помощью cutree. Тогда прочтите документацию clustsig::simprof. Это говорит о том, что simprof возвращает объект hclust в своем объекте результата. Он также возвращает numgroups - рекомендуемое количество кластеров. Теперь у вас есть вся необходимая информация для использования уже знакомого cutree из hclust. Если ваш результат simprof называется simp, используйте cutree(simp$hclust, simp$numgroups) для извлечения целочисленного вектора, соответствующего результату clustsig::simprof, и используйте его для цветов.

Я никогда не использовал simprof или clustertsig, но я собрал всю эту информацию из документации.

person Jari Oksanen    schedule 27.10.2017
comment
Большое спасибо! Я заставил это работать легко - очень четкий ответ! Я все еще работаю над кодированием и разбираюсь в документации пакета R, но у меня еще есть путь, поэтому спасибо за вашу помощь. - person Lmm; 01.11.2017