0

我已经使用 ggbiplot 函数构建了一个 PCA 图并添加了置信椭圆(stat_ellipse),但我想创建一个 2d 多边形来勾勒出不同组(由三个湖泊组成)的所有数据点的轮廓,我该怎么做?

这稍后将用于分析三组(湖泊)的欧几里得或超空间“体积”之间的重叠百分比。

df = 相关矩阵

>lake2
     [1] kariba   kariba   kariba   kariba   kariba   kariba   kariba   kariba   kariba   kariba  
    [11] kariba   liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi
    [21] liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi
    [31] liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi liambezi mweru   
    [41] mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru   
    [51] mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru   
    [61] mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru   
    [71] mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru    mweru   
    [81] mweru    mweru    mweru    mweru    mweru   
    Levels: kariba liambezi mweru

>df
                specialist1   specialist2   
    species1    -0.313262597-0.437460551
    species2    0.576373454 -0.645732708
    species3    0.865365178 -0.493823505
    species4    0.183177252 -0.648027188
    species5    0.331757788 -0.356624212
    species6    0.099814746 -0.565901604
    species7    0.504824107 -0.517415651
    species8    -0.23524605 -0.074835643
    species9    0.3355018   -0.430837755


    df1<-prcomp(df)

    ggbiplot(df1, obs.scale = 1, var.scale = 1, groups = lake2) + theme_bw() +
      scale_color_discrete(name = '') + 
      theme(legend.direction = 'vertical', legend.position = 'right') +
      stat_ellipse(geom = "polygon",  alpha = 1/6, aes(fill = groups), show.legend = F)
4

0 回答 0