R 向散点图矩阵添加点

R 向散点图矩阵添加点,r,plot,R,Plot,我想在散点图矩阵中添加点 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.

我想在散点图矩阵中添加点

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)
但它不起作用。如果我只减少到2件,则以下绘制了中心,但仅限于2件:

plot(pca[,c(1,2)], col=k$clust, pch=16) + points(k$centers, col=1:10 ,pch="X", cex=3)
侧注:当我输入R上面的代码时,返回数值0。这是什么意思

  > plot(pca[,c(1,2)], col=k$clust, pch=16) + points(k$centers, col=1:10 ,pch="X", cex=3)
  > numeric(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)

请注意,只有当矩阵中的列数为2时,才能在二维绘图中获得voronoi细分。

您正在尝试添加绘图对象。这适用于ggplot,但不适用于基本图形。numeric0表示数字0,在本例中,这是R告诉您它不理解为什么要添加两个绘图对象的方式。我发现这个答案也很有用。希望有帮助:对。但我想做的是绘制PCA[,c1,2,3],col=k$clust,pch=16点sk$centers,col=1:10,pch=X,cex=3,这不起作用。
# 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)