【发布时间】:2018-09-11 06:16:11
【问题描述】:
我想在mtcars dataset. 上绘制下面给出的图。
为此,我尝试了here 给出的代码,如下所示:
require(rgl)
require(SciViews)
require(plotrix)
library(corrplot)
require(ggplot2)
require(reshape)
require("gridExtra")
cars.pca <- pcomp(~mpg+cyl+disp+hp+drat+wt+qsec, data = mtcars)#, subset = -(8:14))
mtcars_pca = cbind(cbind(mtcars, cars.pca$scores), car = rownames(mtcars))
plot(cars.pca, which = "correlations")
plot(cars.pca, which = "scores", cex = 0.8)
使用下面给出的代码制作了情节,但情节中有问题:
k <- kmeans(mtcars, 5, nstart=25, iter.max=1000)
new = cbind(mtcars_pca,cluster = k$cluster)
with(new,plot3d(PC1,PC2,PC3, col=k$cluster, size=2, type='s'))
car= = rownames(mtcars)
with(new,text3d(PC1,PC2,PC3,car))
比例不正确,如图所示重叠,pc1 的比例移到上方,同样 pc2 和 pc3 重叠,如何消除这些问题,以便打印 pc1、pc2 和 pc3 的比例对的地方?
【问题讨论】:
-
你有两个非常简单的错误:
new = cbind(mtcars_pca,cluster = k$cluster)和with(new,text3d(PC1,PC2,PC3,car)) -
不是对象,是
mtcars_pca(car = rownames(mtcars))的列。 -
有多种选择,但我建议您咨询
pca3d和ellipse3d(来自rgl包)。 -
我已经编辑了问题。