使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响

article/2025/11/10 19:16:29

7a1264917e3efedee0f15ec82e816f3d.gif

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响

360e7e5a88954f17f4c67ea013006591.gif

主坐标分析(PCoA)广泛用于生态学和微生物学等领域,以描述样本之间的差异,例如群落的beta多样性等。然而混杂的协变量可能会使与感兴趣的科学问题相关的模式难以观察。例如,在一项关于饮食习惯对肠道微生物组影响的研究中,如果从两个不同的地点招募受试者,地点的差异可能会掩盖饮食习惯的差异,对结果判断产生干扰。

为解决这个问题,Shi等(2020)开发了一种称为校正主坐标分析(adjusted principal coordinates analysis,aPCoA)的方法,允许在PCoA中校正协变量以排除其影响。aPCoA可使用aPCoA包来实现,以下简单举例介绍。

示例数据集

aPCoA包内置数据集“Tasmania”,研究了蟹类干扰对56种小型底栖动物的影响。研究中包含4个调查区域,每个区域由2个受蟹类干扰和2个未受蟹类干扰的区域组成。即共计获得16次观测数据,8次对应蟹类干扰,8次无蟹类干扰。

library(vegan)
library(aPCoA)#内置数据集 Tasmania,详情 ?Tasmania
data(Tasmania)Tasmania$abund  #56 种小型底栖动物(列)在 16 次观测(行)中的丰度
Tasmania$treatment  #是否受到蟹类的干扰,是(Disturbed),否(Undisturbed),因子类型
Tasmania$block  #4 个调查区域,因子类型

3ed9d9509b326c3ee19c02600e9a0377.png

执行aPCoA以及与PCoA的比较

期望比较受干扰组和未受干扰组之间的小型底栖动物群落组成是否存在明显的差异。在这里,分别使用PCoA和aPCoA对群落进行排序,以进行方法上的比较。

#计算群落相异指数,以 Bray-curtis 距离为例
bray <- vegdist(Tasmania$abund, method = 'bray')#分组和协变量数据
data <- data.frame(treatment = Tasmania$treatment,block = Tasmania$block)
rownames(data) <- rownames(as.matrix(bray))#执行 aPCoA 校正混杂协变量以显示 PCoA 图中主要协变量的影响,详情 ?aPCoA
#本示例中,“bray~block”意为在对群落数据进行 PCoA 时消除由位置(调查区域)带来的影响,“maincov=treatment”在作图时按试验类型分组着色
opar <- par(mfrow = c(1, 2),mar = c(3.1, 3.1, 3.1, 5.1),mgp = c(2, 0.5, 0),oma = c(0, 0, 0, 4))
result <- aPCoA(bray~block, data, maincov = treatment)
par(opar)#提取 aPCoA 中的样本得分
aPCoA.score <- data.frame(result$plotMatrix)#输出
#write.table(aPCoA.score, 'aPCoA.score.txt', sep = '\t', quote = FALSE, col.names = NA)

3a0f7b527df9d4eba7494f9b5ef6d5c7.png

结果中显示了两个PCoA图,左图是原始的PCoA,右图是校正协变量后的aPCoA。可以看到,使用aPCoA去除位置的影响后,受干扰组和未受干扰组之间的差异变得更加突出。 

参考文献

Shi Y, Zhang L, Do K A, et al. aPCoA: covariate adjusted principal coordinates analysis. Bioinformatics, 2020, 36(13): 4099-4101.

8bbd3b8fc6260a10675a524c0035be50.gif

友情链接

5b3f7b0f707547ddd8b0212c574860e1.gif

相似性或相异度量

常见的相似性或相异度量

        ↑包括Jaccard相似性/相异度、Sørensen相似性/相异度、Simpson相似性/相异度、欧式距离、弦距离、Hellinger距离、卡方距离、Bray-curtis距离、Unifrac距离等,这些相似或相异指数是对多变量数据矩阵进行降维的大多数方法的基础

非约束排序

单矩阵特征的描述性统计方法,包括基于特征分解的降维方法(PCA、CA等)和基于相异度量的降维方法(PCoA、NMDS等)

主成分分析(PCA)

主成分分析(PCA)(常规PCA)

混合数据的PCA(处理同时包含数值和分类变量)

模糊主成分分析(FPCA)(处理缺失值)

对应分析(CA)

对应分析(CA)(常规CA)

去趋势对应分析(DCA)(消除CA的弓形效应)

多重对应分析(MCA)(处理分类变量)

模糊对应分析(FCA)(处理缺失值)

