R/larsDR_coxph.R
, R/larsDR_coxph.default.R
, R/larsDR_coxph.formula.R
larsDR_coxph.Rd
This function computes the Cox Model based on lars variables computed model with
as the response: the Residuals of a Cox-Model fitted with no covariate
as explanatory variables: Xplan.
It uses the
package lars
to perform PLSR fit.
larsDR_coxph(Xplan, ...)
# S3 method for default
larsDR_coxph(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = FALSE,
scaleY = TRUE,
plot = FALSE,
typelars = "lasso",
normalize = TRUE,
max.steps,
use.Gram = TRUE,
allres = FALSE,
verbose = TRUE,
...
)
# S3 method for formula
larsDR_coxph(
Xplan,
time,
time2,
event,
type,
origin,
typeres = "deviance",
collapse,
weighted,
scaleX = FALSE,
scaleY = TRUE,
plot = FALSE,
typelars = "lasso",
normalize = TRUE,
max.steps,
use.Gram = TRUE,
allres = FALSE,
dataXplan = NULL,
subset,
weights,
model_frame = FALSE,
model_matrix = FALSE,
verbose = TRUE,
contrasts.arg,
...
)
a formula or a matrix with the eXplanatory variables (training) dataset
Arguments to be passed on to survival::coxph
or to
lars::lars
.
for right censored data, this is the follow up time. For interval data, the first argument is the starting time for the interval.
The status indicator, normally 0=alive, 1=dead. Other choices
are TRUE/FALSE
(TRUE
= death) or 1/2 (2=death). For interval
censored data, the status indicator is 0=right censored, 1=event at
time
, 2=left censored, 3=interval censored. Although unusual, the
event indicator can be omitted, in which case all subjects are assumed to
have an event.
ending time of the interval for interval censored or counting
process data only. Intervals are assumed to be open on the left and closed
on the right, (start, end]
. For counting process data, event
indicates whether an event occurred at the end of the interval.
character string specifying the type of censoring. Possible
values are "right"
, "left"
, "counting"
,
"interval"
, or "interval2"
. The default is "right"
or
"counting"
depending on whether the time2
argument is absent
or present, respectively.
for counting process data, the hazard function origin. This option was intended to be used in conjunction with a model containing time dependent strata in order to align the subjects properly when they cross over from one strata to another, but it has rarely proven useful.
character string indicating the type of residual desired.
Possible values are "martingale"
, "deviance"
, "score"
,
"schoenfeld"
, "dfbeta"
, "dfbetas"
, and
"scaledsch"
. Only enough of the string to determine a unique match is
required.
vector indicating which rows to collapse (sum) over. In
time-dependent models more than one row data can pertain to a single
individual. If there were 4 individuals represented by 3, 1, 2 and 4 rows of
data respectively, then collapse=c(1,1,1,2,3,3,4,4,4,4)
could be used
to obtain per subject rather than per observation residuals.
if TRUE
and the model was fit with case weights, then
the weighted residuals are returned.
Should the Xplan
columns be standardized ?
Should the time
values be standardized ?
Should the survival function be plotted ?)
One of "lasso"
, "lar"
,
"forward.stagewise"
or "stepwise"
. The names can be
abbreviated to any unique substring. Default is "lasso"
.
If TRUE, each variable is standardized to have unit L2 norm, otherwise it is left alone. Default is TRUE.
Limit the number of steps taken; the default is 8 *
min(m, n-intercept)
, with m the number of variables, and n the number of
samples. For type="lar"
or type="stepwise"
, the maximum number
of steps is min(m,n-intercept)
. For type="lasso"
and
especially type="forward.stagewise"
, there can be many more terms,
because although no more than min(m,n-intercept) variables can be active
during any step, variables are frequently droppped and added as the
algorithm proceeds. Although the default usually guarantees that the
algorithm has proceeded to the saturated fit, users should check.
When the number m of variables is very large, i.e. larger
than N, then you may not want LARS to precompute the Gram matrix. Default is
use.Gram=TRUE
FALSE to return only the Cox model and TRUE for additionnal results. See details. Defaults to FALSE.
Should some details be displayed ?
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 dataXplan
, the variables are
taken from environment(Xplan)
, typically the environment from which
plscox
is called.
an optional vector specifying a subset of observations to be used in the fitting process.
an optional vector of 'prior weights' to be used in the
fitting process. Should be NULL
or a numeric vector.
If TRUE
, the model frame is returned.
If TRUE
, the model matrix is returned.
a list, whose entries are values (numeric matrices, functions or character strings naming functions) to be used as replacement values for the contrasts replacement function and whose names are the names of columns of data containing factors.
If allres=FALSE
:
Final Cox-model.
If
allres=TRUE
:
The (Deviance) Residuals.
The LASSO/LARS model fitted to the (Deviance) Residuals.
The eXplanatory variables.
Final Cox-model.
This function computes the LASSO/LARS model with the Residuals of a Cox-Model fitted with an intercept as the only explanatory variable as the response and Xplan as explanatory variables. Default behaviour uses the Deviance residuals.
If allres=FALSE
returns only the final Cox-model. If
allres=TRUE
returns a list with the (Deviance) Residuals, the
LASSO/LARS model fitted to the (Deviance) Residuals, the eXplanatory
variables and the final Cox-model. allres=TRUE
is useful for
evluating model prediction accuracy on a test sample.
plsRcox, Cox-Models in a high dimensional setting in R, Frederic
Bertrand, Philippe Bastien, Nicolas Meyer and Myriam Maumy-Bertrand (2014).
Proceedings of User2014!, Los Angeles, page 152.
Deviance residuals-based sparse PLS and sparse kernel PLS regression for censored data, Philippe Bastien, Frederic Bertrand, Nicolas Meyer and Myriam Maumy-Bertrand (2015), Bioinformatics, 31(3):397-404, doi:10.1093/bioinformatics/btu660.
data(micro.censure)
data(Xmicro.censure_compl_imp)
X_train_micro <- apply((as.matrix(Xmicro.censure_compl_imp)),FUN="as.numeric",MARGIN=2)[1:80,]
X_train_micro_df <- data.frame(X_train_micro)
Y_train_micro <- micro.censure$survyear[1:80]
C_train_micro <- micro.censure$DC[1:80]
(cox_larsDR_fit <- larsDR_coxph(X_train_micro,Y_train_micro,C_train_micro,max.steps=6,
use.Gram=FALSE,scaleX=TRUE))
#> Loaded lars 1.3
#> Call:
#> coxph(formula = YCsurv ~ ., data = X_larsDR)
#>
#> coef exp(coef) se(coef) z p
#> D20S107 0.6263 1.8706 0.4316 1.451 0.146794
#> D3S1282 -0.2857 0.7515 0.4547 -0.628 0.529826
#> D15S127 0.9521 2.5911 0.3834 2.483 0.013027
#> D2S138 -1.3850 0.2503 0.4197 -3.300 0.000967
#> D16S408 -0.7357 0.4792 0.3880 -1.896 0.057930
#> N 0.4274 1.5332 0.2675 1.598 0.110118
#>
#> Likelihood ratio test=31.8 on 6 df, p=1.784e-05
#> n= 80, number of events= 17
(cox_larsDR_fit <- larsDR_coxph(~X_train_micro,Y_train_micro,C_train_micro,max.steps=6,
use.Gram=FALSE,scaleX=TRUE))
#> Error in model.matrix(mt0, mf0, , contrasts.arg = contrasts.arg): argument "contrasts.arg" is missing, with no default
(cox_larsDR_fit <- larsDR_coxph(~.,Y_train_micro,C_train_micro,max.steps=6,
use.Gram=FALSE,scaleX=TRUE,dataXplan=X_train_micro_df))
#> Error in model.matrix(mt0, mf0, , contrasts.arg = contrasts.arg): argument "contrasts.arg" is missing, with no default
larsDR_coxph(~X_train_micro,Y_train_micro,C_train_micro,max.steps=6,use.Gram=FALSE)
#> Error in model.matrix(mt0, mf0, , contrasts.arg = contrasts.arg): argument "contrasts.arg" is missing, with no default
larsDR_coxph(~X_train_micro,Y_train_micro,C_train_micro,max.steps=6,use.Gram=FALSE,scaleX=FALSE)
#> Error in model.matrix(mt0, mf0, , contrasts.arg = contrasts.arg): argument "contrasts.arg" is missing, with no default
larsDR_coxph(~X_train_micro,Y_train_micro,C_train_micro,max.steps=6,use.Gram=FALSE,
scaleX=TRUE,allres=TRUE)
#> Error in model.matrix(mt0, mf0, , contrasts.arg = contrasts.arg): argument "contrasts.arg" is missing, with no default
rm(X_train_micro,Y_train_micro,C_train_micro,cox_larsDR_fit)