R/zpoisson.R

BM_poisson <- setRefClass("BM_poisson",
    contains = "scalar_model",
    methods = list(
        initialize = function(membership_type,adj,...)
        {
            .self$initFields(membership_name = membership_type,
                            model_name = "poisson",
                            adj = adj,
                            ...)
            .self$postinit()
        },
        plot_transform = function(x) {log(1+x)},
        plot_parameters = function(Q)
        {
            matrixplot(.self$plot_transform(model_parameters[[Q]]$lambda))
        },
        prediction = function(Q)
        {
            if(membership_name=='LBM')
            {
                return(
                    memberships[[Q]]$Z1
                     %*%
                    model_parameters[[Q]]$lambda
                     %*%
                    t(memberships[[Q]]$Z2)
                )
            }
            else
            {
                return(
                    memberships[[Q]]$Z
                     %*%
                    model_parameters[[Q]]$lambda
                     %*%
                    t(memberships[[Q]]$Z)
                )
            }
        }
    )
)

Try the blockmodels package in your browser

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

blockmodels documentation built on Dec. 11, 2021, 9:55 a.m.