R/Coef_comp.R

#' Model Coefficient Generator
#'
#' This function generates the model coefficients corresponding to the model fit 
#' for a given partition. 
#'
#' @param y vector of data
#' @param grpvec pooling vector of interest
#' @param pooling corresponding pooling to grpvec as generated by grp.asn() 
#' @export
#' @examples
#' coef.compute()
coef.compute <- function(y, grpvec, pooling, ...){
  lun <- length(unique(grpvec))
  if (lun == 1) {
    mod <- glm(y ~ 1, ...) 
    cfs.pre <- summary(mod)$coefficients[,1]
    cfs <- rep(cfs.pre, length(pooling))
  } else {
    grpvec <- factor(grpvec)
    unqvals <- unique(pooling)
    mod <- glm(y ~ grpvec-1, ...) 
    cfs.pre1 <- summary(mod)$coefficients[,1]
    
    cfs <- length(pooling)
    for (j in 1:length(unqvals)){
      for (k in 1:length(pooling)){
        if (pooling[k] == unqvals[j]) {
          cfs[k] <- cfs.pre1[j]
        }
      }
    }
    return(cfs)
  }
}
javenrflo/BMSMC documentation built on May 22, 2019, 1:39 p.m.