主坐标分析(PCoA)

主坐标分析(PCoA)

非度量多维标度分析(NMDS)

非度量多维标度分析(NMDS)

约束排序

或称典范排序,两个或多个矩阵的回归模型或相关性分析

冗余分析(RDA)典范对应分析(CCA),多元线性回归(MLR)和非约束排序(PCA、CA、PCoA等)的结合,群落分析中的经典方法

冗余分析(RDA)

主响应曲线(PRC)

典范对应分析(CCA)

基于距离的冗余分析(db-RDA),或称典范主坐标分析(CAP)

判别分析(DA),一种结合降维思想的分类器

↑包括线性判别分析(LDA)二次判别分析(QDA)、混合判别分析(MDA)、弹性判别分析(FDA)、正则化判别分析(RDA)等

        偏最小二乘判别分析(PLS-DA)

        正交偏最小二乘判别分析(OPLS-DA)

        稀疏偏最小二乘判别分析(sPLS-DA)

基于相异度量分析两个矩阵的相关性

典范相关分析(CCorA)

协惯量分析(CoIA)    多重协惯量分析(MCoIA)

协对应分析(CoCA)

多元因子分析(MFA)

转自生信小白鱼,原文链接:https://mp.weixin.qq.com/s/OjcrmJa69_4JBNVnwDklsQ

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

7ebcb3d4fdb046904d42d3d301eea4bf.png

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

点击阅读原文,跳转最新文章目录阅读


http://chatgpt.dhexx.cn/article/xwq2EkEP.shtml

相关文章

多变量时间序列、预训练模型和协变量

darts官方地址 GitHub&#xff1a;https://github.com/unit8co/darts文档&#xff1a;https://unit8co.github.io/darts/index.html 本笔记可作为以下内容的教程&#xff1a; 在多个时间序列上训练单个模型使用预训练模型来获得训练期间看不到的任何时间序列的预测训练和使用…

协变量偏移_恶意软件分类的协变量偏移

协变量偏移 介绍 (Introduction) Covariate shift in the data-generating distribution lowers the usefulness of generalization error as a measure of model performance. By unpacking the definitions, the previous sentence translates to “high accuracy on the dis…

matlab 去除协变量,求助协变量调整

花了一个礼拜的时间重新学习了一下协方差&#xff0c;回归&#xff0c;感觉自己的理解很多都是不对的。 协方差分析是方差分析线性回归&#xff0c;但它要求很多&#xff0c;比如至少有两个分组(一个分组就是线性回归了)&#xff0c;协变量要是连续变量自变量和因变量要有线性关…

自变量/解释变量/因变量/响应变量/协变量等变量相关概念探析

概念探析 一般科学实验主要涉及以下三种变量&#xff1a; 自变量/独立变量&#xff08;independent variable&#xff09;&#xff1a;自变量是指在实验中由实验者操作的变量&#xff0c;它被认为不会受其他变量的影响&#xff08;即独立性&#xff09;。 因变量&#xff08…

爬虫-猫眼电影票房

背景 最近也不知道咋了&#xff0c;一直遇到 字体反爬手段&#xff0c;起点中文网&#xff0c;抖音等等吧&#xff0c;猫眼我一直想搞&#xff0c;只是没有精力了&#xff0c;前面搞了2个了&#xff0c;不差这一个。搞完这个&#xff0c;不在搞字体反爬了。 目标网站 猫眼票房…

python爬虫实例——中国电影票房

刚好最近在做一个关于中国电影市场的分析&#xff0c;所以这篇实例就诞生啦&#xff01;&#xff01;&#xff01; 一、观察网页 我所爬取的网站是&#xff1a;中国票房——年度票房。 网址甩出来&#xff1a;http://www.cbooo.cn/year?year2019 我们需要的数据是从2015年到…

python爬虫实战——猫眼电影案例

python爬虫实战——猫眼电影案例 背景 笔者上一篇文章《基于猫眼票房数据的可视化分析》中爬取了猫眼实时票房数据&#xff0c;用于展示近三年电影票房概况。由于数据中缺少导演/演员/编剧阵容等信息&#xff0c;所以爬取猫眼电影数据进行补充。关于爬虫的教学内容&#xff0c…

猫眼app产品分析和原型绘制

本项目为学习产品知识和技能过程中的一个小结&#xff0c;针对猫眼电影app的简单产品分析&#xff0c;顺便巩固xmind和axure技能。 项目名称 &#xff1a;猫眼电影app 产品背景&#xff1a;中国电影市场近10年&#xff08;2009年-2019年&#xff09;由高速增长阶段过渡到低速增…

