Я работаю над проблемой для класса, который беру, спрашивая о Telecom Churn. Мне нужно провести анализ данных, и PCA - это то, что рекомендовал профессор, однако я борюсь с кодом для него в R. PCA в R я нахожу, имеет все номинальные данные.
Есть ли способ использовать PCA для категориальных данных?
Я попытался исправить это, установив все мои «ДА» или «НЕТ» в 1 и 0. Это код, который я использовал, когда у меня были 1 / 0s:
pca <- prcomp(t(churn), scale=TRUE)
summary(pca)
plot(pca$x[,1], pca$x[,2])
pca.var <- pca$sdev^2
pca.var.per <- round(pca.var/sum(pca.var)*100, 1)
barplot(pca.var.per, main="Scree Plot", xlab="Principal Component", ylab="Percent Variation")
pca.data <- data.frame(Sample=rownames(pca$x),
X=pca$x[,1],
Y=pca$x[,2])
pca.data
ggplot(data=pca.data, aes(x=X, y=Y, label=Sample)) +
geom_text() +
xlab(paste("PC1 - ", pca.var.per[1], "%", sep="")) +
ylab(paste("PC2 - ", pca.var.per[2], "%", sep="")) +
theme_bw() +
ggtitle("My PCA Graph")
, и он работает, но с ним действительно трудно работать, потому что все так тесно расположено.
Есть ли лучший способ сделать это?
Спасибо