Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >主成分分析 factoextra

主成分分析 factoextra

作者头像
用户1359560
发布于 2018-08-27 03:27:05
发布于 2018-08-27 03:27:05
1.9K00
代码可运行
举报
文章被收录于专栏:生信小驿站生信小驿站
运行总次数:0
代码可运行

factoextra是一个R软件包,可以轻松提取和可视化探索性多变量数据分析的输出,其中包括: 主成分分析(PCA),用于通过在不丢失重要信息的情况下减少数据的维度来总结连续(即定量)多变量数据中包含的信息。 对应分析(CA),它是适用于分析由两个定性变量(或分类数据)形成的大型列联表的主成分分析的扩展。 多重对应分析(MCA),它是将CA改编为包含两个以上分类变量的数据表格。 多因素分析(MFA)专用于数据集,其中变量按组(定性和/或定量变量)组织。 分层多因素分析(HMFA):在数据组织为分层结构的情况下,MFA的扩展。 混合数据因子分析(FAMD)是MFA的一个特例,致力于分析包含定量和定性变量的数据集。 有许多R包实现主要组件方法。这些软件包包括:FactoMineR,ade4,stats,ca,MASS和ExPosition。

  • 为什么使用

  • R package factoextra具有灵活且易于使用的方法,可以用人类可读的标准数据格式快速提取上述不同软件包的分析结果。
  • 它以较少的输入产生了基于ggplot2的优雅数据可视化
  • 它还包含许多便于聚类分析和可视化的功能。
  • factoextra R软件包可以处理来自多个软件包的PCA,CA,MCA,MFA,FAMD和HMFA的结果,用于提取和可视化数据中包含的最重要信息。
  • 在PCA,CA,MCA,MFA,FAMD和HMFA之后,可以使用以下高亮显示最重要的行/列元素: 它们的cos2值对应于它们在因子图上的表示质量 他们对主要维度定义的贡献。 如果你想这样做,factoextra包提供了一个方便的解决方案。

  • 如果您想使用PCA / MCA进行预测并使用ggplot2可视化补充变量/个体在因子图上的位置:那么factoextra可以为您提供帮助。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library("factoextra")
data("decathlon2")
df <- decathlon2[1:23, 1:10]
library("FactoMineR")
res.pca <- PCA(df,  graph = T)
get_eig(res.pca)
fviz_screeplot(res.pca, addlabels = TRUE, ylim = c(0, 50))
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Extract the results for variables
var <- get_pca_var(res.pca)
var
#> Principal Component Analysis Results for variables
#>  ===================================================
#>   Name       Description                                    
#> 1 "$coord"   "Coordinates for the variables"                
#> 2 "$cor"     "Correlations between variables and dimensions"
#> 3 "$cos2"    "Cos2 for the variables"                       
#> 4 "$contrib" "contributions of the variables"
# Coordinates of variables
head(var$coord)
#>                   Dim.1       Dim.2      Dim.3       Dim.4      Dim.5
#> X100m        -0.8506257 -0.17939806  0.3015564  0.03357320 -0.1944440
#> Long.jump     0.7941806  0.28085695 -0.1905465 -0.11538956  0.2331567
#> Shot.put      0.7339127  0.08540412  0.5175978  0.12846837 -0.2488129
#> High.jump     0.6100840 -0.46521415  0.3300852  0.14455012  0.4027002
#> X400m        -0.7016034  0.29017826  0.2835329  0.43082552  0.1039085
#> X110m.hurdle -0.7641252 -0.02474081  0.4488873 -0.01689589  0.2242200
# Contribution of variables
head(var$contrib)
#>                  Dim.1      Dim.2     Dim.3       Dim.4     Dim.5
#> X100m        17.544293  1.7505098  7.338659  0.13755240  5.389252
#> Long.jump    15.293168  4.2904162  2.930094  1.62485936  7.748815
#> Shot.put     13.060137  0.3967224 21.620432  2.01407269  8.824401
#> High.jump     9.024811 11.7715838  8.792888  2.54987951 23.115504
#> X400m        11.935544  4.5799296  6.487636 22.65090599  1.539012
#> X110m.hurdle 14.157544  0.0332933 16.261261  0.03483735  7.166193
# Graph of variables: default plot
fviz_pca_var(res.pca, col.var = "black")
  • 可以使用它们对主轴的贡献(“contrib”)来控制变量颜色:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Control variable colors using their contributions
fviz_pca_var(res.pca, col.var="contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE # Avoid text overlapping
             )
  • 对主轴的可变贡献:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Extract the results for individuals
