PCoA функция векторов экстракта ркоа;процент дисперсии объяснил - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть набор данных, состоящий из 132 наблюдений и 10 переменных.Эти переменные являются категориальными.Я пытаюсь увидеть, как мои наблюдения кластеризуются и насколько они различаются в зависимости от процентного отклонения.т.е. я хочу выяснить, есть ли а) какие-либо переменные, которые помогают отделить определенные точки наблюдения друг от друга, и б) если да, какой процент дисперсии объясняется этим?

Мне посоветовали провести PCoA (Принципный анализ координат) на моих данных.Я запустил его, используя веганский и пакет обезьян.Это мой код после загрузки моего CSV-файла в r, я называю его данными

#data.dis<-vegdist(data,method="gower",na.rm=TRUE)
#data.pcoa<-pcoa(data.dis)

Затем мне сказали извлечь векторы из данных pcoa и поэтому

#data.pcoa$vectors

Затемвернул мне 132 строки, но 20 столбцов значений (например, от оси 1 до оси 20)

Я был озадачен, почему было 20 столбцов значений, когда у меня только 10 переменных.У меня сложилось впечатление, что я получу только 10 столбцов.Если какие-то добрые души могут помочь объяснить а) что на самом деле представляют векторы и б) как я могу получить процент дисперсии, объясненный осями 1 и 2?

Еще один вопрос, который у меня возник, был: я не совсем понимаю цель извлечения собственных значений из data.pcoa, потому что я видел, как некоторые веб-сайты делают это после запуска pcoa на их матрице расстояний, но дальнейших объяснений не былоЭто.

1 Ответ

0 голосов
/ 26 февраля 2019

Индекс Гауэра неевклидов, и вы можете ожидать больше реальных осей, чем число переменных в евклидовом ординации (PCoA).Тем не менее, вы сказали, что ваши переменные являются категориальными.Я предполагаю, что в R жаргоне они являются факторами.Если это так, вы должны , а не использовать vegan::vegdist(), который принимает только числовые данные.Более того, если переменная определена как фактор, vegan::vegdist() отказывается вычислять различия и выдает ошибку.Если вам удалось использовать vegdist(), вы не правильно определили свои переменные как факторы.Если у вас действительно есть факторные переменные, вы должны использовать какой-то другой пакет, чем vegan для различий Гауэра (есть много альтернатив).

То, что процент "дисперсии" немного сложен дляЕвклидовы различия, которые также дают некоторые отрицательные собственные значения, соответствующие мнимым измерениям.В этом случае сумма всех положительных собственных значений (действительных осей) выше, чем общая «дисперсия» данных.ape::pcoa() возвращает информацию, которую вы запросили в элементе values.Соотношение объясненных отклонений находится в его элементе values$Relative_eig.Общая «дисперсия» возвращается в элементе trace.Все это было задокументировано в ?pcoa, где я его прочитал.

...