megabot tests for correlation between a variable, X, and
another variable, Y, conditional on other variables, Z. The
basic approach involves fitting an specified model of X on Z,
a specified model of Y on Z, and then determining whether
there is any remaining information between X and Y. This is
done by computing residuals for both models, calculating their
correlation, and testing the null of no residual correlation. The test
statistic output is the correlation between probability-scale residuals.
X and Y can be continous or ordered discrete variables.
megabot replicates the functionality of cobot,
cocobot, and countbot
megabot(
formula,
data,
fit.x,
fit.y,
link.x = c("logit", "probit", "cloglog", "loglog", "cauchit", "logistic"),
link.y = c("logit", "probit", "cloglog", "loglog", "cauchit", "logistic"),
subset,
na.action = getOption("na.action"),
fisher = TRUE,
conf.int = 0.95
)object of cocobot class.
an object of class Formula (or
one that can be coerced to that class): a symbolic description of the
model to be fitted. The details of model specification are given
under ‘Details’.
an optional data frame, list or environment (or object
coercible by as.data.frame to a data frame) containing
the variables in the model. If not found in data, the
variables are taken from environment(formula), typically the
environment from which megabot is called.
The fitting function used for the model of X or Y on Z. Options are ordinal, lm, lm.emp, poisson, nb, and orm.
The link family to be used for the ordinal model of X on Z. Defaults to logit. Other options are probit, cloglog,loglog, cauchit, and logistic(equivalent with logit). Used only when fit.x is either ordinal or orm.
an optional vector specifying a subset of observations to be used in the fitting process.
action to take when NA present in data.
logical indicating whether to apply fisher transformation to compute confidence intervals and p-values for the correlation.
numeric specifying confidence interval coverage.
Formula is specified as X | Y ~ Z. This
indicates that models of X ~ Z and Y ~
Z will be fit. The null hypothesis to be tested is \(H_0 :
X\) independent of Y conditional on Z.
Li C and Shepherd BE (2012) A new residual for ordinal outcomes. Biometrika. 99: 473--480.
Shepherd BE, Li C, Liu Q (2016) Probability-scale residuals for continuous, discrete, and censored data. The Canadian Journal of Statistics. 44: 463--479.
data(PResidData)
megabot(y|w ~ z, fit.x="ordinal", fit.y="lm.emp", data=PResidData)
Run the code above in your browser using DataLab