我想在我的Scatter绘图矩阵中添加点。
head(pca)
pc1 pc2 pc3 pc4
[1,] 0.72859559 -2.2864943 -0.5408501 0.1564730
[2,] 0.34852943 0.3100891 0.6007349 -0.5985266
[3,] -0.04605026 0.5067896 -0.2911211 -1.1617171
[4,] -1.88358617 1.3739440 -0.5655383 0.9518367
[5,] 0.35528650 -1.7482304 -0.3871520 -0.7837712
我对我的PCA数据运行了kmeans,我可以使用以下内容绘制散点图矩阵:
k <- kmeans(pca,3)
plot(pca, col=k$clust, pch=16)
接下来我想添加X以通过添加
来显示中心+ points(k$centers, col=1:3 ,pch="X", cex=3)
但它不起作用。如果我减少到只有2台PC,那么下面的中心只绘制2个:
plot(pca[,c(1,2)], col=k$clust, pch=16) + points(k$centers, col=1:10 ,pch="X", cex=3)
当我输入上面的代码时,请注意返回&#34;数字(0)&#34;。这是什么意思?
> plot(pca[,c(1,2)], col=k$clust, pch=16) + points(k$centers, col=1:10 ,pch="X", cex=3)
> numeric(0)
以下内容在某种程度上有所帮助。 Kmeans clustering identifying knowledge in R
答案 0 :(得分:0)
我不确定你的意思是“它不起作用”。这对我来说很好:
# parameters
rows <- 100
cols <- 4
groups <- 3
# create a matrix of uniforms
pca <- matrix(runif(rows*cols),ncol = cols,byrow=TRUE)
colnames(pca) <- paste0('pc',seq(cols))
# calculate the kmeans
(k <- kmeans(pca,groups))
# plot the data and the means
plot(pca, col=k$clust, pch=15)
points(k$centers, col=seq(groups),pch="X", cex=3)
请注意,当矩阵中的列数(cols
)为2时,您只会在二维图中获得voronoi曲面细分。