在介绍因子分析之前,我想和大家解释一下主成分分析和因子分析的区别:

(1)主成分分析主要是对原始变量进行线性组合,不涉及模型与假设,而因子分析则需要构造一个因子模型并伴随相关假设;

(2)主成分分析的解是唯一确定的,而因子分析的解往往不唯一;

(3)最后,因子分析对结果的解释效果往往比主成分分析更好,更具有现实意义。

我们可以使用R语言的内置函数factanal()来进行因子分析,该函数使用的是极大似然估计法,我们使用mtcars数据集作为示例数据。

1. 探索性因子分析

mydata <- mtcars
# 极大似然因子分析
# 提取2个因子,使用最大方差法旋转
fit <- factanal(mydata, 3, rotation="varimax") # 第2个参数是提取的因子个数
print(fit, digits=2, cutoff=0.3, sort=TRUE) # 输出结果

从上面的结果可以看到,Loadings部分第1个因子主要反映的是前7项变量的共同特征,而第2个因子主要反映后5项变量的特征,并且这两个因子的累计方差贡献率达到72%。另外,这三个因子是否能充分解释这些变量特征的假设检验结果P值为0.205 (大于0.05),说明这三个因子足以解释这些变量了。

load <- fit$loadings[,1:2]
plot(load,type="n") # 绘图
text(load,labels=names(mydata),cex=1) # 添加变量名 

从上图可以看出,不同的变量可以用这两个因子进行区分。

另外,“psych”包的fa()函数也提供了各种相关的因子分析方法,使用起来十分方便,包括主轴因子分析(principal axis factor analysis):

# 主轴因子分析
library(psych)
r <- corr.test(mydata)$r # 提取各个变量之间的相关系数矩阵
fit2 <- fa(r, nfactors=3, rotate="varimax",fm="pa") # 指定因子个数,旋转方法和计算方法
fit2 # 输出结果

上图的结果解释和之前的一样,这里就不赘述了!

2. 确定要提取的因子数目

探索性因子分析最关键的就是确定提取的因子个数,这里R包“nFactors”就提供了一套函数用于辅助确定因子个数:

# 确定应提取的因子个数
library(nFactors)
ev <- eigen(cor(mydata)) # 获取特征值
ap <- parallel(subject=nrow(mydata),var=ncol(mydata),rep=100,cent=.05) # subject指样本个数,var是指变量个数
nS <- nScree(x=ev$values, aparallel=ap$eigen$qevpea) # 确定探索性因子分析中应保留的因子
plotnScree(nS) # 绘制碎石图

该图的横坐标反映的的是各个因子,纵坐标对应各个因子的特征值,可以看出从第4个因子开始,它们的特征值几乎就没有变化了。所以从上图不难看出,选择三个因子是最佳的。

关于探索性因子分析的内容就讲解到这里,感兴趣的朋友可以学习一下验证性因子分析的相关内容。

