ฉันต้องการใช้ PCA กับชุดข้อมูลซึ่งประกอบด้วยตัวแปรชนิดผสม (ต่อเนื่องและไบนารี) เพื่อแสดงขั้นตอนฉันวางตัวอย่างที่ทำซ้ำได้น้อยที่สุดใน R ด้านล่าง
# 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)
ตอนนี้ฉันสงสัยว่าจะคำนวณคะแนนองค์ประกอบได้อย่างไร (เช่นตัวแปรดิบที่ถ่วงน้ำหนักด้วยการโหลดส่วนประกอบ) เมื่อชุดข้อมูลประกอบด้วยตัวแปรต่อเนื่องคะแนนองค์ประกอบจะได้รับเพียงแค่การคูณ (ปรับขนาด) ข้อมูลดิบและ eigenvector ที่เก็บในโหลดเมทริกซ์ (L ในตัวอย่างด้านบน) พอยน์เตอร์ใด ๆ จะได้รับการชื่นชมอย่างมาก