getTree {DynForest} | R Documentation |
Extract some information about the split for a tree by user
Description
Extract some information about the split for a tree by user
Usage
getTree(DynForest_obj, tree)
Arguments
DynForest_obj |
|
tree |
Integer indicating the tree identifier |
Value
A table sorted by the node/leaf identifier with each row representing a node/leaf. Each column provides information about the splits:
type | The nature of the predictor (Longitudinal for longitudinal predictor, Numeric for continuous predictor or Factor for categorical predictor) if the node was split, Leaf otherwise |
var_split | The predictor used for the split defined by its order in timeData and fixedData |
feature | The feature used for the split defined by its position in random statistic |
threshold | The threshold used for the split (only with Longitudinal and Numeric ). No information is returned for Factor |
N | The number of subjects in the node/leaf |
Nevent | The number of events of interest in the node/leaf (only with survival outcome) |
depth | the depth level of the node/leaf |
See Also
Examples
data(pbc2)
# Get Gaussian distribution for longitudinal predictors
pbc2$serBilir <- log(pbc2$serBilir)
pbc2$SGOT <- log(pbc2$SGOT)
pbc2$albumin <- log(pbc2$albumin)
pbc2$alkaline <- log(pbc2$alkaline)
# Sample 100 subjects
set.seed(1234)
id <- unique(pbc2$id)
id_sample <- sample(id, 100)
id_row <- which(pbc2$id%in%id_sample)
pbc2_train <- pbc2[id_row,]
timeData_train <- pbc2_train[,c("id","time",
"serBilir","SGOT",
"albumin","alkaline")]
# Create object with longitudinal association for each predictor
timeVarModel <- list(serBilir = list(fixed = serBilir ~ time,
random = ~ time),
SGOT = list(fixed = SGOT ~ time + I(time^2),
random = ~ time + I(time^2)),
albumin = list(fixed = albumin ~ time,
random = ~ time),
alkaline = list(fixed = alkaline ~ time,
random = ~ time))
# Build fixed data
fixedData_train <- unique(pbc2_train[,c("id","age","drug","sex")])
# Build outcome data
Y <- list(type = "surv",
Y = unique(pbc2_train[,c("id","years","event")]))
# Run DynForest function
res_dyn <- DynForest(timeData = timeData_train, fixedData = fixedData_train,
timeVar = "time", idVar = "id",
timeVarModel = timeVarModel, Y = Y,
ntree = 50, nodesize = 5, minsplit = 5,
cause = 2, ncores = 2, seed = 1234)
# Extract split information from tree 4
res_tree4 <- getTree(DynForest_obj = res_dyn, tree = 4)
[Package DynForest version 1.1.3 Index]