| check_separation | R Documentation |
General separation check function.
check_separation(object, ...)
## Default S3 method:
check_separation(object, ...)
## S3 method for class 'factor'
check_separation(
object,
X,
model = NULL,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'logical'
check_separation(
object,
X,
model = NULL,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'numeric'
check_separation(
object,
X,
model = NULL,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'integer'
check_separation(
object,
X,
model = NULL,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'character'
check_separation(
object,
X,
model = NULL,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'matrix'
check_separation(
object,
rational = FALSE,
quick = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'formula'
check_separation(
object,
data,
model = NULL,
rational = FALSE,
quick = FALSE,
contrasts = NULL,
backend = c("rcdd", "ROI"),
solver = NULL,
...
)
## S3 method for class 'osm'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'clm'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'polr'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'multinom'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'glm'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'bracl'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
## S3 method for class 'brmultinom'
check_separation(
object,
rational = FALSE,
backend = c("rcdd", "ROI"),
solver = NULL,
quick = FALSE,
...
)
object |
an R object. Supported inputs:
|
... |
further arguments passed to the methods or lower-level functions. |
X |
a design matrix, e.g. generated via a call to
|
model |
character string specifying the model class to be fitted. One of:
If missing or |
rational |
logical; should rational arithmetic be used? |
quick |
logical; if |
backend |
character string specifying the backend for the linear
program. One of |
solver |
character string specifying the solver used by the
backend. Defaults to |
data |
either a standard data frame, list or environment (or object
coercible by Alternatively, |
contrasts |
an optional list. See the |
This function checks for (quasi-)complete separation by calling the appropriate low-level functions either with linear program 1 ('quick = FALSE'; default') or linear program 2 ('quick = TRUE').
check_separation is an S3 generic function.
For developers: If a method should be provided for the generic,
it is best to have that method create a matrix of structure vectors
S and use the generic with the matrix.
The formula method is for standard data frames and formulas that
work the same way as when used with glm. It does
not support extended formulas, and may not work for functions that do
formula processing differently.
For a data frame or matrix given as rational numbers in the rcdd definition, this is recognized but the formula does not get expanded and is taken literally. Consequently:
variables in formula must match exactly with the column
names in data;
factors need to be converted to dummies beforehand (which would not be possible in the rational format in any other way anyway).
A logical, 'TRUE' is separation is detected.
# pre fit
## Binary data
data(csepdat1)
outc<-csepdat1$y
desma<-cbind("(Intercept)"=1,csepdat1[,2:ncol(csepdat1)])
check_separation(outc, X = desma, model = "b")
# Nominal data
# Baseline-category link
data(qcsepdatm)
y<-qcsepdatm$y
X<-cbind(1,qcsepdatm[,2:ncol(qcsepdatm)])
check_separation(y, X = X, model = "bcl")
# Ordinal data
data(qcsepdato)
yo<-qcsepdato$y
Xo<-qcsepdato[,2:ncol(qcsepdato)]
# Sequential link
check_separation(yo, Xo, model = "sl")
# Ordered stereotype
check_separation(yo, Xo, model = "os")
# Adjacent-category link
check_separation(yo, Xo, model= "acl")
# Cumulative link
check_separation(yo, Xo, model = "cl")
# post fit
m1 <- stats::glm(y~x1+x2,data=csepdat1,family=binomial())
check_separation(m1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.