1、关键点

综述:主成分分析 因子分析 典型相关分析,三种方法的共同点主要是用来对数据降维处理的从数据中提取某些公共部分,然后对这些公共部分进行分析和处理。

#主成分分析 是将多指标化为少数几个综合指标的一种统计分析方法

主成分分析是一种通过降维技术把多个变量化成少数几个主成分的方法,这些主成分能够反映原始变量的大部分信息,他们通常表示为原始变量的线性组合。

2、函数总结

#R中作为主成分分析最主要的函数是princomp()函数
#princomp()主成分分析   可以从相关阵或者从协方差阵做主成分分析
#summary()提取主成分信息 
#loadings()显示主成分分析或因子分析中载荷的内容
#predict()预测主成分的值 
#screeplot()画出主成分的碎石图 
#biplot()画出数据关于主成分的散点图和原坐标在主成分下的方向

3、案例

#现有30名中学生身高、体重、胸围、坐高数据,对身体的四项指标数据做主成分分析。

#1.载入原始数据
test<-data.frame(
  X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151, 139,
           140, 161, 158, 140, 137, 152, 149, 145, 160, 156,
           151, 147, 157, 147, 157, 151, 144, 141, 139, 148),
  X2=c(41, 34, 49, 36, 45, 31, 43, 43, 42, 31,
           29, 47, 49, 33, 31, 35, 47, 35, 47, 44,
           42, 38, 39, 30, 48, 36, 36, 30, 32, 38),
  X3=c(72, 71, 77, 67, 80, 66, 76, 77, 77, 68,
          64, 78, 78, 67, 66, 73, 82, 70, 74, 78,
          73, 73, 68, 65, 80, 74, 68, 67, 68, 70),
  X4=c(78, 76, 86, 79, 86, 76, 83, 79, 80, 74,
           74, 84, 83, 77, 73, 79, 79, 77, 87, 85,
           82, 78, 80, 75, 88, 80, 76, 76, 73, 78)
  )

#2.作主成分分析并显示分析结果
test.pr<-princomp(test,cor=TRUE)  #cor是逻辑变量当cor=TRUE表示用样本的相关矩阵R做主成分分析

当cor=FALSE表示用样本的协方差阵S做主成分分析
summary(test.pr,loadings=TRUE)  #loading是逻辑变量当loading=TRUE时表示显示loading 的内容

#loadings的输出结果为载荷是主成分对应于原始变量的系数即Q矩阵

分析结果含义
#----Standard deviation 标准差   其平方为方差=特征值
#----Proportion of Variance  方差贡献率
#----Cumulative Proportion  方差累计贡献率

#由结果显示 前两个主成分的累计贡献率已经达到96% 可以舍去另外两个主成分 达到降维的目的

因此可以得到函数表达式 Z1=-0.497X'1-0.515X'2-0.481X'3-0.507X'4

Z2=  0.543X'1-0.210X'2-0.725X'3-0.368X'4

#4.画主成分的碎石图并预测

screeplot(test.pr,type="lines")

p<-predict(test.pr)

由碎石图可以看出 第二个主成分之后 图线变化趋于平稳 因此可以选择前两个主成分做分析

程序员必读

R语言 PCA的更多相关文章

  1. 主成分分析(PCA)原理及R语言实现

    原理: 主成分分析 - stanford 主成分分析法 - 智库 主成分分析(Principal Component Analysis)原理 主成分分析及R语言案例 - 文库 主成分分析法的原理应用及 ...

  2. 主成分分析(PCA)原理及R语言实现 | dimension reduction降维

    如果你的职业定位是数据分析师/计算生物学家,那么不懂PCA.t-SNE的原理就说不过去了吧.跑通软件没什么了不起的,网上那么多教程,copy一下就会.关键是要懂其数学原理,理解算法的假设,适合解决什么 ...

  3. R语言主成分分析(PCA)

    数据的导入 > data=read.csv('F:/R语言工作空间/pca/data.csv') #数据的导入> > ls(data) #ls()函数列出所有变量 [1] " ...

  4. 【转】R语言主成分分析(PCA)

    https://www.cnblogs.com/jin-liang/p/9064020.html 数据的导入 > data=read.csv('F:/R语言工作空间/pca/data.csv') ...

  5. R语言 推荐算法 recommenderlab包

    recommend li_volleyball 2016年3月20日 library(recommenderlab) library(ggplot2) # data(MovieLense) dim(M ...

  6. 数据分析R语言1

    数据分析R语言 无意中发现网上的一个数据分析R应用教程,看了几集感觉还不错,本文做一个学习笔记(知识点来源:视频内容+R实战+自己的理解),视频详细的信息请参考http://www.itao521.c ...

  7. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  8. 主成分分析、实例及R语言原理实现

    欢迎批评指正! 主成分分析(principal component analysis,PCA) 一.几何的角度理解PCA -- 举例:将原来的三维空间投影到方差最大且线性无关的两个方向(二维空间). ...

  9. R语言:recommenderlab包的总结与应用案例

    R语言:recommenderlab包的总结与应用案例   1. 推荐系统:recommenderlab包整体思路 recommenderlab包提供了一个可以用评分数据和0-1数据来发展和测试推荐算 ...

随机推荐

  1. Hadoop - WordCount代码示例

    文章来源:http://www.itnose.net/detail/6197823.html import java.io.IOException; import java.util.Iterator ...

  2. [Swift通天遁地]九、拔剑吧-(6)使用开源类库快速搭建强大的侧边栏项目

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. 【Kafka】《Kafka权威指南》——从Kafka读取数据

    应用程序使用 KafkaConsumer向 Kafka 订阅主题,并从订阅的主题上接收消息 . 从 Kafka 读取数据不同于从其他悄息系统读取数据,它涉及一些独特的概念和想法.如果不先理解 这些概念 ...

  4. Centos7 时间不正确修复

    查看系统支持的时区列表 timedatectl list-timezones 使用 date -R 查看时区是否正确 date -R 修改时区 timedatectl set-timezone Asi ...

  5. 3 工欲善其事必先利其器,C#开发环境准备

    1.       为什么选择C#作为入门的编程语言开始学习? Java和C#是比较主流的两大开发语言.(除了这两种还有什么比较流行的开发语言?)相对于Java,C#的入门要容易一些.学习java开发需 ...

  6. React Native常用组件在Android和IOS上的不同

    React Native常用组件在Android和IOS上的不同 一.Text组件在两个平台上的不同表现 1.1 height与fontSize 1.1.1只指定font,不指定height 在这种情 ...

  7. C#入门经典 Chapter1&2

    Chapter1 1.1 .Net Framework的内容 主要包含一个庞大的代码库,可以在客户端通过OOP来使用这些代码(OOP:Object Oriented Programming面对对象程序 ...

  8. js技巧(一)

    1.文档入口函数 window.onload = function () { //code 将会在页面的全部代码执行完成之后再去执行. } 2.弹窗   alert()   警告窗   confirm ...

  9. html5——渐变

    线性渐变 <style> div { width: 700px; height: 100px; /*方向:从右向左*/ /*起始颜色:黄色*/ /*终止颜色:绿色*/ background ...

  10. 批量注释LOG

    sed -i "s/LOG/\/\/ LOG/g" `grep LOG\(TRACE\) -rl .`