আমি একটি ডেটাসেটে একটি পিসিএ প্রয়োগ করতে চাই, এতে মিশ্র প্রকারের ভেরিয়েবল (অবিচ্ছিন্ন এবং বাইনারি) থাকে। পদ্ধতিটি চিত্রিত করার জন্য, আমি নীচে আর-তে একটি ন্যূনতম পুনরুত্পাদনযোগ্য উদাহরণ পেস্ট করেছি।
# 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)
এখন, আমি অবাক হয়েছি কীভাবে উপাদান স্কোরগুলি গণনা করতে হবে (অর্থাত, উপাদান লোডিং দ্বারা ওজনিত কাঁচা ভেরিয়েবল)। যখন ডেটাসেটে অবিচ্ছিন্ন চলক থাকে, তখন উপাদান স্কোরগুলি লোডিং ম্যাট্রিক্সে সংরক্ষিত কাঁচা ডেটা এবং ইগেনভেেক্টর (উপরের উদাহরণে এল) দ্বারা গুণিত হয়। যে কোনও পয়েন্টার প্রশংসিত হবে।