原文链接:http://tecdat.cn/?p=22492

原文出处:拓端数据部落公众号

我们将使用葡萄酒数据集进行主成分分析。

数据

数据包含177个样本和13个变量的数据框;vintages包含类标签。这些数据是对生长在意大利同一地区但来自三个不同栽培品种的葡萄酒进行化学分析的结果:内比奥罗、巴贝拉和格里格诺葡萄。来自内比奥罗葡萄的葡萄酒被称为巴罗洛。

这些数据包含在三种类型的葡萄酒中各自发现的几种成分的数量。

# 看一下数据
head(no)

输出

转换和标准化数据

对数转换和标准化,将所有变量设置在同一尺度上。

# 对数转换
no_log <- log(no)# 标准化
log_scale <- scale(no_log)
head(log_scale)

主成分分析(PCA)

使用奇异值分解算法进行主成分分析

prcomp(log_scale, center=FALSE)
summary(PCA)

基本图形(默认设置)

带有基础图形的主成分得分和载荷图


plot(scores[,1:2], # x和y数据pch=21, # 点形状cex=1.5, # 点的大小legend("topright", # legend的位置legend=levels(vint), # 图例显示plot(loadings[,1:2], # x和y数据pch=21, # 点的形状text(loadings[,1:2], # 设置标签的位置

此外,我们还可以在分数图中的组别上添加95%的置信度椭圆。

置信度椭圆图函数

## 椭圆曲线图elev=0.95, # 椭圆概率水平pcol=NULL, # 手工添加颜色,必须满足长度的因素cexsize=1, # 点大小ppch=21, # 点类型,必须满足因素的长度legcexsize=2, # 图例字体大小legptsize=2, # 图例点尺寸## 设定因子水平if(is.factor(factr) {f <- factr} else {f <- factor(factr, levels=unique(as.character(factr)))}intfactr <- as.integer(f) # 设置与因子水平相匹配的整数向量## 获取椭圆的数据edf <- data.frame(LV1 = x, LV2=y, factr = f) # 用数据和因子创建数据框ellipses <- dlply(edf, .(factr), function(x) {Ellipse(LV1, LV2, levels=elev, robust=TRUE, draw=FALSE) #从dataEllipse()函数中按因子水平获取置信度椭圆点})## 获取X和Y数据的范围xrange <- plotat(range(c(as.vector(sapply(ellipses, function(x) x[,1])), min(x), max(x))))## 为图块设置颜色if(is.null(pcol) != TRUE) { # 如果颜色是由用户提供的pgcol <- paste(pcol, "7e", sep="") # 增加不透明度# 绘图图形plot(x,y, type="n", xlab="", ylab="", main=""abline(h=0, v=0, col="gray", lty=2) #在0添加线条legpch <- c() # 收集图例数据的矢量legcol <- c() # 收集图例col数据的向量## 添加点、椭圆,并确定图例的颜色## 图例legend(x=legpos, legend=levels(f), pch=legpch,
## 使用prcomp()函数的PCA输出的轴图示pcavar <- round((sdev^2)/sum((sdev^2))

基础图形

绘制主成分得分图,使用基本默认值绘制载荷图

plot(scores[,1], # X轴的数据scores[,2], # Y轴的数据vint, # 有类的因素pcol=c(), # 用于绘图的颜色(必须与因素的数量相匹配)pbgcol=FALSE, #点的边框是黑色的?cexsize=1.5, # 点的大小 ppch=c(21:23), # 点的形状(必须与因子的数量相匹配)legpos="bottom right", # 图例的位置           legcexsize=1.5, # 图例文字大小legptsize=1.5, # 图例点的大小 axissize=1.5, # 设置轴的文字大小linewidth=1.5 # 设置轴线尺寸
)
title(xlab=explain[["PC1"]], # PC1上解释的方差百分比ylab=explain[["PC2"]], # PC2解释的方差百分比 main="Scores", # 标题cex.lab=1.5, # 标签文字的大小cex.main=1.5 # 标题文字的大小plot(loadings[,1:2], # x和y数据pch=21, # 点的形状cex=1.5, # 点的大小# type="n", # 不绘制点数axes=FALSE, # 不打印坐标轴xlab="", # 删除x标签ylab=""              # 删除y标签
)
pointLabel(loadings[,1:2], #设置标签的位置labels=rownames(PCAloadings), # 输出标签cex=1.5 # 设置标签的大小
) # pointLabel将尝试将文本放在点的周围
axis(1, # 显示x轴cex.axis=1.5, # 设置文本的大小lwd=1.5 # 设置轴线的大小
)
axis(2, # 显示y轴las=2, # 参数设置文本的方向,2是垂直的cex.axis=1.5, # 设置文本的大小lwd=1.5 # 设置轴线的大小
)
title(xlab=explain[["PC1"]], # PC1所解释的方差百分比ylab=explain[["PC2"]], # PC2解释的方差百分比 cex.lab=1.5, # 标签文字的大小cex.main=1.5 # 标题文字的大小
)


最受欢迎的见解

1.matlab偏最小二乘回归(PLSR)和主成分回归(PCR)

2.R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析

3.主成分分析(PCA)基本原理及分析实例

4.基于R语言实现LASSO回归分析

5.使用LASSO回归预测股票收益数据分析

6.r语言中对lasso回归,ridge岭回归和elastic-net模型

7.r语言中的偏最小二乘回归pls-da数据分析

8.r语言中的偏最小二乘pls回归算法

9.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

拓端tecdat|R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图相关推荐

  1. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  2. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  3. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  4. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  5. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释

    R语言主成分分析PCA和因子分析EFA.主成分(因子)个数.主成分(因子)得分.主成分(因子)旋转(正交旋转.斜交旋转).主成分(因子)解释 目录

  6. R语言plotly可视化:使用PCA算法进行数据降维、使用plotly可视化PCA所有的主成分绘制散点图矩阵、降维后的两个(三个)核心主成分的二维、三维可视化图形、方差解释的量、载荷图等

    R语言plotly可视化:使用PCA算法进行数据降维.使用plotly可视化PCA所有的主成分绘制散点图矩阵.降维后的两个(三个)核心主成分的二维.三维可视化图形.方差解释的量.载荷图等 目录

  7. R语言使用geompointdensity包的geom_pointdensity函数将散点图和密度图结合起来、使用viridis包的scale_color_virdis函数为密度数据添加调色板色彩渐变

    R语言使用geompointdensity包的geom_pointdensity函数将散点图和密度图结合起来.使用viridis包的scale_color_virdis函数为密度数据添加调色板色彩渐变 ...

  8. R语言主成分分析PCA谱分解、奇异值分解预测分析运动员表现数据和降维可视化

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出. 本文描述了如何 使用R执行主成分分析 ( PCA ).您将学习如何 使用 PCA预测 新的个体和变量坐标.我们还将提供  ...

  9. R 语言主成分分析(PCA)实战教程

    作者:落痕的寒假 原文:https://blog.csdn.net/LuohenYJ/article/details/97950522 声明:本文章经原作者同意后授权转载. 主成分分析 Princip ...

  10. R语言实战(九)主成分和因子分析

    本文对应<R语言实战>第14章:主成分和因子分析 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量成为主成分. 探索性因子分析(EFA)是 ...

最新文章

  1. C#调用控制面板选项
  2. 数学战神app(小学生四则运算app)进度
  3. Wxwinter.BPM类库更新
  4. 【数据库】pymysql数据库事务操作
  5. 本周 火火火火火 的开源项目
  6. php Excel工程进度管理,打造最全面的 PHPExcel 开发解决方案
  7. 原创内容将成网络视频的一支奇军
  8. 全球软件巨头 Software AG 遭勒索攻击
  9. linux C语言基础学习总结
  10. NLTK文本分割器是如何工作的
  11. 《大清重臣李鸿章·上下》—— 读后总结
  12. arcgis js(二)显示三维地图
  13. MyDiskTest硬盘检测绿色版
  14. 《计算机工程》投稿经验分享
  15. Java-基于SSM的健身后台管理系统
  16. 常用app URL schemes
  17. 剪了 20% 的刘海、120Hz 刷新率、1TB 存储,最高售价为 12999 元的 iPhone 13 系列来了!
  18. C# 数字转汉字(一二三)
  19. 液晶电视英文linux使用教程,【详解UbuntuTV 电视与人们的生活】PjTime.COM液晶电视 技术介绍...
  20. 身份证扫描识别OCR技术的应用场景

热门文章

  1. form里面的action和method(post和get的方法)使用
  2. 【UML】概念、关联、画画(一)
  3. Failed to build Android - icescreem-4.0.4
  4. hdu 1536 S-Nim (sg)
  5. 我的第一次--我与51CTO的故事
  6. 1月5日 char **argv是什么用法啊?
  7. numpy array
  8. Kafka负载均衡、Kafka自定义Partition、Kafk文件存储机制
  9. 大数据表转移hdfs后查询处理
  10. 小程序学习笔记三:页面文件详解之视图层WXML、WXS、WXSS文件