R/tble_avsd.R

Defines functions .tbl_avsd

.tbl_avsd=function(tble,strata,all_strata,data,var,var.order,type,count,nxt_row,rnd){


  if(is.numeric(data[[var]])){

    counts=c()

    for(j in all_strata){
      if(j=="Overall"){
        data_sub=data[,var]
      } else {
        data_sub=data[data[strata]==j,var]
      }

      counts=switch(
        count,
        n=c(counts,length(data_sub)),
        miss=c(counts,sum(is.na(data_sub))),
        NULL=c()
      )

      ################################
      # section to change for other outputs
      av=mean(data_sub,na.rm =TRUE)
      avsd=sd(data_sub,na.rm =TRUE)

      tble[nxt_row,j]=paste0(roundWZero(av,rnd)," (",roundWZero(avsd,rnd),")")
      #################################

    }

    if(count=="n"){
      tble[nxt_row,2]=paste0("n=(",paste0(counts,collapse=","),")")
    } else if(count=="miss"){
      tble[nxt_row,2]=paste0("Missing=(",paste0(counts,collapse=","),")")
    }

    nxt_row=nxt_row+1


  } else {
    warning(paste(var, "is not a numeric variable, not added to table"))
  }


  return(list(tble=tble,nxt_row=nxt_row))

}
csmoxford/prettyTables documentation built on May 14, 2019, 12:24 p.m.