Saya ingin memvisualisasikan hasil pengelompokan (diproduksi dengan protoclust{protoclust}
) dengan membuat plot scater untuk setiap pasangan variabel yang digunakan untuk mengklasifikasikan data saya, mewarnai dengan kelas dan tumpang tindih elips untuk interval kepercayaan 95% untuk masing-masing kelas (untuk memeriksa yang mana kelas-elip tumpang tindih di bawah setiap pasangan variabel).
Saya telah menerapkan gambar elips dengan dua cara berbeda dan elips yang dihasilkan berbeda! (elips yang lebih besar untuk implementasi pertama!) A priori mereka hanya berbeda dalam ukuran (beberapa skala yang berbeda?), sebagai pusat dan sudut sumbu, tampaknya sama di keduanya. Saya kira saya pasti melakukan sesuatu yang salah dengan menggunakan salah satunya (harap tidak dengan keduanya!), Atau dengan argumen.
Adakah yang bisa memberitahu saya apa yang saya lakukan salah?
Di sini kode untuk dua implementasi; keduanya didasarkan pada jawaban untuk Bagaimana elips data dapat ditumpangkan pada sebar ggplot2?
### 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)
Berikut adalah dua plot bersama (grafik kiri adalah p1
implementasi ( ellipse()
):
Data tersedia di sini: https://www.dropbox.com/sh/xa8xrisa4sfxyj0/l5zaGQmXJt
Warning message: In cov.trob(cbind(data$x, data$y)) : Probable convergence failure
apakah ini juga terjadi ketika Anda menjalankan kode?