get_tree | R Documentation |
Extract some information about the split for a tree by user
get_tree(dynforest_obj, tree)
dynforest_obj |
dynforest_obj |
tree |
Integer indicating the tree identifier |
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 |
dynforest()
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 <- get_tree(dynforest_obj = res_dyn, tree = 4)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.