##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (logr, emfit, zgroup, times, center)
{
gz <- matrix(nrow = length(logr), ncol = length(emfit$parameters$mean),
data = logr)
if (length(emfit$parameters$mean) == 1)
epro <- as.vector(1)
if (length(emfit$parameters$mean) > 1)
epro <- emfit$parameters$pro
gz <- t(epro * pnorm(-abs(t(gz) - emfit$parameters$mean)/sqrt(emfit$parameters$variance$sigmasq)))
gz <- gz %*% t(zgroup)
gz <- matrix(ncol = ncol(gz), data = apply(gz, 2, cumsum)[seq(from = times,
to = nrow(gz), by = times), ]/times)
gz <- (gz[, center] - c(0, gz[-nrow(gz), center]))/sum(epro[zgroup[center,
] == 1])
return(ifelse(gz < 0.5, gz, 1 - gz))
}Run the code above in your browser using DataLab