Inverse-normal transformation

Inverse normal transformationとは正規分布しないデータをランク変換してそのランクを正規分布の累積分布関数で変換すること。変換後の値は正規分布する。Rでやると

qnorm((rank(x)-0.5)/length(x))

となる。正規分布しない量的形質に正規性を持たせるためにこのような処理を行う。

BMIを目的とし、年齢・性別・バッチでで補正してQTLをしたい場合、まずlmで残差を計算して、この残差をInverse normal transformationして形質として回帰分析を行う。

res = lm(BMI〜Age+Sex+Batch)$residuals
std_res = qnorm((rank(res)-0.5)/length(res)) 

のような感じ。

バラ色の解決策でもない様子
https://www.ncbi.nlm.nih.gov/pubmed/19526352

コメント

このブログの人気の投稿

SKAT

locuszoom