我使用以下代码生成了一些图表:
#Remove group label from the dataframe
data_just_feats <- data[ , -which(names(data) %in% c("Group"))]
# Pca Plot
plot_1 <- autoplot(prcomp(data_just_feats), data = data, colour = 'Group', size = 0.001, frame = TRUE, frame.type = "norm") +
scale_color_manual(values=c(col.5, col.4, col.3)) +
scale_fill_manual(values= c(col.5, col.4, col.3)) +
theme(axis.line= element_line())
plot_1
得出以下结论:
但我真正想要的是椭圆的重叠百分比?
我有点不知道该去哪里,因为 PCA 是在图中生成的,而且据我所知,椭圆值并不存在于图本身之外。
(R工作室)
答案1
您可以使用 ggbuild 从图中提取数据。然后,您可能能够找出一个函数来计算重叠。
以下是 ggbuild 的一个例子:
p <- ggplot(mtcars,aes(mpg))+geom_histogram()+
facet_wrap(~cyl)+geom_vline(data=data.frame(x=c(20,30)),aes(xintercept=x))
pg <- ggplot_build(p)
答案2
我不知道这对 OP 或其他人来说是否有用,但在空间统计中,黄 (1999)提出了“分离指数”,以比较代表不同种族平均空间分布的不同椭圆之间的分离程度。
索引如下图所示
将所有椭圆的交点面积与所有椭圆的并集面积相除,所得商减去 1。
该指数可以取从 0 到 1 之间的任意值,分别对应总发散或总收敛。但据我所知,这没有任何统计意义,它只是一种描述性测量。