ind <- get_pca_ind(res.pca)
ind
#> Principal Component Analysis Results for individuals
#>  ===================================================
#>   Name       Description                       
#> 1 "$coord"   "Coordinates for the individuals" 
#> 2 "$cos2"    "Cos2 for the individuals"        
#> 3 "$contrib" "contributions of the individuals"
# Coordinates of individuals
head(ind$coord)
#>                Dim.1      Dim.2      Dim.3       Dim.4       Dim.5
#> SEBRLE     0.1955047  1.5890567  0.6424912  0.08389652  1.16829387
#> CLAY       0.8078795  2.4748137 -1.3873827  1.29838232 -0.82498206
#> BERNARD   -1.3591340  1.6480950  0.2005584 -1.96409420  0.08419345
#> YURKOV    -0.8889532 -0.4426067  2.5295843  0.71290837  0.40782264
#> ZSIVOCZKY -0.1081216 -2.0688377 -1.3342591 -0.10152796 -0.20145217
#> McMULLEN   0.1212195 -1.0139102 -0.8625170  1.34164291  1.62151286
# Graph of individuals
# 1\. Use repel = TRUE to avoid overplotting
# 2\. Control automatically the color of individuals using the cos2
    # cos2 = the quality of the individuals on the factor map
    # Use points only
# 3\. Use gradient color
fviz_pca_ind(res.pca, col.ind = "cos2", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE # Avoid text overlapping (slow if many points)
             )

