所以我一直在为我拥有的一些数据绘制散点图。我曾经能够让散点图功能工作,但现在我不能,而且我不明白我的错误是什么。我的数据看起来有 5 个值和一个将每个值分配给一个集群的列(在这种特殊情况下我使用了 k-means)。
closedmi uncertin certknow sourknow justknow fit3.cluster
1 3.166667 6.125 2.571429 4.500 3.375 1
2 3.666667 4.250 3.428571 4.000 4.750 2
3 1.833333 5.750 1.428571 3.375 2.125 2
4 3.500000 4.500 1.857143 4.250 3.125 3
我希望尝试使用前三个主要组件在 3 个维度上绘制我的数据并查看集群。这是我找到主成分的代码,然后将集群列附加到主成分到一个新的数据框中。
#Find the 5 principal components of the data matrix
pcdf <- princomp(pre2, cor=T, score=T)
pre4 <- data.frame(pcdf$scores, cluster=fit3$cluster)
#Making a 3D plot of the Solution
scatter3d(pre4$Comp.1, pre4$Comp.2, pre4$Comp.3, groups=pre4$cluster,
surface=FALSE, grid=FALSE, ellipsoid=TRUE)
所以然后尝试使用 scatter3d 来绘制使用集群列作为分组因素的个体,我最终会遇到错误。我一直在使用这个源代码来获得正确的语法,但我仍然会遇到错误。
scatter3d.default 中的错误(pre4$Comp.1,pre4$Comp.2,pre4$Comp.3,groups = pre4$cluster:groups 变量必须是一个因素
但它是。它在数据框中,我可以使用 pre4$cluster 调用该列。是否有一些我看不到的格式或语法错误?我只是要疯了吗?
上周我能够让它工作,现在我不能。我知道我可以使用 plot3d 来获得可视化效果,但我更喜欢使用 scatter3d 的可视化效果,并且希望能够使用它。