当前位置: 首页 > news >正文

基于R做宏基因组结果的PCoA分析

写在前面

因为公司给的PCA结果效果不佳,决定从中重新挑选部分样本进行再分析

步骤

表格结果预处理

  • 在属水平genus参考原本结果已有的PCA图,尽可能挑选距离较远且聚团的样本
image-20230720091328563
  • 选取不同样本属水平的丰度数据,整理成逗号分隔的csv文件
    image-20230720091449998

代码演示

library(vegan) # 计算bray距离
library(ggplot2)
library(tidyverse)
library(ape) # pcoa分析## 如果没装先install.packages("vegan")等genus_num <- read.table('F:/Analysis/RA_Sanhe cow/Microgenome/PCA/Demo_PCA.csv',row.names = 1,header = T, sep = ',') #地址注意反斜线,或者使用‘\\’反义
bray.dist = vegdist(t(genus_num), method="bray")jay.h.pc <- pcoa(bray.dist)
#str(spe.h.pc)#记录一二轴解释率“Eigenvalues”
jay.h.pcoa <- jay.h.pc$vectorsjay.pcoa <- data.frame(jay.h.pcoa[,1:2]) %>%mutate(Treatments = rep(c('A', 'B'), each = 8)) #根据列数分组,此处意思是前八列为A组,后八列为B组
# PERMANOVA置换多元方差分析
jay <- bray.dist
env <- select(jay.pcoa, Treatments)#获取单因素的数据(方式一)
permanova <- adonis(jay ~ Treatments, data = env, permutations = 999,method="bray")
fcnames <- row.names(permanova$aov.tab)
lab <- paste('PERMANOVA\n',fcnames[1],':R^2=',round(permanova$aov.tab[1,5],4),' p=', round(permanova$aov.tab[1,6],4), sep = '')
#获取单因素的数据(方式二)
permanova2 <- adonis2(jay ~ Treatments, data = env, permutations = 999,method="bray")
fcnames2 <- row.names(permanova2)
lab2 <- paste('PERMANOVA2\n',fcnames2[1],':R^2=',round(permanova2[1,3],4),' p=', round(permanova2[1,5],4))ggplot(jay.pcoa, aes(x=Axis.1, y=Axis.2, colour=Treatments)) + geom_point(size=5) +  stat_ellipse(level = 0.9) +theme_bw()+theme(panel.grid.major=element_line(colour=NA), panel.background = element_rect(fill = "transparent",colour = NA), plot.background = element_rect(fill = "transparent",colour = NA), panel.grid.minor = element_blank())+# 把两个轴的贡献度写出来xlab(paste('Axis.1: ', round(jay.h.pc$values$Relative_eig[1],3)*100, '%', sep = '')) +ylab(paste('Axis.2: ', round(jay.h.pc$values$Relative_eig[2],3)*100, '%', sep = '')) +theme(panel.background = element_rect(fill = "transparent",colour = NA),aspect.ratio = 1) +# 用annotate把双因素结果写在左上角annotate(geom = 'text',label = lab, size =4,x = min(jay.pcoa$Axis.1), y = max(jay.pcoa$Axis.2),hjust = 0,vjust =1)

结果展示

image-20230720091632805
http://www.lryc.cn/news/118372.html

相关文章:

  • 8.10 算法刷题【1道题】
  • Apache Maven:从构建到部署,一站式解决方案
  • 文章四:版本控制策略 - 穿越时光机:Git版本控制进阶技巧
  • 爬虫如何应对网站的反爬机制?如何查找user-agent对应的值
  • 一个概率论例题引发的思考
  • 司徒理财:8.11黄金最新走势分析早盘1914现价多
  • 请写一个非对称加密工具 示例包括完整的通信流程
  • 近地面无人机植被定量遥感与生理参数反演技术
  • 卡巴斯基为基于Linux的嵌入式设备推出专用解决方案
  • Word转PDF工具哪家安全?推荐好用的文件格式转换工具
  • dma_mmap_coherent函数的使用
  • MySQL_DQL语句(查询语句以及常用函数)
  • 一步步教你实现JWT认证和授权
  • 【python 深度学习】解决遇到的问题
  • maxwell 基于zookeeper的高可用方案
  • 【JavaScript】match用法 | 正则匹配
  • 前端css + js +vue +element-ui 实现响应式布局,根据浏览器窗体大小自动响应
  • 小程序生成App:轻量低门槛的开发方式
  • Linux命名管道进程通信
  • 如何将苹果彻底删除视频找回?试试这3种方法
  • 【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决
  • [CSS] 图片九宫格
  • MChat-Gpt V1.0.0 (将ChatGpt机器人接入内网供全体使用)
  • 日常开发中Git命令指北
  • API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南
  • 【计算机组成原理】24王道考研笔记——第三章 存储系统
  • 学习C语言的好处:
  • 基于k8s的devOps自动化运维平台架构设计(中英文版本)
  • P450进阶款无人机室内定位功能研测
  • 深度学习,计算机视觉任务