protoclust{protoclust}
내 데이터를 분류하고 클래스별로 색상을 지정하고 각 클래스에 대해 95 % 신뢰 구간에 대해 타원을 겹치는 데 사용되는 각 변수 쌍에 대해 스 캐터 플롯을 작성 하여 클러스터링 (으로 생성 ) 결과를 시각화하고 싶습니다 ( elipses-classes는 각 변수 쌍에서 겹칩니다).
타원 그리기를 두 가지 방법으로 구현했으며 결과 타원이 다릅니다! (첫 번째 구현의 경우 큰 타원!) 우선 중심과 축 각도가 크기가 다르기 때문에 크기가 다릅니다 (일부 다른 스케일링?). 나는 그들 중 하나를 사용하거나 (두 가지 모두를 희망하지 마십시오!) 또는 논쟁으로 뭔가 잘못하고 있다고 생각합니다.
아무도 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
다음은 두 가지 구현을위한 코드입니다. 둘 다 ggplot2 scatterplot에 데이터 타원 을 어떻게 겹쳐 놓을 수 있습니까?
### 1st implementation
### using ellipse{ellipse}
library(ellipse)
library(ggplot2)
library(RColorBrewer)
colorpal <- brewer.pal(10, "Paired")
x <- data$x
y <- data$y
group <- data$group
df <- data.frame(x=x, y=y, group=factor(group))
df_ell <- data.frame()
for(g in levels(df$group)){df_ell <- rbind(df_ell, cbind(as.data.frame(with(df[df$group==g,], ellipse(cor(x, y),scale=c(sd(x),sd(y)),centre=c(mean(x),mean(y))))),group=g))}
p1 <- ggplot(data=df, aes(x=x, y=y,colour=group)) + geom_point() +
geom_path(data=df_ell, aes(x=x, y=y,colour=group))+scale_colour_manual(values=colorpal)
### 2nd implementation
###using function ellipse_stat()
###code by Josef Fruehwald available in: https://github.com/JoFrhwld/FAAV/blob/master/r/stat-ellipse.R
p2 <-qplot(data=df, x=x,y=y,colour=group)+stat_ellipse(level=0.95)+scale_colour_manual(values=colorpal)
다음은 두 플롯을 함께 보여줍니다 (왼쪽 그래프는 p1
구현 ( ellipse()
)).
데이터는 여기에 있습니다 : https://www.dropbox.com/sh/xa8xrisa4sfxyj0/l5zaGQmXJt
Warning message: In cov.trob(cbind(data$x, data$y)) : Probable convergence failure
를 실행할 때 코드를 실행할 때 경고 메시지 가 표시 됩니까?