-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathget.event.info.R
33 lines (33 loc) · 1.01 KB
/
get.event.info.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
get.event.info <- function(obj, subset = NULL) {
if (grepl("surv", obj$family)) {
if (!is.null(obj$yvar)) {
if (is.null(subset)) {
subset <- (1:nrow(cbind(obj$yvar)))
}
r.dim <- 2
time <- obj$yvar[subset, 1]
cens <- obj$yvar[subset, 2]
if (!all(floor(cens) == abs(cens), na.rm = TRUE)) {
stop("for survival families censoring variable must be coded as a non-negative integer")
}
event <- na.omit(cens)[na.omit(cens) > 0]
event.type <- sort(unique(event))
}
else {
r.dim <- 0
event <- event.type <- cens <- cens <- time <- NULL
}
time.interest <- obj$time.interest
}
else {
if ((obj$family == "regr+") | (obj$family == "class+")) {
r.dim <- dim(obj$yvar)[2]
}
else {
r.dim <- 1
}
event <- event.type <- cens <- time.interest <- cens <- time <- NULL
}
return(list(event = event, event.type = event.type, cens = cens,
time.interest = time.interest, time = time, r.dim = r.dim))
}