Chcę zastosować PCA do zestawu danych, który składa się ze zmiennych typu mieszanego (ciągłego i binarnego). Aby zilustrować tę procedurę, wklejam minimalny odtwarzalny przykład w R poniżej.
# Generate synthetic dataset
set.seed(12345)
n <- 100
x1 <- rnorm(n)
x2 <- runif(n, -2, 2)
x3 <- x1 + x2 + rnorm(n)
x4 <- rbinom(n, 1, 0.5)
x5 <- rbinom(n, 1, 0.6)
data <- data.frame(x1, x2, x3, x4, x5)
# Correlation matrix with appropriate coefficients
# Pearson product-moment: 2 continuous variables
# Point-biserial: 1 continuous and 1 binary variable
# Phi: 2 binary variables
# For testing purposes use hetcor function
library(polycor)
C <- as.matrix(hetcor(data=data))
# Run PCA
pca <- princomp(covmat=C)
L <- loadings(pca)
Teraz zastanawiam się, jak obliczyć wyniki komponentów (tj. Zmienne surowe ważone ładunkami komponentów). Gdy zestaw danych składa się ze zmiennych ciągłych, wyniki składowe są po prostu uzyskiwane przez pomnożenie (skalowane) surowych danych i wektorów własnych przechowywanych w macierzy ładowania (L w powyższym przykładzie). Wszelkie wskazówki będą mile widziane.