R/Viterbi.mmglmlong1.R

Viterbi.mmglmlong1 <- function (object, ...){
    subjects <- unique(object$longitude)
    N <- length(subjects)
    k <- length(object$y)
    n <- k/N
    states <- rep(NA, k)
    for (i in 1:N){
        a <- (object$longitude==subjects[i])
        if (object$glmfamily$family=="binomial") size <- object$size[a]
        else size <- NA
        w <- mmglm1(object$y[a], object$Pi, object$delta,
                    object$glmfamily, object$beta, object$Xdesign[a,],
                    sigma=object$sigma, nonstat=object$nonstat,
                    size=size, msg=FALSE)
        states[((i-1)*n+1):(i*n)] <- Viterbi(w)
    }
    return(states)
}

Try the HiddenMarkov package in your browser

Any scripts or data that you put into this service are public.

HiddenMarkov documentation built on April 27, 2021, 5:06 p.m.