R의 Mclust 분류 플롯에서 포인트를 제거하는 방법이 있습니까?

Aug 21 2020

R의 Mclust 패키지를 사용하여 데이터 세트의 GMM을 플로팅하려고합니다. 플로팅은 성공했지만 최종 플롯에는 점이 표시되지 않고 타원 만 표시되기를 원합니다. 참고로 내가 얻은 줄거리는 다음과 같습니다.

GMM 플롯

그러나 결과 플롯에 다음과 같이 타원 만 포함되기를 원합니다.

GMM 원하는 플롯

나는 Mclust 플롯 페이지를 살펴 보았습니다. https://rdrr.io/cran/mclust/man/plot.Mclust.html함수의 인수를 살펴보면 다른 그래픽 매개 변수를 추가 할 수있는 범위가 있음을 알 수 있습니다. 플롯 함수의 문서를 살펴보면 type = 'n'이라는 매개 변수가있어 원하는 작업을 수행하는 데 도움이 될 수 있지만 작성하면 다음 오류가 발생합니다.

plot.default (data [, 1], data [, 2], type = "n", xlab = xlab, ylab = ylab, : 여러 실제 인수와 일치하는 형식 인수 "type"오류

참고로 다음은 첫 번째 플롯에 사용한 코드입니다.

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, parameters = TRUE, classification = TRUE)
plot(Data1_4,  what="classification", type = "n")

이 문제에 대한 도움을 주시면 감사하겠습니다. 감사!

답변

StupidWolf Aug 21 2020 at 15:42

당신의 소스 코드에서 보면 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)