GWAS分析中协变量的区分(性别?PCA?初生重?)

article/2025/11/10 5:14:27

1. 电子书领取

前几天发了一篇GWAS电子书分享,异常火爆,阅读量8000+,很多人评价比较基础。这本电子书主要特点是比较基础,GLM模型用软件和R语言进行比较,如何添加数字协变量、因子协变量、PCA等内容,可以说是构建模型的基础。

今天,根据自己的理解,加上查阅的资料,介绍一下协变量的用法。

2. 什么是协变量

其实,GWAS中的协变量和一般模型中的协变量是不一样的。

一般模型:
y = F 1 + F 2 + x 1 + x 2 y = F1 + F2 + x1 + x2 y=F1+F2+x1+x2

  • F1, F2为因子,特点是因子,比如不同颜色(红黄绿)
  • x1,x2为协变量,特点是数值,不如初生重,PCA值等数值

协变量是指数字类型的变量。

GWAS模型中:
y = x 1 + x 2 y = x1 + x2 y=x1+x2

  • GWAS中只有协变量,所谓的因子,也是协变量的一种
  • 在GWAS分析汇总,因子也是转化为虚拟变量(dummy)放到模型中

实例演示

举个例子:

library(learnasreml)
data(fm)
head(fm)
str(fm)

这个Rep有5个水平(5个重复),是因子类型。在方差分析中,它为因子:

# mod anova
mod = aov(dj ~ Rep, data=fm)
summary(mod)
coef(mod)

这里面,Rep的方差分析,自由度为4,用coef查看系数时,给出每个水平的效应值。

在回归分析里面,它也为因子:

mod2 = lm(dj ~ Rep, data=fm)
summary(mod2)
anova(mod2)

在回归分析中,用的是lm函数,用summary给出每个水平的效应值,以及T检验的结果。用anova会打印出方差分析的结果。


上面的例子可以看出aov和lm函数是等价的。

因子和协变量等价

如果我们将Rep变为虚拟变量,然后进行数字变量的回归分析,是什么样的?

library(useful)
xx = build.x(~Rep-1,data=fm,contrasts = F)
dat = cbind(xx[,-1],dj = fm$dj) %>% as.data.frame()
head(dat)
str(dat)

用R包useful的函数build.x将因子变为虚拟变量(数值变量),然后进行回归分析。

mod3 = lm(dj ~.,data=dat)
summary(mod3)


结果可以看出,用因子变为的虚拟变量(数字变量)结果是一样的。说明二者是等价的。

这也是说明了,在GWAS分析中,你以为因子和变量是两个类型,但是在GWAS模型中,他们最后都变为了协变量。

注意:

  • R中因子第一个强制为0,所以这里在构建dummy变量时,第一列去掉
  • R中默认是有截距(mu)的,所以再构建dummy变量时,将截距去掉

写道这里,我想到了一句话:

当你将方差分析和回归分析看做是一样的东西时,你就进阶了。

所以,我进阶了,哈哈。

所以,统计课本里面,方差分析和线性回归分析,都是基于一般线性模型(GLM),放到GWAS分析中,就可以解释因子协变量和数字协变量,以及PCA协变量的区别了。

无它,在GWAS模型中,都会变为数值协变量。

下一次推文,讲解如何在plink中构建协变量,以及如何在R语言中构建协变量。欢迎继续关注。


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

相关文章

时间序列 工具库学习(5) Darts模块-多个时间序列、预训练模型和协变量的概念和使用

1.实验目的 此笔记本用作以下目的: 在多个时间序列上训练单个模型使用预训练模型获取训练期间未见的任何时间序列的预测使用协变量训练和使用模型 2.导库 # fix python path if working locally from utils import fix_pythonpath_if_working_locallyfix_python…

Mplus数据分析:随机截距交叉之后的做法和如何加协变量,写给粉丝

记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后。 做之前我们需要知道一些Mplus的默认的设定: observed and latent exogenous variables a…

中介变量、调节变量与协变量

在平时看论文过程中偶会接触到这几个概念,然而都没想过弄明白,每次总觉得只要看明白个大概反正自己又不用这种方法…作为科研人,还是应该保持谦逊,保持学习 一、中介变量 1.概念 中介变量(mediator)是自…

协变量偏移/标签偏移/概念偏移

协变量偏移 这里我们假设,虽然输入的分布可能随时间而改变,但是标记函数,即条件分布P(y∣x)不会改变。虽然这个问题容易理解,但在实践中也容易忽视。 想想区分猫和狗的一个例子。我们的训练数据使用的是猫…

R语言绘制校正协变量后的ROC曲线

ROC曲线也叫受试者工作曲线,原来用在军事雷达中,后面广泛应用于医学统计中。ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。 ROC曲线主要应用于二分类…

倾向值分析(协变量选择)

Hirano 和 Imbens 基于预设的临界t值来设定预测变量的方法 逻辑回归:逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。逻辑回归可以进行多分类操作,但由逻辑回归算法本身性质决定其更常用于二分类。 a.逻辑回归公式如下: 其…

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

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响 主坐标分析(PCoA)广泛用于生态学和微生物学等领域,以描述样本之间的差异,例如群落的beta多样性等。然而混杂的协变量可能会使与感兴趣…

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

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

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

协变量偏移 介绍 (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 去除协变量,求助协变量调整

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

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

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

爬虫-猫眼电影票房

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

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

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

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

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

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

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

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

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

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

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

采集电影票房实时数据

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

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

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

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

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