Learn R Programming

Colossus

The goal of Colossus is to provide an open-source means of performing survival analysis on big data with complex risk formulas. Colossus is designed to perform Cox Proportional Hazard regressions and Poisson regressions on datasets loaded as data.tables or data.frames. The risk models allowed are sums or products of linear, log-linear, or several other radiation dose response formulas highlighted in the vignettes. Additional plotting capabilities are available.

By default, a fully portable version of the code is compiled, which does not support OpenMP on every system. Note that Colossus requires OpenMP support to perform parallel calculations. The environment variable “R_COLOSSUS_NOT_CRAN” is checked to determine if OpenMP should be disabled for linux compiling with clang. The number of cores is set to 1 if the environment variable is empty, the operating system is detected as linux, and the default compiler or R compiler is clang. Colossus testing checks for the “NOT_CRAN” variable to determine if additional tests should be run. Setting “NOT_CRAN” to “false” will disable the longer tests. Currently, OpenMP support is not configured for linux compiling with clang.

Note: From versions 1.3.1 to 1.4.1 the expected inputs changed. Regressions are now run with CoxRun and PoisRun and formula inputs. Please see the “Unified Equation Representation” vignette for more details.

Example

This is a basic example which shows you how to solve a common problem:

library(data.table)
library(parallel)
library(Colossus)
## basic example code reproduced from the starting-description vignette

df <- data.table(
  "UserID" = c(112, 114, 213, 214, 115, 116, 117),
  "Starting_Age" = c(18, 20, 18, 19, 21, 20, 18),
  "Ending_Age" = c(30, 45, 57, 47, 36, 60, 55),
  "Cancer_Status" = c(0, 0, 1, 0, 1, 0, 0),
  "a" = c(0, 1, 1, 0, 1, 0, 1),
  "b" = c(1, 1.1, 2.1, 2, 0.1, 1, 0.2),
  "c" = c(10, 11, 10, 11, 12, 9, 11),
  "d" = c(0, 0, 0, 1, 1, 1, 1)
)

model <- Cox(Starting_Age, Ending_Age, Cancer_Status) ~ loglinear(a, 0) + linear(b, c, 1) + plinear(d, 2) + multiplicative()

a_n <- c(0.1, 0.1, 0.1, 0.1)

keep_constant <- c(0, 0, 0, 0)

control <- list(
  "lr" = 0.75, "maxiter" = 100, "halfmax" = 5, "epsilon" = 1e-9,
  "deriv_epsilon" = 1e-9, "step_max" = 1.0,
  "verbose" = 2, "ties" = "breslow"
)

e <- CoxRun(model, df, a_n = a_n, control = control)
print(e)
#> |-------------------------------------------------------------------|
#> Final Results
#>    Covariate Subterm Term Number Central Estimate Standard Error 2-tail p-value
#>       <char>  <char>       <int>            <num>          <num>          <num>
#> 1:         a  loglin           0         21.67085            NaN            NaN
#> 2:         b     lin           1          0.10000            NaN            NaN
#> 3:         c     lin           1          0.10000            NaN            NaN
#> 4:         d    plin           2          0.10000            Inf              1
#> 
#> Cox Model Used
#> -2*Log-Likelihood: 2.64,  AIC: 10.64
#> Iterations run: 27
#> maximum step size: 7.50e-01, maximum first derivative: 5.49e-10
#> Analysis converged
#> Run finished in 0.04 seconds
#> |-------------------------------------------------------------------|

Copy Link

Version

Install

install.packages('Colossus')

Monthly Downloads

372

Version

1.4.10

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Eric Giunta

Last Published

February 20th, 2026

Functions in Colossus (1.4.10)

EventAssignment.poisresbound

Predicts how many events are due to baseline vs excess for a completed poisson likelihood boundary regression
Event_Count_Gen

uses a table, list of categories, and list of event summaries to generate person-count tables
LikelihoodBound

Generic likelihood boundary calculation function
LikelihoodBound.default

Generic likelihood boundary calculation function, default option
LikelihoodBound.poisres

Calculates the likelihood boundary for a completed Poisson model
Joint_Multiple_Events

Automates creating data for a joint competing risks analysis
OMP_Check

Checks the OMP flag
System_Version

Checks OS, compilers, and OMP
PoisRunJoint

Fully runs a joint poisson regression model, returning the model and results
PoisRunMulti

Fully runs a poisson regression model with multiple column realizations, returning the model and results
Residual.poisres

Calculates the Residuals for a completed poisson model
Replace_Missing

Automatically assigns missing values in listed columns
RelativeRisk.default

Generic relative risk calculation function, default option
PoisRun

Fully runs a poisson regression model, returning the model and results
Residual

Generic Residual calculation function
gen_time_dep

Applies time dependence to parameters
get_form

Interprets a Colossus formula and makes necessary changes to data
print.coxresbound

Prints a cox likelihood boundary regression output clearly
plotMartingale.coxres

Performs Cox Proportional Hazard model martingale residual plots
plotMartingale

Generic Martingale Residual Plotting function
print.logitres

Prints a logistic regression output clearly
print.caseconres

Prints a case-control regression output clearly
print.coxres

Prints a cox regression output clearly
print.poisres

Prints a poisson regression output clearly
print.poisresbound

Prints a poisson likelihood boundary regression output clearly
Time_Since

Automates creating a date since a reference column
RelativeRisk.coxres

Calculates hazard ratios for a reference vector
factorize

Splits a parameter into factors
RelativeRisk

Generic relative risk calculation function
Residual.default

Generic Residual calculation function, default option
plotRisk.coxres

Performs Cox Proportional Hazard model hazard ratio plots
plotSchoenfeld

Generic Schoenfeld Residual Plotting function
plotRisk.default

Generic Risk Plotting function, default option
plotSchoenfeld.default

Generic Schoenfeld Residual Plotting function, default option
LogisticRun

Fully runs a logistic regression model, returning the model and results
Linked_Lin_Exp_Para

Calculates The Additional Parameter For a linear-exponential formula with known maximum
get_form_joint

Interprets a Poisson joint formula and makes necessary changes to data
plotRisk

Generic Risk Plotting function
plot.coxres

Performs Cox Proportional Hazard model plots
plotMartingale.default

Generic Martingale Residual Plotting function, default option
plotSchoenfeld.coxres

Performs Cox Proportional Hazard model schoenfeld residual plots
plotSurvival.default

Generic Survival Plotting function, default option
plotSurvival.coxres

Performs Cox Proportional Hazard model survival plots
plotSurvival

Generic Survival Plotting function
EventAssignment

Generic background/excess event calculation function
CoxRun

Fully runs a cox or fine-gray regression model, returning the model and results
Date_Shift

Automates creating a date difference column
EventAssignment.poisres

Predicts how many events are due to baseline vs excess for a completed poisson model
EventAssignment.default

Predicts how many events are due to baseline vs excess
CoxRunMulti

Fully runs a cox or fine-gray regression model with multiple column realizations, returning the model and results
ColossusLogitSurv

Interprets basic logistic survival formula RHS with no grouping
CaseControlRun

Fully runs a case-control regression model, returning the model and results
ColossusCoxSurv

Interprets basic cox survival formula RHS
ColossusPoisSurv

Interprets basic poisson survival formula RHS
LikelihoodBound.coxres

Calculates the likelihood boundary for a completed cox model
Event_Time_Gen

uses a table, list of categories, list of summaries, list of events, and person-year information to generate person-time tables
Linked_Dose_Formula

Calculates Full Parameter list for Special Dose Formula
Likelihood_Ratio_Test

Defines the likelihood ratio test