Karışık tip değişkenlerden (sürekli ve ikili) oluşan bir veri kümesine PCA uygulamak istiyorum. Prosedürü göstermek için, aşağıdaki R'ye minimal tekrarlanabilir bir örnek yapıştırıyorum.
# 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)
Şimdi, bileşen puanlarının nasıl hesaplanacağını merak ediyorum (yani, bileşen yüklemelerine göre ağırlıklandırılmış ham değişkenler). Veri kümesi sürekli değişkenlerden oluştuğunda, bileşen puanları basitçe ham verilerin ve yükleme matrisinde depolanan özvektörlerin (yukarıdaki örnekte L) çarpılmasıyla elde edilir. Herhangi bir işaretçi büyük mutluluk duyacağız.