R语言主成分分析的案例

原文:http://www.flybi.net/blog/dataman/3073

作者 : 面包君 我爱数据分析网创始人,阿里招聘&资深数据分析,动漫爱好者

R语言也介绍到案例篇了,也有不少同学反馈说还是不是特别明白一些基础的东西,希望能够有一些比较浅显的可以操作的入门。其实这些之前在SPSS实战案例都不少,老实说一旦用上了开源工具就好像上瘾了,对于以前的SAS、clementine之类的可视化工具没有一点感觉了。本质上还是觉得要装这个、装那个的比较麻烦,现在用R或者python直接简单安装下,导入自己需要用到的包,活学活用一些命令函数就可以了。以后平台上集成R、python的开发是趋势,包括现在BAT公司内部已经实现了。

今天就贴个盐泉水化学分析资料的主成分分析和因子分析通过R语言数据挖掘的小李子:

有条件的同学最好自己安装下R,操作一遍。

今有20个盐泉,盐泉的水化学特征系数值见下表.试对盐泉的水化学分析资料作主成分分析和因子分析.(数据可以自己模拟一份)

其中x1:矿化度(g/L);

x2:Br•103/Cl;

x3:K•103/Σ盐;

x4:K•103/Cl;

x5:Na/K;

x6:Mg•102/Cl;

x7:εNa/εCl.

1.数据准备

导入数据保存在对象saltwell中

>saltwell<-read.table("c:/saltwell.txt",header=T)

>saltwell

2.数据分析

1标准误、方差贡献率和累积贡献率

>arrests.pr<- prcomp(saltwell, scale = TRUE)

>summary(arrests.pr,loadings=TRUE)

2每个变量的标准误和变换矩阵

>prcomp(saltwell, scale = TRUE)

3查看对象arests.pr中的内容

> > str(arrests.pr)

4利用主成分的标准误计算出主成分的累积方差比例

>cumsum(arrests.pr$sdev^2)/7

[1]0.6067060 0.7850968 0.9165341 0.9790524 0.9954128 0.9999024 1.0000000

5各个化学成分占主成分的得分

> arrests.pr$x

6数据分析结果图形表示

>screeplot(arrests.pr,main="saltwell")

> biplot(arrests.pr)

按第一主成分排序的结果:

> data.frame(sort(arrests.pr$x[,1]))

主因子分析

计算数据的相关系数矩阵

saltwell.cor<-cor(saltwell)

> saltwell.cor

计算特征值和特征向量及因子的贡献率和累积贡献率

> saltwell.eigen<-eigen(saltwell.cor)

> saltwell.eigen

根据主成分分析结果确定公共因子个数.

> saltwell.pr<- princomp(saltwell, cor=T)

> summary(saltwell.pr)

均值

> saltwell.pr$center

标准误

> saltwell.pr$scale

下面用特征值的平方根乘以相应的特征向量得到因子载荷矩阵.并且只显示前2个因子的结果:

> t(sqrt(saltwell.eigen$values) *t(saltwell.eigen$vectors))[,1:2]

用R语言自带的函数factanal()进行分析

>saltwell.fa<-factanal(saltwell,factors = 2)

> print(saltwell.fa, cutoff=0.001)

下面用回归方法(regression)计算因子得分并作图,然后对样本进行分类.

> saltwell.fa<-factanal(saltwell,factors = 2, scores = "regression")

> saltwell.fa$scores

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-03-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

有趣的Github项目万里挑一 !(附论文、项目链接)

2562
来自专栏AI科技评论

多图见证模拟机器人的逆天成长:论进化策略在强化学习中的应用

AI 科技评论按:本文是 otoro.net 的系列技术博客之一,以通俗可视化的方法讲解了进化策略(Evolution Strategies)中的诸多概念。本篇...

41210
来自专栏大数据挖掘DT机器学习

PageRank算法(2):PageRank原理剖析

一、PageRank算法的简单举例 Google PageRank算法的思想精华在于:将一个网页级别/重要性的排序问题转化成了一个公共参与、以群体民主投票的方式...

5146
来自专栏Pulsar-V

SLAM初探(三)

PCL(Point cloud library) Ubuntu Linux 16 系统之所以会用Linux,很大的原因是应为SLAM在嵌入式平台上面...

3415
来自专栏机器学习算法与Python学习

2017年度盘点:Github上十大有趣的机器学习项目(文末有惊喜......)

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 目录: AlphaZero-Gomo...

5786
来自专栏量子位

“深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?

夏乙 编译整理 量子位 出品 | 公众号 QbitAI ? Deep Learning est mort. Vive Differentiable Progra...

3315
来自专栏大数据文摘

上班族必备,日本小哥用深度学习开发识别老板的探测器(附源码)

1632
来自专栏企鹅号快讯

看可口可乐如何玩转TensorFlow

“ 随着人工智能的高速发展,开发者们对于能够应对产品多样化挑战的学习框架TensorFlow,也有着很高的热情。除了各类科技产品,零售行业也同样将TensorF...

21210
来自专栏新智元

【重磅】Google 分布式 TensorFlow,像 Android 一样带来 AI 复兴?

今天,Google 发布了分布式 TensorFlow。Google 的博文介绍了 TensorFlow 在图像分类的任务中,100 个 GPUs 和不到 65...

3844
来自专栏机器之心

资源 | MIT自然语言处理数据集和语料库集合

选自Github 作者:Karthik Narasimhan等 机器之心编译 参与:李泽南 最近,麻省理工学院(MIT)的在读博士 Karthik Narasi...

3828

扫码关注云+社区