简介
关联分析就是统计分析每个变异与目标性状之间的关联性大小,选出最相关的遗传变异进行验证,并根据验证结果最终确认其与目标性状之间的相关性。一般来说,最直接的方法就是直接用卡方检验检测对照和实验组的SNP allele。
Lecture 12 - Deep Learning in Life Science (Spring 2021)
R语言实现
卡方检验(Chi-Squared Test或 χ2 test) 是一种非参数检验,用于推断总体分布与期望分布是否有显著差异,或比较两个或两个以上样本及两个分类变量之间是否相关,其根本思想是统计样本的实际观测值与理论推断值之间的偏离程度。
卡方分布本身是连续分布,而实际应用中我们接触的大多是非连续的整型的频数,此时任何一个栏位的期望次数小于5,均会使“近似于卡方分配”的假设不可信,导致统计值会系统性地偏高。
在R语言中,我们一般依照以下规则:
- 所有栏位的理论数T≥5并且总样本量n≥40,用Pearson卡方进行检验。
- 如果有栏位的理论数T<5但T≥1并且n≥40,用连续性校正的卡方进行检验。
- 如果有理论数T<1或n<40,则用Fisher’s检验。
- 用Fisher's exact test 替代2 x 2 列联表的卡方独立性检验。
- 用Binomial test 替代2 x 1 列联表的卡方拟合优度检验。
在这里是推断两个分类变量是否相关(independence):
H0:两个变量之间相互独立,观测值中差异是随机产生的(p越小,越有理由拒绝H0)
table_snp <- matrix(c(22, 68, 976, 932),
nrow = 2,
ncol = 2)
chisq.test(table_snp)
# X-squared = 23.467, df = 1, p-value = 1.271e-06
解释: X-squared 值与图中相近,但是p值有很大差异,通过调取期望值可以发现两边的期望值是不同的,可能由此导致X-squared 值有微弱差异。
chisq.test(table_snp)$expected
由于这是一个2 x 2 列联表的卡方检验,我们可以看到Fisher's exact test的结果与图中是相似的。
fisher.test(table_snp)
# p-value = 7.199e-07
Reference
Chi-squared_test
Disease Circuitry Dissection GWAS - Lecture 12 - Deep Learning in Life Science (Spring 2021)
Fisher's exact test
网友评论