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