上述代码中x和y由两个范围不同的均匀分布抽样产生,可以看到其Q-Q plot近似一条直线。通过这个例子可以看到,Q-Q plot的核心作用就是比较两个数据的分布是否一致。上述代码只是用于展示Q-Q plot的原理,分位数的求解过程本质是将数据从小到大排序之后计算百分比,在实际绘制Q-Q plot图示,直接将两个数据从小到大排序之后绘图就可以了,代码如下
输出结果如下
可以看到,趋势和用分位数来画是一样的。Q-Q plot适用范围广泛,可以比较任意两个数据集的分布。常见的用法有两种,第一种直接拿两个真实的数据集进行比较,查看分布是否一致, 第二种那一个真实数据,和一个基于理论分布计算的数据来比较,查看是否符合理论分布。
关联分析的Q-Q plot就是第二种用法,, 理论分布是均匀分布,拿实际关联分析的p值来和理论分布进行比较。为什么理论分布是均匀分布呢?
要判断一个数据的理论分布,最直观的方式是绘制实际数据的密度分布图,GWAS中p值分布的密度直方图如下