IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 单细胞数据挖掘 P2.4、降维,PCA分析,可视化 -> 正文阅读

[人工智能]单细胞数据挖掘 P2.4、降维,PCA分析,可视化

「生信技能树」单细胞数据挖掘_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1pa4y1s76J?p=7&spm_id_from=pageDriverP 2.4、降维,PCA分析,可视化

这里主要需要使用scRNA的矩阵,不需要其他的sce,因此先清空内存,释放算力。

load("For_PCA.Rdata")
  ### 4、降维,PCA分析,可视化----
  sessionInfo()
  #先进行归一化(正态分布)
  scRNA <- ScaleData(scRNA, features = (rownames(scRNA)))
  #储存到"scale.data"的slot里
  GetAssayData(scRNA,slot="scale.data",assay="RNA")[1:8,1:4]
  #对比下原来的count矩阵
  GetAssayData(scRNA,slot="counts",assay="RNA")[1:8,1:4]
  #scRNA@assays$RNA@

scaledata也是seurat包中的一个内容函数,用以将所得的矩阵内容归一化。

scRNA的assays之后的RNA里面可以counts是表达矩阵,scale.data是归一化后的矩阵。

  # 这里是通过scRNA来看里面的不同dataframe等内容。
  #PCA降维,利用之前挑选的hvg,可提高效率,默认前50个。
  scRNA <- RunPCA(scRNA, features = VariableFeatures(scRNA)) 
  #挑选第一,第二主成分对cell可视化
  DimPlot(scRNA, reduction = "pca", group.by="Patient_ID")
  #发现与原文献中颠倒了
  ?DimPlot
  ?RunPCA
  #seed.use	:Set a random seed. By default, sets the seed to 42. 
  #Setting NULL will not set a seed.
  scRNA <- RunPCA(scRNA, features = VariableFeatures(scRNA),seed.use=3)
  #尝试了seed.use的不同取值发现图形只有四种变化(四个拐角),其中以seed.use=3为代表的一类与原文文献一致
  DimPlot(scRNA, reduction = "pca", group.by="Patient_ID")
  #与文献一致了。个人觉得颠倒与否如果只是随机种子的差别的话,对后续分析应该没影响
  p2_1 <- DimPlot(scRNA, reduction = "pca", group.by="Patient_ID")+
    labs(tag = "D")
  p2_1
  DimPlot(scRNA, reduction = "pca",  split.by = 'Patient_ID')

主成分分析是将可能相关的变量转化成为1-2个的主要变量。

通过主要变量来降维,并且分析其相关的特征。

在这里seed.use是不同的角度放置图形,主要是与作图有关。默认是选取前50个变量作为PCA的对象。

这里需要载入ggolpt2包

  #挑选主成分,RunPCA默认保留了前50个
  scRNA <- JackStraw(scRNA,reduction = "pca", dims=20)
  scRNA <- ScoreJackStraw(scRNA,dims = 1:20)
  
  p2_2 <- JackStrawPlot(scRNA,dims = 1:20, reduction = "pca") +
    theme(legend.position="bottom") +
    labs(tag = "E")
  p2_2
  p2_3 <- ElbowPlot(scRNA, ndims=20, reduction="pca") 
  p2_3
  #结果显示可挑选前20个pc
  # 这里的挑选粗一点可以看拐点的位置,即新加入的不影响贡献度大局了
  # 严谨可以选择累加85%的差异度,那就是己算stdev,然后对其贡献度进行累加,直至85%。
  p2_1| (p2_2 | p2_3) #中图
  # data.use就是每个叠加因素后pca的方差汇总
  data.use <- Stdev(object = scRNA,reduction = 'pca')
  data.use
  # 这里应该有个叠加以后的函数,直到85%,以后再写吧。

这里使用 jackstraw来寻找p最小的,Elbowplot函数可以查看如果用20个变量是否足够。

10X单细胞(10X空间转录组)SeuratPCA分析之三---维度的选取 - 简书https://www.jianshu.com/p/d247e254a7c2这里两个方法,一个是 jackstraw来寻找p最小的,一个是elbowplot可以查看贡献度。

?分别进行作图可以发现是否足够。

jackstraw方法获得的就是其中的每个主成分的p是否都显著,查看每个主成分的贡献。

对于elbowplot:

? # 这里的挑选粗一点可以看拐点的位置,即新加入的不影响贡献度大局了
? # 严谨可以选择累加85%的差异度,那就是己算stdev,然后对其贡献度进行累加,直至85%。
? # data.use就是每个叠加因素后pca的方差汇总
? data.use <- Stdev(object = scRNA,reduction = 'pca')
? data.use
? # 这里应该有个叠加以后的函数,直到85%,以后再写吧。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-14 23:56:33  更:2022-04-15 00:01:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:46:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码