我想protoclust{protoclust}
通过为用于对我的数据进行分类的每对变量创建散点图、按类着色以及重叠每个类的 95% 置信区间的椭圆来可视化聚类的结果(使用 生成)(检查哪个省略号类在每对变量下重叠)。
我以两种不同的方式实现了椭圆的绘制,得到的椭圆是不同的!(第一次实现的椭圆更大!)先验它们仅在大小上有所不同(一些不同的缩放比例?),因为轴的中心和角度似乎在两者中都是相似的。我想我一定是通过使用其中之一(希望不要同时使用两者!)或使用论点做错了。
谁能告诉我我做错了什么?
这里是两个实现的代码;两者都基于对如何将数据椭圆叠加在 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)
这是两个图在一起(左图是p1
实现(ellipse()
):
数据可在此处获得:https ://www.dropbox.com/sh/xa8xrisa4sfxyj0/l5zaGQmXJt