ggplot2作图之PCA图

该博客展示了如何利用R语言的tidyverse和vegan库进行主成分分析(PCA)。首先,通过scale函数标准化鸢尾花数据集的测量值,然后执行PCA并生成摘要。接着,将结果转换为数据框并绘制PCA结果,包括点的分布、椭圆(95%置信水平)和箭头表示的变量方向。此分析有助于数据的降维和可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

library(tidyverse)

theme_set(theme_test())
library(vegan)
pca.data <- iris %>% mutate(Sepal.Length = scale(Sepal.Length),
                            Sepal.Width = scale(Sepal.Width),
                            Petal.Length = scale(Petal.Length),
                            Petal.Width = scale(Petal.Width))
pca <- rda(pca.data[,1:4])
pca.summary <- summary(pca)
pca.result <- as.data.frame(pca.summary$sites) %>% select(-PC3,-PC4) %>% mutate(Species = iris$Species)
pca.arrow <- as.data.frame(pca.summary$species) %>% select(-PC3,-PC4)

library(tidyverse)
pca.result%>%ggplot()+
  geom_point(aes(x = PC1,y = PC2,fill = Species),shape = 21,size = 4)+
  stat_ellipse(aes(x = PC1,y = PC2,color = Species,fill = Species),
               geom ="polygon",level = 0.95,size = 0.5,alpha = 0.2)+
  geom_segment(data = pca.arrow,aes(x = 0,xend = PC1,y = 0,yend = PC2),
               arrow = arrow(length = unit(0.35,"cm")))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编码农夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值