R/stratsample.R

Defines functions stratsample

Documented in stratsample

#' Title
#'
#' @param model
#'
#' @return
#' @export
#'
#' @examples
#' \dontrun{
#' my_crowd <- gencrowd(NN = c(800, 60, 60, 80),
#' nn = c(20, 10, 10, 20),
#' lambda = 0.7)
#' stratsample(my_crowd)
#' }
#'
stratsample <- function(model){
  if(!is(model,"crowd")) stop("Argument not valid")
  y_list = model$y
  nn = model$nn
  NN = model$NN
  N = sum(NN)


    y_sample <- list()
    for(i in 1:4){
      y_sample[[i]] <- sample(y_list[[i]], nn[i])
    }
    mean <- sapply(y_sample, mean)
    Htest<- (N^-1)*sum(NN*mean)
    var <- sapply(y_sample, var)
    var_Htest<- (N^-2)*sum(((NN*(NN-nn))/(NN*nn))*var)




  out <- list(method = "Strat Sample",
              Htest = Htest,
              var_Htest = var_Htest,
              y_sample = y_sample,
              model = model
)
  class(out) <- "crowdsample"
  return(out)
}
vincnardelli/crowdpostsampler documentation built on May 25, 2019, 7:23 p.m.