https://github.com/cran/flexmix
Raw File
Tip revision: 9fa1051e7ff1947a3d93361faec7f48afa10f4ea authored by Bettina Gruen on 01 June 2010, 00:00:00 UTC
version 2.2-6
Tip revision: 9fa1051
FLXMCmvpois.R
#
#  Copyright (C) 2004-2008 Friedrich Leisch and Bettina Gruen
#  $Id: flxmcmvpois.R 4211 2008-12-15 12:19:50Z gruen $
#

FLXMCmvpois <- function(formula=.~.)
{
  z <- new("FLXMC", weighted=TRUE, formula=formula,
                dist="mvpois", name="model-based Poisson clustering")
  
  require("stats")
  z@preproc.y <- function(x){
    x <- as.matrix(x)
    storage.mode(x) <- "integer"
    x
  }

  z@defineComponent <- expression({
    logLik <- function(x, y){
      colSums(dpois(t(y), lambda, log=TRUE))
    }

    predict <- function(x, ...){
      matrix(lambda, nrow = nrow(x), ncol=length(lambda),
             byrow=TRUE)
    }
    
    new("FLXcomponent", parameters=list(lambda=lambda), df=df,
        logLik=logLik, predict=predict)
  })
  z@fit <- function(x, y, w){
    with(list(lambda = colSums(w*y)/sum(w), df = ncol(y)),
         eval(z@defineComponent))
  }
  z 
}

back to top