Раскрась особей заговора R PCoA по группам - PullRequest
0 голосов
/ 29 июня 2018

Должен быть простой вопрос, но я не нашел точно, как это сделать до сих пор.

У меня есть следующая матрица:

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 с использованием Vegan и составил график результатов. Теперь моя проблема в том, что я хочу раскрасить образцы в соответствии с заранее определенной группой:

group sample
1     1
1     2
2     3
2     4

Как я могу импортировать группы и затем нарисовать цветные точки в соответствии с группой, к которой они принадлежат? Это выглядит просто, но я почесал голову над этим.

Спасибо! Себ

1 Ответ

0 голосов
/ 29 июня 2018

Вы сказали, что использовали веганский PCoA, который я предполагаю, чтобы означать wcmdscale функцию. По умолчанию vegan::wcmdscale возвращает матрицу баллов только аналогично стандартному stats::cmdscale, но если вы добавили некоторые специальные аргументы (например, eig = TRUE), вы получите полный wcmdscale объект результата с выделенными методами plot и points и вы можете сделать: plot(<pcoa-result>, type="n") # no reproducible example: edit like needed points(<pcoa-result>, col = group) # no reproducible example: group must be visible Если у вас современный веганский (2.5.x), то также работает следующее: library(magrittr) plot(<full-pcoa-result>, type = "n") %>% points("sites", col = group)

...