• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      未分类

      • 首页
      • 博客
      • 未分类
      • PCA in R

      PCA in R

      • 发布者 weinfoadmin
      • 分类 未分类
      • 日期 2021年9月9日
      • 评论 0评论

      专题介绍:R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器的R Studio(用户的界面体验更好)。也正是由于全世界越来越多的数据科学社区和用户对R包的慷慨贡献,让R语言在全球范围内越来越流行。其中一些R包,例如MASS,SparkR, ggplot2,使数据操作,可视化和计算功能越来越强大。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R的学术性开发比较早,适合生物学和医学等学术学科的科研人员使用。

      1
      PCA in R 

      PCA in R 介绍如下内容:

      1 怎么使用prcomp()函数做PCA

      2 使用base graph 和 ggplot2对PCA做可视化

      3 每个主成分的方差贡献度

      4 通过loading scores决定变量的影响效应


      2
      人造数据集生成 

      人造数据集生成代码

      # R包
      library(tidyverse)

      # 构建人造数据集
      data_matrix <- matrix(nrow = 100, ncol = 10)
      colnames(data_matrix) <- c(paste0("wt", 1:5, sep=""), paste0("ko", 1:5, sep=""))
      rownames(data_matrix) <- paste0("gene", 1:100, sep="")

      for(i in 1:100) {
        wt_values = rpois(5, lambda = sample(x=10:1000, size = 1))
        ko_values = rpois(5, lambda = sample(x=10:1000, size = 1))

        data_matrix[i, ] = c(wt_values, ko_values)
      }

      data_matrix %>
      % head


      3
      利用prcomp函数计算获得主成分 

      计算主成分的时候,行表示观察,列表式变量。因为人造数据集,行是变量,所以做主成分分析时,需要先对数据集进行转置操作。

      参考代码

      # 计算PCA
      # 行为样本,列为变量
      pca <- prcomp(t(data_matrix), scale =TRUE)


      4
      主成分可视化分析 

      绘制第一主成分和第二主成分的可视化。

      方式一:利用base graph

      代码

      plot(pca$x[, 1], pca$x[, 2])


      方式二:利用ggplot2

      代码

      pca_data <- data.frame(Sample=rownames(pca$x), X = pca$x[, 1], Y = pca$x[, 2])
      ggplot(data = pca_data, aes(x = X, y = Y, label = Sample)) +
        geom_text() +
        xlab(paste("PC1 -", pca_var_per[1], "%", sep = "")) +
        ylab(paste("PC2 -", pca_var_per[2], "%", sep = "")) +
        theme_bw() +
        ggtitle("第一主成分和第二主成分的可视化")

      5
      各个主成分的方差贡献度 

      计算各个主成分的方差贡献度,代码如下:

      pca_var <- pca$sdev^2
      pca_var_per <- round(pca_var / sum(pca_var) * 100, 1)


      把贡献度做成柱状图

      代码

      barplot(pca_var_per, main = "Scree plot", xlab = "Principal Component", ylab = "Percent Variation")


      6
      通过loading_scores获取关键变量 

      根据loading_scores的值获得各个变量的效应

      loading_scores <- pca$rotation[, 1]
      gene_scores <- abs(loading_scores)
      gene_score_ranked <- sort(gene_scores, decreasing = TRUE)
      top_10_genes <- names(gene_score_ranked[1:10])
      top_10_genes
      pca$rotation[top_10_genes, 1]



      您有什么想法,请留言。
      需要深入交流和沟通,请添加我的微信:luqin360,请一定备注实名+工作或者专业,否则不会通过。


      文章推荐

      1特征选择

      2特征选择:卡方检验

      3特征选择:相关性

      你点的每个在看,我都认真当成了喜欢

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      一个数据人的2019
      2021年9月9日

      下一篇文章

      特征选择:互信息
      2021年9月9日

      你可能也喜欢

      2-1675088548
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      30 1月, 2023
      9-1675131201
      如何快速批量修改 Git 提交记录中的用户信息
      26 1月, 2023
      8-1678501786
      肿瘤细胞通过改变CD8+ T细胞中的丙酮酸利用和琥珀酸信号来调控抗肿瘤免疫应答。
      7 12月, 2022

      留言 取消回复

      要发表评论,您必须先登录。

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?