码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FigDraw 17. SCI 文章绘图之主成分绘图(pca3d)


    图片

    点击关注,桓峰基因

    桓峰基因公众号推出基于R语言绘图教程并配有视频在线教程,目前整理出来的教程目录如下:

    FigDraw 1. SCI 文章的灵魂 之 简约优雅的图表配色
    FigDraw 2. SCI 文章绘图必备 R 语言基础
    FigDraw 3. SCI 文章绘图必备 R 数据转换
    FigDraw 4. SCI 文章绘图之散点图 (Scatter)
    FigDraw 5. SCI 文章绘图之柱状图 (Barplot)
    FigDraw 6. SCI 文章绘图之箱线图 (Boxplot)
    FigDraw 7. SCI 文章绘图之折线图 (Lineplot)
    FigDraw 8. SCI 文章绘图之饼图 (Pieplot)
    FigDraw 9. SCI 文章绘图之韦恩图 (Vennplot)
    FigDraw 10. SCI 文章绘图之直方图 (HistogramPlot)
    FigDraw 11. SCI 文章绘图之小提琴图 (ViolinPlot)
    FigDraw 12. SCI 文章绘图之相关性矩阵图(Correlation Matrix)
    FigDraw 13. SCI 文章绘图之桑葚图及文章复现(Sankey)
    FigDraw 14. SCI 文章绘图之和弦图及文章复现(Chord Diagram)
    FigDraw 15. SCI 文章绘图之多组学圈图(OmicCircos)
    FigDraw 16. SCI 文章绘图之树形图(Dendrogram)
    FigDraw 17. SCI 文章绘图之主成分绘图(pca3d)


    这期介绍R语言中pca3d包能帮你快速制作2D和3D的PCA图,一个包帮你解决PCA分析问题!原理不多说,直接上分析,高端大气上档次的图表,完全满足您高端的文章!

    前言

    主成分分析(Principal Component Analysis,PCA)是一种无监督学习的多元统计分析方法。PCA分析的主要原理是将高维数据投影到较低维空间,提取多元事物的主要因素,揭示其本质特征。它可以高效地找出数据中的主要部分,将原有的复杂数据降维处理。PCA分析被广泛应用于很多领域,比如理论物理学、气象学、心理学、生物学、化学、工程学等。

    软件安装

    R语言中pca3d快速制作2D和3D的PCA图,安装如下:

    if(!require(rgl))
      install.packages("rgl")
    if(!require(pca3d))
      install.packages("pca3d")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    数据读取

    载入自带的测试数据,数据是三组个体血清代谢产物的相对丰度:

    Description Relative abundances of metabolites from serum samples of three groups of individuals Details A data frame with 136 observations on 425 metabolic variables. Serum samples from three groups of individuals were compared: tuberculin skin test negative (NEG), positive (POS) and clinical tuberculosis (TB).

    library(rgl)
    library(pca3d)
    
    data(metabo)
    dim(metabo)  #数据集包含136行和424列
    ## [1] 136 424
    table(metabo[, 1])  #展示分组信息
    ## 
    ## NEG POS  TB 
    ##  46  46  44
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    例子实操

    1. 绘制2D的PCA图

    数据选用所有的行及除第一列的数据(第一列为分组信息)

    pca <- prcomp(metabo[, -1], scale. = TRUE)
    pca2d(pca, group = metabo[, 1])
    
    
    • 1
    • 2
    • 3

    图片

    2. 制作3D的PCA图

    同时3D的PCA图通过点击鼠标可以进行翻转等不同平面的操作

    pca3d(pca, group = metabo[, 1])
    ## [1] 0.3439618 0.4500414 0.2818377
    ## Creating new device
    
    
    • 1
    • 2
    • 3
    • 4

    图片

    3. 3D的PCA图增加椭圆

    pca3d(pca, group = metabo[, 1], show.ellipses = TRUE, ellipse.ci = 0.75, show.plane = FALSE)
    ## [1] 0.3439618 0.4500414 0.2818377
    
    
    • 1
    • 2
    • 3

    图片

    4. 3D的PCA图形元素美化

    3D的PCA可以通过改变背景,线图及点的方式呈现更加绚丽的图片

    pca3d(pca, group = metabo[, 1], fancy = TRUE, bg = "black", show.group.labels = TRUE,
        axes.color = "white", new = TRUE)
    ## [1] 0.3439618 0.4500414 0.2818377
    ## Creating new device
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    图片

    软件包里面自带的例子,我这里都展示了一遍为了方便大家选择适合自己的图形,另外需要代码的将这期教程转发朋友圈,并配文“学生信,找桓峰基因,铸造成功的你!”即可获得!

    桓峰基因,铸造成功的您!

    有想进生信交流群的老师可以扫最后一个二维码加微信,备注“单位+姓名+目的”,有些想发广告的就免打扰吧,还得费力气把你踢出去!

    References:

    Weiner J 3rd, Parida SK, Maertzdorf J, Black GF, Repsilber D, et al. (2012) Biomarkers of Inflammation, Immunosuppression and Stress Are Revealed by Metabolomic Profiling of Tuberculosis Patients. PLoS ONE 7(7): e40221. doi:10.1371/journal.pone.0040221

    图片

  • 相关阅读:
    MySQL8修改密码(linux环境)
    自主设计,模拟实现 RabbitMQ - 实现 拒绝/否定 应答机制
    Vue项目 配置项设置
    2024年第十五届蓝桥杯第三期(校内)模拟赛题解
    鲜花线上销售管理系统的设计与实现
    数据库开发总结
    Eruke是什么?怎么搭建?
    鸿蒙:使用Stack、ContentTable、Flex等组件和布局实现一个显示界面
    数据库的数据类型
    认证授权与JWT
  • 原文地址:https://blog.csdn.net/weixin_41368414/article/details/126530791
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号