自己动手进行逻辑回归,你也可以!

2019-12-19 11:42:18 浏览数 (1)

作为最广泛使用的关联分析工具,plink支持卡方检验,费舍尔精确检验,逻辑回归,线性回归等多种分析方法,用法简单,运行速度快。使用plink进行case/control逻辑回归, 只需如下所示的一句代码

plink —bfile sample —logistic —allow-no-sex —ci 0.95 —out out

输出结果保存在out.assoc.logistic文件中,内容如下所示

plink默认采用加性模型,针对单个SNP位点的基因型与case/control的分组进行逻辑回归分析,核心数据如下

genotype

AA

Aa

aa

Case

a

b

c

Control

d

e

f

rs4970383为例,其对应的表格统计如下

genotype

AA

Aa

aa

Case

1

8

3

Control

2

3

7

对于这样的数据,用R语言进行逻辑回归分析,代码如下

红框标记的部分就是逻辑回归的结果值,和plink的结果进行对比,可以看到,SE代表的就是标准误,STAT代表T检验的统计量,P代表T检验的p值。

默认显示OR值,也可以显示对应的回归系数值,代码如下

plink —bfile sample —logistic beta —allow-no-sex —ci 0.95 —out out

输出结果如下

BETA列代表的就是回归系数了,而L95和U95对应的就是95%的置信区间了,在R中计算的结果如下

除了加性模型外,还支持显性,隐性模型,本质就是对基因型进行了划分,还是以rs4970383为例,显性模型中基因型统计如下

genotype

AA Aa

aa

Case

9

3

Control

5

7

隐性模型中基因型统计如下

genotype

AA

Aa aa

Case

1

11

Control

2

10

plink根据显性或者隐性模型进行逻辑回归的方法如下

plink —bfile sample —logistic dominant —allow-no-sex —ci 0.95 —out out plink —bfile sample —logistic dominant —allow-no-sex —ci 0.95 —out out

分析结果如下

DOM代表显性模型,REC代表隐性模型,这里的OR值其实和逻辑回归没有太大关系,是直接根据上述2X2的表格计算出来的,根据OR值的公式,对于显性模型,OR值为

(9 7 ) / (3 5) = 4.2

隐性模型OR值为

(1 10) / (2 11) = 0.4545

用R来计算不同模型对应的p值,显性模型结果如下

隐性模型结果如下

plink的优势之处在于同时对大量snp位点进行分析,如果只是对个别位点进行分析,自己用R语言也可以得到相同的结果。

0 人点赞