R/Statistic.R

Defines functions flattenStats

Documented in flattenStats

setClass("Statistic",
         slots=c(name="character",
                 node="character",
                 fun="character"))

Statistic <- function (fun,node,name=sprintf("%s(%s)",fun,node),...) {
  new("Statistic",name=name,node=node,fun=fun,...)
}

setMethod("toString","Statistic",function (x,...) {
  sprintf("Statistic: { %s }",x@name)
  })
setMethod("show","Statistic",function(object) {
  cat(toString(object),"\n")
})

setGeneric("StatName",function(x) standardGeneric("StatName"))
setMethod("StatName","Statistic", function(x) x@name)

setGeneric("calcStat",function (stat,net) standardGeneric("calcStat"))
setMethod("calcStat",c("Statistic"),
          function (stat,net) {
            node <- PnetFindNode(net,stat@node)
            do.call(stat@fun,list(net,node))
          })


setGeneric("PnodeMargin",function(net,node) standardGeneric("PnodeMargin"))
setGeneric("PnodeEAP",function(net,node) standardGeneric("PnodeEAP"))
setGeneric("PnodeSD",function(net,node) standardGeneric("PnodeSD"))
setGeneric("PnodeMedian",function(net,node) standardGeneric("PnodeMedian"))
setGeneric("PnodeMode",function(net,node) standardGeneric("PnodeMode"))



flattenStats <- function(statlist) {
    do.call("c",statlist)
}
ralmond/Peanut documentation built on Sept. 19, 2023, 8:27 a.m.