有没有办法从R中的Mclust分类图中删除点?

问题描述

我正在尝试使用R中的Mclust软件包绘制数据集的GMM。虽然绘制成功,但我不希望在最终绘图中显示点,而只是希望显示椭圆。作为参考,这是我获得的图:

GMM Plot

但是,我希望生成的图仅包含椭圆,如下所示:

GMM desired plot

我一直在查看https://rdrr.io/cran/mclust/man/plot.Mclust.html中的Mclust图页面,并查看该函数的参数,发现可以添加其他图形参数。查看plot函数的文档,有一个名为type ='n'的参数,该参数可能有助于执行我想要的操作,但是当我编写它时,它会产生以下错误

plot.default(data [,1],data [,2],type =“ n”,xlab = xlab,ylab = ylab,的错误: 形式参数“类型”与多个实际参数匹配

作为参考,这是我用于第一个绘图的代码

library(mclust)

Data1_2 <- Mclust(Data,G=15)
summary(Data1_2,parameters = TRUE,classification = TRUE)
plot(Data1_2,what="classification")

我尝试用于获取以下图形的代码是:

Data1_4 <- Mclust(Data,G=8)
summary(Data1_4,classification = TRUE)
plot(Data1_4,what="classification",type = "n")

在此问题上的任何帮助将不胜感激。谢谢!

解决方法

如果您在plot.Mclust的源代码下查看,它将调用plot.Mclust.classification,而对于点和椭圆图,它依次调用coordProj。在此函数内部,大小由选项CEX=和形状PCH=控制。

因此,出于您的目的,请执行以下操作:

library(mclust)
clu = Mclust(iris[,1:4],G = 3,what="classification")
plot(clu,what="classification",CEX=0)

enter image description here