RNOmni: Rank Normal Omnibus Association Test

Zachary R. McCaw
Updated: 2026-02-24

CRAN_Status_Badge

Genetic association tests based on the inverse normal transformation (INT). Recommended for continuous traits with non-normally distributed residuals. INT-based tests control type I error when standard linear regression does not (e.g. skewed or kurtotic residuals) and typically outperform linear regression in power.

Reference: McCaw et al., Biometrics (2020).

Installation

# CRAN.
install.packages("RNOmni")

# GitHub.
remotes::install_github("zrmacc/RNOmni", build_vignettes = TRUE)

Main functions

Function Description
OINT() Omnibus INT test
DINT() Direct INT test
IINT() Indirect INT test
BAT() Basic association test (no transformation)
RankNorm() Rank-based inverse normal transform
OmniP() Cauchy combination of p-values

Quick example

library(RNOmni)
set.seed(100)
n <- 500
X <- cbind(1, rnorm(n))
G <- replicate(100, rbinom(n, 2, 0.25))
storage.mode(G) <- "numeric"
y <- exp(X %*% c(1, 0.5) + rnorm(n))   # skewed phenotype
p <- OINT(y = y, G = G, X = X, simple = TRUE)

Vignette

Package vignette.