check_overlap: Check overlap

View source: R/generics.R

check_overlapR Documentation

Check overlap

Description

This function checks for overlap by calling the appropriate low-level functions. It can be run with the linear program ('quick = FALSE', default), linear program 2 ('quick = TRUE'), on sequential subsets of data ('sequential = TRUE') or via multicore parallelization ('parallel = TRUE').

Usage

check_overlap(object, ...)

## Default S3 method:
check_overlap(object, ...)

## S3 method for class 'factor'
check_overlap(
  object,
  X,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'logical'
check_overlap(
  object,
  X,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'numeric'
check_overlap(
  object,
  X,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'integer'
check_overlap(
  object,
  X,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'character'
check_overlap(
  object,
  X,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'matrix'
check_overlap(
  object,
  rational = FALSE,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  nc = NULL,
  nss = NULL,
  ...
)

## S3 method for class 'formula'
check_overlap(
  object,
  data,
  model = NULL,
  rational = FALSE,
  contrasts = NULL,
  quick = FALSE,
  sequential = FALSE,
  parallel = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  ...
)

## S3 method for class 'osm'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'clm'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'polr'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'multinom'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'glm'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'bracl'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = FALSE,
  sequential = FALSE,
  nss = NULL,
  nc = NULL,
  ...
)

## S3 method for class 'brmultinom'
check_overlap(
  object,
  rational = FALSE,
  backend = c("rcdd", "ROI"),
  solver = NULL,
  quick = FALSE,
  parallel = parallel,
  sequential = sequential,
  nss = nss,
  nc = nc,
  ...
)

Arguments

object

an R object. Supported inputs:

  • Pre-fit (vector): a vector of type factor, character, logical, numeric or integer. In this case one also needs to supply the argument X and, optionally but recommended, a model.

  • Pre-fit (matrix): a matrix of structure vectors.

  • Pre-fit (formula): 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’ in glm. In this case one needs to supply data, with an optional model argument as well.

  • Post-fit: a fitted model object of class glm, polr, clm, osm, brmultinom, bracl, brglm or multinom.

...

additional arguments to be passed to other functions (e.g. to mclappy in parallel execution)

X

a design matrix, e.g. generated via a call to model.matrix. X is expected to already contain the desired contrasts for factors (e.g., dummies) and any other expanded columns (e.g., for polynomials).

rational

logical; should rational arithmetic be used?

quick

logical; if TRUE, use the quick linear program variant, otherwise the full linear program.

sequential

conduct a sequential check on data subsets (default 'FALSE').

parallel

conduct a check in parallel on data subsets via multicores (default 'FALSE').

backend

character string specifying the backend for the linear program. One of "rcdd" (default, and the only option when rational = TRUE) or "ROI".

solver

character string specifying the solver used by the backend. Defaults to "DualSimplex" for backend = "rcdd", and to the first LP solver returned by ROI_applicable_solvers for backend = "ROI".

nc

number of cores to be used for parallel execution. Defaults to 1.

nss

number of subsets for parallel or sequneital execution. Defaults to 'nc' for parallel and 10 for sequential. If nss is below 1 or above n-1, it uses 'nss = 1'.

data

either a standard 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 the function is called.

Alternatively, data can be a data frame or matrix containing rational numbers as per the definition in rcdd (i.e. columns are characters, entries are either integer numbers or ratios of integer numbers, e.g. "1" or "-234/19008"). This is checked internally; see ‘Details’ for what happens when this structure is discovered.

model

character string specifying the model class to be fitted. One of:

  • "b" – binary

  • "bcl" – baseline-category link

  • "cl" – cumulative link

  • "acl" – adjacent-category link

  • "sl" – sequential link

  • "os" – ordered stereotype model

If missing or NULL, defaults to "cl" for ordinal y and "bcl" otherwise.

contrasts

an optional list. See the contrasts.arg of model.matrix.default. Only effective for standard data frames.

Details

check_overlap 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 low-level function check_overlap_worker with it.

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).

Value

A logical, 'TRUE' is overlap is detected.

Examples


 # pre fit

## Binary data
data(csepdat1)
outc<-csepdat1$y
desma<-cbind("(Intercept)"=1,csepdat1[,2:ncol(csepdat1)])
check_overlap(outc, X = desma, model = "b")

# Nominal data 
# Baseline-category link
data(qcsepdatm)
check_overlap(y ~ x1 + x2, data = qcsepdatm, model = "bcl")

# Ordinal data
data(qcsepdato)
yo<-qcsepdato$y
Xo<-qcsepdato[,2:ncol(qcsepdato)]

# Sequential link
check_overlap(yo, Xo, model = "sl", rational = TRUE)

# Ordered stereotype
check_overlap(yo, Xo, model = "os", sequential = TRUE, nss =2)

# Adjacent-category link
check_overlap(yo, Xo, model= "acl", parallel = TRUE, nc = 1)

# Cumulative link
check_overlap(yo, Xo, model = "cl", quick = TRUE)


# post fit
m1 <- stats::glm(y~x1+x2,data=csepdat1,family=binomial())
check_overlap(m1)

divoRce documentation built on Oct. 18, 2026, 5:08 p.m.