Анализ главных компонентов дихотомических переменных

#r #pca #psych

#r #pca #психология

Вопрос:

Я пытаюсь провести анализ главных компонентов дихотомических переменных (скрытая непрерывная шкала) для лиц, принадлежащих к двум группам, чтобы увидеть, отличаются ли такие группы по основным компонентам. Поскольку под вашими двоичными данными имеется скрытая непрерывная шкала, я использовал тетрахорическую корреляцию. Вот пример данных, с которыми я работаю

 df <- data.frame(CMS_1 = sample(2, replace = T, size = 10)-1,
              CMS_2 = sample(2, replace = T, size = 10)-1,
              CMS_3 = sample(2, replace = T, size = 10)-1,
              CMS_4 = sample(2, replace = T, size = 10)-1,
              CMS_5 = sample(2, replace = T, size = 10)-1,
              CMS_6 = sample(2, replace = T, size = 10)-1,
              CMS_7 = sample(2, replace = T, size = 10)-1,
              CMS_8 = sample(2, replace = T, size = 10)-1,
              CMS_9 = sample(2, replace = T, size = 10)-1,
              CMS_10 = sample(2, replace = T, size = 10)-1,
              CMS_11 = sample(2, replace = T, size = 10)-1,
              CMS_12 = sample(2, replace = T, size = 10)-1,
              CMS_13 = sample(2, replace = T, size = 10)-1,
              CMS_14 = sample(2, replace = T, size = 10)-1,
              disease_status = sample(2, replace = T, size = 10)-1)
  

«CMS_1: CMS_14» — это дихотомические переменные, из которых я заинтересован в извлечении основных компонентов. «disease_status» обозначает принадлежность к группе, то есть имеет ли субъект заболевание или нет. Вот код для получения главных компонентов из тетрахорической корреляционной матрицы.

 library(psych)

library(factoextra)

library(FactoMineR)

df <- df %>% mutate_if(is.numeric, as.factor)

df_matrix<-data.matrix(df[,-15])

df_tetra<-tetrachoric(df_matrix)

res.pca <- PCA(df_tetra$rho, graph = FALSE)
  

Если я вставляю «res.pca», он говорит:

Результаты для анализа главных компонентов (PCA) Анализ был выполнен на 14 индивидуумах, описанных 14 переменными

Я заинтересован в извлечении результатов для отдельных лиц, чтобы увидеть, по-разному ли группы, к которым принадлежат такие лица, влияют на основные компоненты. Функции get_pca_ind() и fviz_pca_ind() из factoextra будут работать, если я передам исходный набор данных (df) в функцию PCA(). Однако, поскольку я использовал тетрахорическую корреляционную матрицу, один и тот же набор переменных (CMS_1: CSM_14) рассматривается как отдельные. На самом деле, как я писал выше, проверка результатов PCA() на тетрахорической матрице корреляции приводит к следующему: анализ был выполнен на 14 индивидуумах, описанных 14 переменными. Спасибо!