因子分析累计方差贡献率要在多少_R语言进阶之因子分析相关推荐

  1. 因子分析累计贡献率_互助问答第59期:多期DID平行趋势检验以及因子分析累计方差贡献率...

    今日问题1 在多期DID情况下:平行趋势检验图示中最后生成的图是怎么看的?怎么能看出来政策发生期前不显著?还有图上的置信区间有什么用?能代表什么? 今日解答1 纵轴表示的是处理组和控制组在结果变量上的 ...

  2. 因子分析累计贡献率_累计方差贡献率_spss累计方差贡献率_因子分析方差贡献率...

    spss中因子方差贡献率–怎样用SPSS求方差贡献率和方差累计贡献率 analyze 下面选择 diemnsion reducation ,再选择factor 因子分析,把你需要计算方差贡献率的变量放 ...

  3. 因子分析累计贡献率_累计方差贡献率和方差贡献率是什么关系SPSS中~~

    各方差贡献率相加和等于累计方差贡献率.主成分分析的重点在于解释各变量的总方差,而因子分析则把重点放在解释各变量之间的协方差.主成分分析中不需要有假设,因子分析则需要一些假设.因子分析的假设包括:各个共 ...

  4. pca 累积方差贡献率公式_累计方差贡献率和方差贡献率是什么关系SPSS中~~

    展开全部 各方差贡献率62616964757a686964616fe59b9ee7ad9431333431356637相加和等于累计方差贡献率. 主成分分析的重点在于解释各变量的总方差,而因子分析则把 ...

  5. matlab方差贡献率,求助,关于累计方差贡献率低的原因?

    不同的学科有不同的标准,没有一个统一的标准: Cumulative percentage of variance (criterion) is another area of disagreement ...

  6. ggplot2箱式图两两比较_R语言进阶笔记2 | 长数据与ggplot2

    1. 长数据是什么鬼? 之前介绍了如何将多个性状的箱线图放在一个图上,比如learnasreml包中的fm数据,它有h1~h5五年的株高数据,想对它进行作图. 「数据预览:」 > library ...

  7. r语言 回归分析 分类变量_R语言进阶之广义线性回归

    广义线性回归是一类常用的统计模型,在各个领域都有着广泛的应用.今天我会以逻辑回归和泊松回归为例,讲解如何在R语言中建立广义线性模型. 在R语言中我们通常使用glm()函数来构建广义线性模型,glm实际 ...

  8. r语言各形状编号_R语言进阶之图形参数

    1. 概述 R语言是即使一款功能强大的统计语言,也是一款内容丰富的绘图工具.从原则上讲,你可以用R语言绘制出你能想到的任何图形. 你可以使用par()函数来设置绘图的相关参数(字体.坐标轴.标题等), ...

  9. 因子分析累计贡献率_揭秘:SPSS同一个表‘解释的总方差’可以同时解释主成分分析的方差贡献和因子分析的方差贡献...

    又是一个轮到自己讲课的难过周,主题是因子分析和主成分分析,刚好可以对比二者的差别. 然后就被一个细节困住了:为什么同一个解释的总方差表可以解释因子分析的因子方差贡献率又可以解释主成分分析的主成分方差贡 ...

最新文章

  1. 【洛谷 1969】积木大赛
  2. DropdownList 赋初始值问题
  3. [codevs1039]数的划分
  4. 解决虚拟机时间引起的奇怪问题
  5. python能做什么excel-python处理excel总结
  6. 找到某个关键字 同义词词林 python_Python——详解__slots__,property和命名规范
  7. 2019年下半年网络管理员考试上午真题(答案+解析)
  8. 获取支付宝小程序链接
  9. LOL英雄联盟打不了文字,打字就一闪一闪的,英文可以,解决方式
  10. w8ndows 秒表,关闭 Windows Search,Win8 能变快?
  11. 交大『云观CD-ROMIII』直接由CD-ROM执行之安装法(转)
  12. [ICCV2021]Learning to Stylize Novel Views
  13. 需求分析师如何提高核心竞争力
  14. python获取指定端口流量_python如何查看系统网络流量的信息
  15. 对话 Apache 巨咖 - 如何做好一个开源项目?
  16. 电容,电阻,二极管,三极管
  17. 基于SSM二手交易平台
  18. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第二题: js 混淆 - 动态Cookie
  19. 极狐GitLab 和 ArgoCD 的集成实践
  20. vue3调用百度地图标注选择位置并获取经纬度

热门文章

  1. Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)
  2. R语言使用ggpubr包的ggbarplot函数可视化分组条形图(grouped bar plot)、并添加误差条(error bar、误差条显示平均值+/-sd)、不添加填充色、添加jitter抖动
  3. pandas使用replace函数和正则表达式移除dataframe字符串数据列中尾部指定模式字符串(Removing trailing substring in dataframe)
  4. R语言可视化包ggplot2绘制甘特图(gantt chart)实战
  5. R语言sample函数数据对象采样实战
  6. python构建t检验(Student’s t-test)
  7. python字典之defaultdict详解
  8. 标称变量(Categorical Features)或者分类变量(Categorical Features​​​​​​​)缺失值填补、详解及实战
  9. Java面向对象知识概括归纳与总结
  10. 三代测序数据纠错的方法、装置和计算机可读存储介质与流程