#' Print regression results according to STROBE #' #' Printable table of linear regression analysis of group vs var for meas. #' @param meas outcome meassure variable name in data-data.frame as a string. #' @param var exposure variable to compare against (active vs placebo). As string. #' @param groups groups to compare, as string. #' @param adj variables to adjust for, as string. #' @param data dataframe of data. #' @param dec decimals for results, standard is set to 2. Mean and sd is dec-1. #' @keywords cpr #' @export #' @examples #' strobe_print() strobe_print<-function(meas,var,group,adj,data,dec=2){ ## meas: sdmt ## var: rtreat ## group: genotype ## for dichotome exposure variable (var) d<-data m<-d[,c(meas)] v<-d[,c(var)] g<-d[,c(group)] ads<-d[,c(adj)] dat<-data.frame(m,v,g,ads) df<-data.frame(matrix(ncol=7)) names(df)<-c("grp",paste0("N.",substr(levels(v)[1],1,3)),paste0("M.",substr(levels(v)[1],1,3)),paste0("N.",substr(levels(v)[2],1,3)),paste0("M.",substr(levels(v)[2],1,3)),"diff","ad.diff") for (i in 1:length(levels(g))){ grp<-levels(dat$g)[i] di<-dat[dat$g==grp,][,-3] mod<-lm(m~v,data=di) co<-round(coef(mod)[-1],dec) lo<-round(confint(mod)[-1,1],dec) up<-round(confint(mod)[-1,2],dec) ci<-paste0(co," (",lo," to ",up,")") amod<-lm(m~.,data=di) aco<-round(coef(amod)[2],dec) alo<-round(confint(amod)[2,1],dec) aup<-round(confint(amod)[2,2],dec) aci<-paste0(aco," (",alo," to ",aup,")") nr<-c() for (r in 1:2){ vr<-levels(di$v)[r] dr<-di[di$v==vr,] n<-as.numeric(nrow(dr[!is.na(dr$m),])) mean<-round(mean(dr$m,na.rm = TRUE),dec-1) sd<-round(sd(dr$m,na.rm = TRUE),dec-1) ms<-paste0(mean," (",sd,")") nr<-c(nr,n,ms) } irl<-c(grp,nr,ci,aci) df<-rbind(df,irl) } return(df) }