码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • pca绘图


    pca

    1 PCAtools
    1.1 加载R包
    library(PCAtools)
    library(tidyverse)
    
    • 1
    • 2
    1.2 加载数据,构建表达矩阵和分组信息(以iris为例)
    iris <- as.data.frame(iris)
    iris <- iris %>% mutate(class = str_c("a",1:dim(iris)[1],sep = ""))
    rownames(iris) <- iris$class
    iris <- iris[,-6]
    head(iris)
      Sepal.Length Sepal.Width Petal.Length Petal.Width Species
    a1          5.1         3.5          1.4         0.2  setosa
    a2          4.9         3.0          1.4         0.2  setosa
    a3          4.7         3.2          1.3         0.2  setosa
    a4          4.6         3.1          1.5         0.2  setosa
    a5          5.0         3.6          1.4         0.2  setosa
    a6          5.4         3.9          1.7         0.4  setosa
    
    # 构建矩阵
    expr=iris[c(1,2,3,4)] #  表达矩阵,行是基因,列是样本名
    head(expr)
       Sepal.Length Sepal.Width Petal.Length Petal.Width Species
    a1          5.1         3.5          1.4         0.2  setosa
    a2          4.9         3.0          1.4         0.2  setosa
    a3          4.7         3.2          1.3         0.2  setosa
    a4          4.6         3.1          1.5         0.2  setosa
    a5          5.0         3.6          1.4         0.2  setosa
    a6          5.4         3.9          1.7         0.4  setosa
    class <- iris[5] #分组信息,行是样本名,每一列是对应的分组信息
    head(class)
       Species
    a1  setosa
    a2  setosa
    a3  setosa
    a4  setosa
    a5  setosa
    a6  setosa
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    1.3 表达矩阵标准化
    expr <- scale(expr)
    head(expr)
       Sepal.Length Sepal.Width Petal.Length Petal.Width
    a1   -0.8976739  1.01560199    -1.335752   -1.311052
    a2   -1.1392005 -0.13153881    -1.335752   -1.311052
    a3   -1.3807271  0.32731751    -1.392399   -1.311052
    a4   -1.5014904  0.09788935    -1.279104   -1.311052
    a5   -1.0184372  1.24503015    -1.335752   -1.311052
    a6   -0.5353840  1.93331463    -1.165809   -1.048667
    #scale 要按样本标准化,默认是按列
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1.4 数据转置
    expr <-t(expr)  #  表达矩阵,行是基因,列是样本名
    expr[,c(1:4)]
                         a1         a2         a3          a4
    Sepal.Length -0.8976739 -1.1392005 -1.3807271 -1.50149039
    Sepal.Width   1.0156020 -0.1315388  0.3273175  0.09788935
    Petal.Length -1.3357516 -1.3357516 -1.3923993 -1.27910398
    Petal.Width  -1.3110521 -1.3110521 -1.3110521 -1.31105215
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1.4 pca分析
    pca <- pca(expr, metadata = class) 
    biplot(pca,x="PC1",y="PC2",,colby = "Species",legendPosition = "right",lab = NULL)
    # 也可是x="PC1",y="PC3"
    
    • 1
    • 2
    • 3

  • 相关阅读:
    【MATLAB源码-第86期】基于matlab的QC-LDPC码性能仿真,输出误码率曲线。
    Java竞赛快速输入输出,防止读取数据过慢导致超时
    angular:html2canvas对ion-avatar节点渲染不正确
    Day42-HttpServletRequest、Cookie
    【阅读笔记】如何阅读一本书
    【c++&Leetcode】232. Implement Queue using Stacks
    Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法
    算法与数据结构 --- 图 --- 图的应用
    使用百度EasyDL实现智能垃圾箱
    亚马逊云AI应用科技创新下的Amazon SageMaker使用教程
  • 原文地址:https://blog.csdn.net/ziixiaoshenwang/article/details/126919943
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号