cchs fits a Cox proportional-hazards regression model to case-cohort data where the subcohort was selected by stratified simple random sampling. It uses Estimator III of Borgan et al (2000).cchs(formula, data=sys.parent(), inSubcohort, stratum,
samplingFractions, cohortStratumSizes, precision=NULL,
swap=TRUE, dropNeverAtRiskRows=TRUE, dropSubcohEventsDfbeta=FALSE,
adjustSampFracIfAnyNAs=FALSE, keepAllCoxphElements=FALSE,
verbose=FALSE, coxphControl, ...)inSubcohort, stratum, samplingFractions, and cohortStratumSizes will be looked for first in data<TRUE) or not (FALSE).stratum corresponds to one observation/row in the data. The elements can be character strings, integers, or any other type of variable that can be convesamplingFractions is a vector of the sampling fractions in the different strata, and cohortStratumSizes is a vector of the sizes of the strata in the full cohort. Exactly one of these must be given. There are two possible forms fprecision should be 1/365.25. If there are no tied event-times, then it makes no difference what precision is. If thFALSE then the swapping will be omitted (in the formula for Estimator III in Borgan et al 2000, the randomly selected observation/row will not be removed). This is only intended to be used for testing or development.TRUE, observations/rows whose at-risk periods do not include any of the event-times will be dropped just before cchs internally calls coxph. These observations/rows make nFALSE, which is the default, the dfbeta residuals and therefore the variance-estimates will be calculated exactly as described by Borgan et al (2000). If it is TRUE, they will be calculated as described by Langholz & JNAs), then the sampling fractions will be recalculated using the numbers of observations after those observations are dropped.TRUE, then the object returned by cchs will contain elements such as loglik and linear.predictors from the object that was produced by cchs's internal call to TRUE, detailed information about the internal manipulations and calculations will be displayed.coxph when it is called internally by cchs. If coxphControl is supplied then it must be a list produced by coxph.contcchs. This is a list that contains the following elements:coxph.coxph.cchs object (an object of mode call).n.keepAllCoxphElements is TRUE, then the cchs object will also contain the other elements listed under coxph.object.cchs fits a Cox proportional-hazards regression model to data from a stratified case--cohort study, using the time-fixed version of Estimator III from Borgan et al (2000). Estimators I and II from Borgan et al (2000) are available by using cch with the options method="I.Borgan" and method="II.Borgan", but only Estimator III is score-unbiased, which is the main desirable criterion. The data must be in the usual form where each row corresponds to one observation (that is, one participant). cchs works by manipulating the data in various ways, then passing it to coxph (which is suitable for fitting a Cox model to data from a cohort study), and finally making corrections to the variance-estimates. It is planned that a vignette will be produced and this will contain more detail.
For normal use, the logical (boolean) arguments should have their default values. cchs performs a complete-case analysis, meaning that rows will be dropped if they contain NAs in any of the variables that appear in the model, including inside the Surv(), or in inSubcohort or stratum. NAs are not allowed in samplingFractions or cohortStratumSizes, unless that vector has names and any of those names are not equal to values of stratum, in which case the corresponding elements can be NA. cchs does not normally give replicable results, because the swapping and the small changes to tied event-times are random (see swap and precision in the Argument section). To get exactly the same results every time, use set.seed with a fixed seed just before calling cchs.
Langholz, B., Jiao, J. (2007). Computational methods for case--cohort studies. Computational Statistics and Data Analysis 51 (8), 3737--3748.
cch, which can calculate Estimators I and II from Borgan et al (2000), coxph, which cchs uses internally, and coxph.control, a container for certain parameters that are passed to coxph. These are all in the cchsData, an example dataset that cchs can be used on.# Analyze the relation between survival and three covariates in cchsData.
# The times are stored as years but were recorded to the nearest month, so
# precision has to be 1/12. The selection of the subcohort was stratified
# according to two strata, defined by cchsData$localHistol, and the sampling
# fractions are stored in cchsData$sampFrac.
cchs(Surv(time, isCase) ~ stage + centralLabHistol + ageAtDiagnosis,
data=cchsData, inSubcohort=inSubcohort, stratum=localHistol,
samplingFractions=sampFrac, precision=1/12)Run the code above in your browser using DataLab