Как раскрасить код рассеивателя PCoA - PullRequest
4 голосов
/ 04 декабря 2011

Так что я новичок в этом. Мне нужно запустить PCoA на следующей матрице данных. Я могу проводить анализы с использованием программ ADE4, labdsv, Ginko, Aabel. Что меня беспокоит, так это как раскрасить метки на графике рассеяния. Моя матрица - это матрица присутствия / отсутствия в следующем порядке:

SpecieName Value1 Value2
A1         0      1
A2         1      1
A3         1      1
B1         0      0
B2         0      1
E1         1      0
E2         0      0

Я хочу представить A1, A2 и A3 красным, B1 и B2 синим, а все E черным. Любая помощь будет оценена.

1 Ответ

6 голосов
/ 04 декабря 2011

Просто передайте коэффициент, который обозначает эти группы, команде построения:

data = read.table('data.txt', header=T)

data.pca = prcomp(data[,-1])

groups = factor(gsub('(.).', '\\1', data$SpecieName))

plot(data.pca$x, col=groups)

enter image description here

Кроме того, если вы хотите установить определенных цветов, вы всегда можете индексировать в пользовательский список одним и тем же способом:

cols = c('red', 'blue', 'black')[groups]
plot(data.pca$x, col=cols)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...