R语言第28篇——主成份分析

小微 科技R语言第28篇——主成份分析已关闭评论105字数 1134阅读模式
摘要如果这个世界上有比一样东西完全看不懂更令人头大的事情,那就是一堆东西都看不懂进正文,错了也不退不换,就这样吧首先看看今天举例用的数据:标题名字长是原罪,一个字,改然后给个友情提醒,...

如果这个世界上有比同样东西完整看不懂更使人头大的事情,那就是一堆东西都看不懂

进正文,错了也不退不换,就这样吧文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

首先看看今天举例用的数据:文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

标落款字长是原罪,一个字,改文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

然后给个友谊提示,这篇表格里不是所有数值都齐全的,所以要先检查下缺失的NA项文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

不多,就一行,然而自身数据源就没多长,这还少一行也怪不爽的文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

虽然说R中提供的PCA工具没有强制请求先做去中心的步骤,但为了结果看起来不要一大堆科学计数,咱还是提早按z-score标准化做一下比较好文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

Mean <- apply(Table1,2,mean, na.rm = TRUE)文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

SD <- apply(Table1,2,sd, na.rm = TRUE)文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

Table2 <- t((t(Table1)-Mean)/SD)文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

因为有NA的那行在这里还没去掉,所以做apply函数时都多传了个na.rm = TRUE的参数进去文章源自微观生活(93wg.com)微观生活-https://93wg.com/23281.html

z标准化最主要的用途,一是去中心化,把向量的均值平移到0,另外一方面就是把方差统一到1

在正式上主菜以前,先大致瞅瞅这些数据之间有无存在线性关系

相关系数矩阵,用函数cor,仍然要记得传入额外参数来排除了NA值的影响

cor(Table2,use = \"na.or.complete\")

看到大片都是0.9几的,貌似靠谱,嫌看数字眼晕的也能够直接plot画图,尽管那个我个人感觉更眼晕

plot(as.data.frame(Table2))

(负疚,前面用t转置时表格式自动变为矩阵了,现在还得转回数据帧格式)

前菜收场,上正餐,希望亲们这会儿还吃得下

主成份分析用的函数叫prcomp,一般来讲直接放个矩阵(数据帧不可以哟)进去是可以不用参数的,但为了排除了那个麻烦的NA值,这里用了S3 Method的写法,在表格前加条波浪线 ~ 表示公式接口,这样就能够使用na.action的参数了

PCA1 <- prcomp(~Table2,na.action = na.omit)

因为需要提出里边的Standard deviations,所以容我先瞄一下这个输出结果的文件结构

找到了,简称sdev,咱的变量只有5个,一般来讲提取到80%就算差不多

看来比预期的还要幸福一点,前两个主成份就能够覆盖到90%+了呢

至于如何提取前两个主成份的结果,咱既可以选择直接从前边的结果顶用方括号拿出来,也能够在做prcomp的时候就传入参数rank.限制显示前几个主成份,都行

PCA2 <- prcomp(~Table2,na.action = na.omit,rank. = 2)

还记得矩阵乘法不,所谓加权以及在向量计算中就是个矩阵乘法,所以——五列数据变两列,就是一个%*%的事

呼呼呼,完成啦,闪人

以上就是微观生活(93wg.com)关于“R语言第28篇——主成份分析”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/23281.html