r语言 - 在PCA图中画椭圆,每组3个数据点



我使用的是RNA转录组数据"test.csv"在只有三个生物重复数据点的组周围绘制PCA图和椭圆。

test.csv

脚本

data <- read.csv("test.csv")
pca <- ggplot(data=data, aes(x = PCA.1, y = PCA.2)) +
geom_point(data=data, aes(shape=Treatment, color=sampleID), size=5, stroke = 1.5) +
scale_shape_manual(values=c(1, 2, 18, 20))+
scale_color_manual(values=c("#32CD32", "#008000", "#FF00FF", "#1E90FF", "#0000FF", "#FFD700", "#FF8C00", "#CD6600"))+
theme_bw()+
theme(legend.key.size = unit(1.2, "cm"), legend.text = element_text(size = 25), text = element_text(size = 30))+
stat_ellipse()
pca

这给了我一个单一椭圆的PCA图。

此外,我试图遵循一些解决方案从堆栈溢出比如解1,但是它们会有一些误差。我如何在每个基团周围画单独的椭圆?任何帮助将是非常感激的。提前谢谢你。

您不允许使用stat_ellipse绘制只有3个点的椭圆,解决方案可以使用ggforce包中的geom_mark_ellipse:

pca <- ggplot(data=data, aes(x = PCA.1, y = PCA.2)) +
geom_point(data=data, aes(shape=Treatment, color=sampleID), size=5, stroke = 1.5) +
scale_shape_manual(values=c(1, 2, 18, 20))+
scale_color_manual(values=c("#32CD32", "#008000", "#FF00FF", "#1E90FF", "#0000FF", "#FFD700", "#FF8C00", "#CD6600"))+
theme_bw()+
theme(legend.key.size = unit(1.2, "cm"), legend.text = element_text(size = 25), text = element_text(size = 30))+
ggforce::geom_mark_ellipse(aes(fill = sampleID,
color = sampleID))
pca

相关内容

  • 没有找到相关文章

最新更新