#r
Вопрос:
Функция R prcomp() для выполнения анализа основных компонентов предоставляет удобный метод summary (), который (как и ожидалось) предлагает краткое описание результатов с первого взгляда:
data(cars) pca lt;- prcomp(cars) summary(pca) Importance of components: PC1 PC2 Standard deviation 26.1252 3.08084 Proportion of Variance 0.9863 0.01372 Cumulative Proportion 0.9863 1.00000
Я хотел бы получить аналогичную сводку для отображения результатов анализа главных координат, обычно выполняемого с помощью функции cmdscale() :
pco lt;- cmdscale(dist(cars), eig=TRUE)
Но эта функция не предоставляет метод summary (), и поэтому нет прямого способа отображения результатов в виде процентных отклонений и т. Д.
Кто-нибудь уже разработал какой-нибудь простой метод для обобщения таких результатов от PCO?
Заранее спасибо за любую помощь, которую вы можете оказать!
С наилучшими пожеланиями,
Комментарии:
1. Спасибо, но это не годится: эти функции также не предоставляют метод summary (). Пакет vegan также предлагает функцию wcmdscale (), которая должна иметь метод summary (), но не имеет ни того, ни другого.
2. функция print() также не обеспечивает требуемый форматированный вывод.
Ответ №1:
Вместо базового cmdscale
, вместо этого можно использовать capscale
или dbRda
из пакета vegan. Эти функции обобщают PCO, поскольку они «также выполняют анализ основных координат без ограничений, необязательно с использованием расширенных различий» (цитата со страницы справки ?capscale). Это гораздо больше, чем обходной путь.
Ниже приведен пример:
library(vegan) A lt;- data.frame( x = c(-2.48, -4.03, 1.15, 0.94, 5.33, 4.72), y = c(-3.92, -3.4, 0.92, 0.78, 3.44, 0.5), z = c(-1.11, -2.18, 0.21, 0.34, 1.74, 1.12) ) pco lt;- capscale(dist(A) ~ 1) # uses euclidean distance # or pco lt;- capscale(A ~ 1) # with same result pco # shows some main results summary(pco) # shows more results, including eigenvalues
Функция сводки имеет несколько аргументов, описанных в ?summary.cca
. Части результата могут быть извлечены и сформированы пользователем, например, с помощью собственных pco$CA$eig
значений .
Комментарии:
1. Спасибо, это обеспечивает хорошее решение с большим количеством информативных результатов. Я уже написал простую функцию для представления результатов cmdscale() в формате, идентичном формату, созданному prcomp (), но вывод capscale() кажется более подробным.