Python爬虫实战+数据分析+数据可视化(猫眼电影)

一、爬虫部分 爬虫说明&#xff1a; 1、本爬虫是以面向对象的方式进行代码架构的 2、本爬虫爬取的数据存入到MongoDB数据库中 3、爬虫代码中有详细注释 代码展示 import re import timefrom pymongo import MongoClient import requests from lxml import html from urllib …

python爬虫基础案例——爬取猫眼电影并保存数据到excel

好久没更新博文了&#xff0c;最近忙于学习scrapy框架和微信小程序开发&#xff0c;今天看到一个自己之前写的但是中途放弃的爬虫小案例——爬取猫眼电影TOP100榜的相关数据&#xff0c;现在将它写好并分享给大家。 爬虫的套路就是通过url发送请求&#xff0c;获取数据&#x…

采集电影票房实时数据

网址&#xff1a;aHR0cDovL3BmLmZlLnN0Lm1hb3lhbi5jb20vZGFzaGJvYXJk 抓包分析 根据数据包可以发现&#xff0c;该网站在发送了ajax请求的同时又请求了一份woff文件&#xff0c;基本上可以确定这里使用了字体文件加密的方式了。 分析请求参数 不难看出&#xff0c;只有timestam…

【Python爬虫】猫眼电影榜单Top100

这是一个入门级的Python爬虫&#xff0c;结构易于理解。本文对编写此爬虫的全过程进行了讲述。希望对大家的Python爬虫学习有所帮助。 一、目标 爬取猫眼电影榜单Top100&#xff0c;将数据存入Excel文件中&#xff0c;并利用pyecharts库进行数据可视化得到.html文件和.png文件…

python爬虫阶段性总结和项目实操——爬取猫眼票房Top100

本博客通过爬取猫眼票房Top100来简要复习一下网页的HTML获取&#xff08;requests库&#xff09;解析&#xff08;Beautiful Soup库&#xff09;和数据保存&#xff08;csv库&#xff09;以及总结一下爬取过程中遇到的问题和解决方法 运行结果如下 1.获取网页源代码 def get_…

猫眼产品分析

一、前言 本文试图通过对猫眼电影的版本迭代历程分析、用户分析、功能分析、运营分析以及数据表现来回答以下几个问题&#xff1a; &#xff08;1&#xff09;猫眼电影的产品定位&#xff1f; &#xff08;2&#xff09;猫眼电影产品设计及运营中有哪些亮点和策略&#xff1f…

详解用爬虫批量抓取猫眼电影票房数据

"大数据"是一个体量特别大&#xff0c;数据类别特别大的数据集&#xff0c;并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大&#xff0c;指代大型数据集&#xff0c;一般在10TB规模左右&#xf…

基于Python的电影票房爬取与可视化系统的设计与实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

猫眼 — 破解数字反爬获取实时票房

From&#xff1a;https://zhuanlan.zhihu.com/p/33112359 js分析 猫_眼_电_影 字体文件 font-face&#xff1a;https://www.cnblogs.com/my8100/p/js_maoyandianying.html 解析某电影和某招聘网站的web-font自定义字体&#xff1a;https://www.jianshu.com/p/5400bbc8b634 Font…

猫眼电影票房爬取到MySQL中_爬取猫眼电影top100,request、beautifulsoup运用

这是第三篇爬虫实战&#xff0c;运用request请求&#xff0c;beautifulsoup解析&#xff0c;mysql储存。 如果你正在学习爬虫&#xff0c;本文是比较好的选择&#xff0c;建议在学习的时候打开猫眼电影top100进行标签的选择&#xff0c;具体分析步骤就省略啦&#xff0c;具体的…

python 抢票代码 猫眼演出_Python爬虫-猫眼电影排行

爬虫的目标 爬取猫眼电影TOP100的电影名称,时间,评分,图片等信息 抓取分析 查看网页源代码,找到对应的目标信息,发现一部电影对应的源代码是一个dd节点 抓取首页 为了方便,这里先抓取第一页的内容,运行之后,可以查看到网页的源代码,之后需要对页面进行解析。 import re…

flask+猫眼电影票房预测和电影推荐

flask猫眼电影票房预测和电影推荐&#xff0c;此系统有详细的录屏&#xff0c;下面只是部分截图&#xff0c;需要看完整录屏联系博主 系统开发语言python&#xff0c;框架为flask&#xff0c;数据库mysql&#xff0c;分为爬虫和可视化分析