https://github.com/cran/emplik
Tip revision: 23907dd7c7efb4547f0300a60c2b026df465087d authored by Mai Zhou on 10 September 2004, 00:00:00 UTC
version 0.8-2
version 0.8-2
Tip revision: 23907dd
DnR.R
DnR <- function(x, d, w, y=rep(-Inf, length(x)) )
{
# inputs should be from Wdataclean2(), i.e. ordered and weighted.
# y is the truncation times, y do not have to be the same length
# as x, but should be length(y) = sum(w).
allrisk <- rev(cumsum(rev(w)))
posi <- d == 1
uncenx <- x[posi]
uncenw <- w[posi]
uncenR <- allrisk[posi]
if(any(y > -Inf)) {
inde <- function(u, v) { as.numeric(u >= v) }
uuij <- outer(y, uncenx, FUN="inde")
trunca <- as.vector( rowsum( uuij, group= rep(1, length(y))) )
uncenR <- uncenR - trunca
}
list( times = uncenx, n.risk = uncenR, n.event = uncenw )
}