[图片上传失败...(image-6a6139-1529602238838)]

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.06.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
主成分分析PCA谱分解、奇异值分解SVD预测分析运动员表现数据和降维可视化
本文描述了如何 使用R执行主成分分析 ( PCA )。您将学习如何 使用 PCA_预测_ 新的个体和变量坐标。我们还将提供 _PCA 结果_背后的理论。
拓端
2022/03/05
1.3K0
主成分分析PCA谱分解、奇异值分解SVD预测分析运动员表现数据和降维可视化
聚类分析和主成分分析
示例数据一:现有16种饮料的热量、咖啡因含量、钠含量和价格的数据,根据这4个变量对16饮料进行聚类
生信技能树
2019/12/23
2.7K0
聚类分析和主成分分析
R语言主成分分析可视化(颜值高,很详细)
网络上很多R语言教程都是基于R语言实战进行修改,今天为大家介绍更好用的R包,在之前聚类分析中也经常用到:factoextra和factoMineR,关于主成分分析的可视化,大家比较常见的可能是ggbiplot,这几个R包都挺不错,大家可以比较下。
医学和生信笔记
2023/02/14
1.2K0
R语言主成分分析可视化(颜值高,很详细)
PCA原理及实现-R
PCA是一种无参数的数据降维方法,常用的机器学习算法一种,这篇文章主要从PCA应用于解释两个方面介绍。关于PCA原理,详情这里
Jamesjin63
2022/10/25
4170
PCA原理及实现-R
R语言中的主成分方法:PCA分析和可视化实用指南
主成分分析(PCA)允许我们总结和可视化包含多个相互关联的定量变量描述的个体/观察的数据集中的信息。每个变量都可以被视为不同的维度。如果你的数据集中有3个以上的变量,那么可视化多维超空间可能会非常困难。
简说基因
2025/03/13
3241
R语言中的主成分方法:PCA分析和可视化实用指南
R语言PCA分析_r语言可视化代码
如果不对数据进行scale处理,本身数值大的基因对主成分的贡献会大。如果关注的是变量的相对大小对样品分类的贡献,则应SCALE,以防数值高的变量导入的大方差引入的偏见。但是定标(scale)可能会有一些负面效果,因为定标后变量之间的权重就是变得相同。如果我们的变量中有噪音的话,我们就在无形中把噪音和信息的权重变得相同,但PCA本身无法区分信号和噪音。在这样的情形下,我们就不必做定标。
全栈程序员站长
2022/11/07
2.8K0
R语言PCA分析_r语言可视化代码
【R语言】factoextra生成发表级PCA主成分分析图(二)
主要讲了如何展示样本的主成分分析结果,即样本在新的空间中的分布情况,便于查看样本分群的结果。
生信交流平台
2022/09/21
7470
【R语言】factoextra生成发表级PCA主成分分析图(二)
GEO数据库中国区镜像横空出世
Install the development version from Github:
生信技能树
2019/12/05
3.8K0
【R语言】factoextra生成发表级PCA主成分分析图(三)
观察仔细的小伙伴可能发现,在上面这张图里面有三个点比其他点要大一些,其实这三个点是三个组的中心点。那么我们怎么去除各组的中心点呢?其实只需要修改mean.poin这个参数就可以了
生信交流平台
2022/09/21
5570
【R语言】factoextra生成发表级PCA主成分分析图(三)
高维数据 | R语言绘图基础之主成分分析
在视觉性方面,人类普遍能够感知的是二维和三维空间。对于高维数据的可视化是将高维数据投影到二维或三维空间,去掉冗余属性,同时保留高维空间的数据和特征。说白了,高维数据的可视化就是使用降维度方法,主要分成线性和非线性两大类,关于非线性的非度量多维尺度分析NMDS见往期文章非度量多维尺度分析(NMDS),关于线性的PCA方法,见往期文章PCA做图最佳搭档-ggbiplot,本文主要针对迷弥小粉丝关于绘制线性PCA图数据处理过程遇到的问题进行记录。
黑妹的小屋
2020/08/06
2K0
PCA主成分分析实战和可视化 | 附R代码和测试数据
一文看懂PCA主成分分析中介绍了PCA分析的原理和分析的意义(基本简介如下,更多见博客),今天就用数据来实际操练一下。
生信宝典
2018/12/29
4.6K0
PCA主成分分析实战和可视化 | 附R代码和测试数据
R实现PCA降维
PCA(Principal Component Analysis),即主成分分析方法,是一种使用广泛的数据降维算法。详细的概念可以参照https://zhuanlan.zhihu.com/p/37777074 一般将多个样本降维就可以得到二维的分布,相似的样本成为一群,但有时候我们想知道哪些特征导致了这样的分群。 这里我们主要讨论怎么样用R实现以及提取我们需要的特征: 用R实现PCA有多个方法: prcomp() and princomp() [built-in R stats package], PCA() [FactoMineR package], dudi.pca() [ade4 package], and epPCA() [ExPosition package]
生信编程日常
2020/04/01
1.9K0
R实现PCA降维
【R语言】factoextra生成发表级PCA主成分分析图(一)
今天我们来给大家介绍另一个做PCA分析并绘图的R包factoextra,很多SCI文章中都用到了这个R包。换句话说这个R包画出来的PCA图是发表级的。
生信交流平台
2022/09/21
1.1K0
【R语言】factoextra生成发表级PCA主成分分析图(一)
R tips:使用prcomp进行PCA降维
PCA分析和可视化常用的是FactoMineR和factoextra的组合,分析和出图都很方便,比如将iris数据集的四个参数降维(示例使用):
生信菜鸟团
2021/02/03
4.4K0
R tips:使用prcomp进行PCA降维
寻找差异的feature
在生物学上,经常会遇到找control和treat的差异基因或者任意两个或者两个以上处理条件下,最差异的变化,比如我有这样一个数据,几千个细胞分为处理过的和没处理过的,然后通过拍照记录了他们的形态大小等几十个特征,我想知道哪个特征产生了最大的变化。
生信编程日常
2020/04/01
5700
寻找差异的feature
R可视乎|主成分分析结果可视化
主成分分析法是很常用的一种数据降维方法[1]。该方法可以减少数据的维数,并保持对方差贡献最大的特征,相当于保留低阶主成分,忽略高阶主成分。
庄闪闪
2021/04/09
1.8K0
PCA分析的方方面面
今天做PCA分析时,发现了这个ggord包,绘图很给力。利用官方的文档,学习一下。这其中,我又将PCA相关的分析方法和作图汇总了一下:
邓飞
2021/03/30
1.8K0
PCA分析的方方面面
两分组差异分析的上下调基因跟PCA分析的主成分基因的交集如何
学员提出来了一个很有意思的问题, 就是表达量矩阵质量控制环节里面的PCA分析,可以看出来不同样品在二维图里面的距离,其中PC1是可以区分两个分组,如下所示:
生信技能树
2023/09/04
5360
两分组差异分析的上下调基因跟PCA分析的主成分基因的交集如何
主成分分析、K均值聚类R语言实现小实例
数据集下载链接 https://acadgildsite.s3.amazonaws.com/wordpress_images/r/wineDataset_Kmeans/Wine.csv
用户7010445
2020/03/03
1.5K0
R语言 主成分分析PCA(绘图+原理)
PCA 是一种较为常用的降维技术,PCA 的思想是将n维特征映射到k维上,这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征。在 PCA 中,数据从原来的坐标系转换到新的坐标系下,新的坐标系的选择与数据本身是密切相关的。其中,第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选取的是与第一个坐标轴正交且具有最大方差的方向,依次类推,我们可以取到这样的k个坐标轴。
拴小林
2021/05/31
14.2K0
R语言 主成分分析PCA(绘图+原理)
推荐阅读
相关推荐
主成分分析PCA谱分解、奇异值分解SVD预测分析运动员表现数据和降维可视化
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验