将6-D绘制成r中的2-D

时间:2015-12-17 15:19:53

标签: r cluster-analysis

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

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

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

2 个答案:

答案 0 :(得分:1)

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=".")

enter image description here

这只会显示二维切片(也就是说,您可能会错过数据中的高维结构),但它总比没有好。如果你真的想要想象更高维度的结构,你可以尝试像rggobi ...

这样的东西

答案 1 :(得分:0)

最简单的方法是使用PCA将数据的维度降低到2或3维。 k-means聚类应该为数据的每一行分配一个组,以便您可以轻松地在简化数据集上绘制不同的组。这里有一个简单的方法来做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)