4

PCA 変換後にクラスタリングを行っています。PCA 空間の最初の 2 次元または 3 次元でのクラスタリングの結果と、元の軸から投影された PCA 軸への寄与を視覚化したいと考えています。

factoextraggplotを使用するライブラリを使用していますが、正常に動作しますが、凡例を削除したいと思います

私のコード:

# Load iris dataset
data(iris)

# PCA
pca <- prcomp(iris[,-5], scale=TRUE)
df.pca <- pca$x

# Cluster over the three first PCA dimensions
kc <- kmeans(df.pca[,1:3], 5)

# 2-D biplot (how to get rid of legend?)
# install.packages("devtools")
# library("devtools")
# install_github("kassambara/factoextra")
library(factoextra)
fviz_pca_biplot(pca, label="var", habillage=as.factor(kc$cluster)) +
  labs(color=NULL) + ggtitle("") +
  theme(text = element_text(size = 15),
      panel.background = element_blank(), 
      panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(),
      axis.line = element_line(colour = "black"),
      legend.key = element_rect(fill = "white"))

ここに画像の説明を入力

右側の凡例の列を削除するにはどうすればよいですか?

ライブラリを使用しない同等のバイプロットも歓迎されるソリューションです。

PS:

3 次元でも、適切なバイプロットを取得するのは非常に簡単です。

library(rgl)
text3d(pca$x[,1:3],texts=rep("*",dim(pca$x)[1]), col=kc$cluster) # points
text3d(1*pca$rotation[,1:3], texts=rownames(pca$rotation), col="red") # arrows title
coords <- NULL
for (i in 1:nrow(pca$rotation)) {
  coords <- rbind(coords, rbind(c(0,0,0),1*pca$rotation[i,1:3]))
}
lines3d(coords, col="blue", lwd=1)
4

2 に答える 2

2

これも機能するはずです: add + guides(shape=FALSE, color=FALSE)afterggtitle("")

library(factoextra)
fviz_pca_biplot(pca, label="var", habillage=as.factor(kc$cluster)) +
  labs(color=NULL) + 
  ggtitle("") + guides(shape=FALSE, color=FALSE)
theme(text = element_text(size = 15),
      panel.background = element_blank(), 
      panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(),
      axis.line = element_line(colour = "black"))
于 2015-06-17T14:04:41.047 に答える