如何在 R 中生成 Kmeans 聚类图的成对图?

How to produce a pairwise plot of Kmeans clustering plots in R?

我在 R 中对 Iris 数据集执行 k 均值聚类分析。我正在尝试生成所有不同属性组合的成对图(Sepal.Length、Sepal.Width、Petal.Length 和 Petal.Width) 使用中心为 3 的 kmeans 聚类。我能够为第一个组合(萼片长度 v 萼片宽度)生成如下图:

attach(iris)
iris.scaled <- scale(iris[, -5])
k <- kmeans(iris.scaled,centers=3)
plot(iris.scaled[,1],iris.scaled[,2],col=KM$cluster,)

但是,我不确定如何对所有 6 种可能的属性组合执行此操作以及如何绘制 4 x 4 成对图。我想也许是 pairs 函数,但没有这样的运气

我提议:

library(GGally)
library(data.table)
attach(iris)
iris$Species <- NULL
iris.scaled <- data.table(scale(iris))
k <- kmeans(iris.scaled, centers=3)
iris.scaled[, cluster := as.factor(k$cluster)]
colnames(iris.scaled)
# ggplot(iris.scaled, aes(x = Sepal.Length, y = Sepal.Width)) +
#   geom_point(aes(color = factor(cluster)))
ggpairs(iris.scaled, aes(colour = cluster, alpha = 0.4), columns = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"))

编辑:
你也可以删除上面的图:

ggpairs(iris.scaled, aes(colour = cluster, alpha = 0.4), 
columns = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"),
upper = "blank",
diag = NULL)