在 r 中将 6-D 绘制为 2-D

Plot 6-D into 2-D in r

如何在 2 维的图中绘制 6 维的数据集。

我有一个包含 6 个属性和超过 1000 行的数据集,我将其用于 k-means 聚类。

现在我想在执行聚类后可视化数据。有人可以给我任何关于如何处理这个问题的提示吗?谢谢。

pairs() 可能会有用。

设置数据(非结构化,因为这样更容易):

set.seed(101)
x <- rnorm(6000,nrow=6)
clust <- sample(1:5,size=1000,replace=TRUE)

现在绘图(gap=FALSE 是装饰性的;pch="." 使大型数据集的绘图速度更快):

pairs(x,gap=FALSE,col=clust,pch=".")

这只会向您显示二维切片(即,您可能会以这种方式错过数据中的高维结构),但总比没有好。如果你真的想可视化高维结构,你可以尝试 rggobi ...

最简单的方法是使用 PCA 将数据的维度降低到 2 或 3 维。 k 均值聚类应该为数据的每一行分配一个组,以便您可以轻松地在缩减数据集上绘制不同的组。这是执行 PCA 的简单方法,但您也可以执行 LLE 或其他形式的降维。

data(iris)
unique(iris$Species)
#[1] setosa     versicolor virginica
iris.pca<-princomp(iris[,c("Sepal.Length", "Sepal.Width", "Petal.Width", "Petal.Width")], center=T, scale=T)


plot(iris.pca$scores[,1], iris.pca$scores[,2], col=iris$Species)