C'è un modo per rimuovere punti da un grafico di classificazione Mclust in R?

Aug 21 2020

Sto cercando di tracciare il GMM del mio set di dati utilizzando il pacchetto Mclust in R. Sebbene il tracciato sia un successo, non voglio che i punti vengano visualizzati nella trama finale, solo le ellissi. Per riferimento, ecco la trama che ho ottenuto:

Trama GMM

Ma voglio che la trama risultante abbia solo le ellissi, qualcosa del genere:

Trama desiderata GMM

Ho guardato la pagina della trama di Mclust in:https://rdrr.io/cran/mclust/man/plot.Mclust.htmle guardando gli argomenti della funzione, vedo che c'è la possibilità di aggiungere altri parametri grafici. Guardando la documentazione della funzione plot, c'è un parametro chiamato type = 'n' che potrebbe aiutare a fare quello che voglio ma quando lo scrivo, produce il seguente errore:

Errore in plot.default(data[, 1], data[, 2], type = "n", xlab = xlab, ylab = ylab, : argomento formale "tipo" abbinato a più argomenti effettivi

Per riferimento, questo è il codice che ho usato per la prima trama:

library(mclust)

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

Il codice che ho provato a utilizzare per ottenere il grafico seguente è:

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

Qualsiasi aiuto su questo argomento sarà apprezzato. Grazie!

Risposte

StupidWolf Aug 21 2020 at 15:42

Se guardi sotto il codice sorgente di plot.Mclust, chiama plot.Mclust.classificationche a sua volta richiede coordProjil grafico a punti ed ellisse. All'interno di questa funzione, la dimensione è controllata dall'opzione CEX=e dalla forma PCH=.

Quindi per il tuo scopo, fai:

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