#'
#' @title Summarizes the main results
#' @description Gets the number of cases and controls or subjects and the empirical and theoretical power under each model and prints a summary on the screen
#' @param scenario Scenario number
#' @param pheno.model Type of the outcome; 0 for binary and 2 for continuous
#' @param geno.model Genetic model; 0 for binary and 1 for additive
#' @param env.model Model of the enviromental explosure
#' @param sample.sizes.required Number of cases and controls or number of subjects required to achieve the desired power
#' @param empirical.power Estimated empirical power
#' @param modelled.power Calculated theoretical power
#' @param mean.beta Mean beta value of each of the determinants
#' @return A table containing the following items:
#' \code{genetic.model} Model of the genetic determinant
#' \code{environment.model} Model of the environmental determinant
#' \code{number.of.cases.required} Number of cases required to achieve the desired power under binary outcome model
#' \code{number.of.controls.required} Number of controls required to achieve the desired power under binary outcome model
#' \code{number.of.subjects.required} Number of subjects required to achieve the desired power under a quantatative outcome model
#' \code{empirical.power} Estimated empirical power under each model
#' \code{modelled.power} Power achieved under each model with specified sample size
#' \code{estimated.OR} Esitmated odds-ratios due to shrinkage toward the null resulting from misclassification
#' \code{estimated.effect} Estitmated effect size if the outocme is continuous
#' @keywords internal
#' @author Gaye A.
#'
get.critical.results.GxE <-
function(scenario=NULL, pheno.model=NULL,geno.model=NULL,env.model=NULL,sample.sizes.required=NULL,
empirical.power=NULL,modelled.power=NULL,mean.beta=NULL)
{
if(geno.model==0){
g.model <- "binary"
}else{
g.model <- "additive"
}
if(env.model==0){
e.model <- "binary"
}else{
if(env.model==1){
e.model <- "normally distributed"
}else{
e.model <- "uniformly distributed"
}
}
if(pheno.model == 0){
numcases <- sample.sizes.required[[1]]
numcontrols <- sample.sizes.required[[2]]
}else{
numsubjects <- sample.sizes.required[[1]]
}
if(pheno.model==0){
# estimated ORs
estimated.OR <- exp(mean.beta)
estimated.effect <- 'NA'
cat("\n---- SUMMARY OF SCENARIO",scenario,"----\n")
cat("\nModels\n")
cat("------\n")
cat(" Outcome: binary \n")
cat(" Genetic determinant:",g.model,"\n")
cat(" Environmental determinant:",e.model)
cat("\n\nNumber of cases required\n")
cat("------------------------\n")
cat(" ", numcases)
cat("\n\nNumber of controls required\n")
cat("---------------------------\n")
cat(" ", numcontrols)
cat("\n\nEmpirical power\n")
cat("---------------\n")
cat(" ",empirical.power)
cat("\n\nModel power\n")
cat("-----------\n")
cat(" ",round(modelled.power,2))
cat("\n\nEstimated interaction OR\n")
cat("-----------\n")
cat(" ",round(estimated.OR,2))
cat("\n\n---- END OF SUMMARY ----\n")
crit.res <- c(g.model,e.model,numcases,numcontrols,round(empirical.power,2),round(modelled.power,2),
round(estimated.OR,2), estimated.effect)
return(list(genetic.model=crit.res[1], environment.model=crit.res[2],number.of.cases.required=crit.res[3],
number.of.controls.required=crit.res[4],empirical.power=crit.res[5],
modelled.power=crit.res[6],estimated.OR=crit.res[7], estimated.effect=crit.res[8]))
}else{
# estimated ORs
estimated.effect <- mean.beta
estimated.OR <- 'NA'
cat("\n---- SUMMARY OF SCENARIO",scenario,"----\n")
cat("\nModels\n")
cat("------\n")
cat(" Outcome: quantitative; ")
cat(" Genetic determinant: ",g.model,"\n")
cat(" Environmental determinant: ",e.model)
cat("\n\nNumber of subjects required\n")
cat("------------------------\n")
cat(" ",numsubjects)
cat("\n\nEmpirical power\n")
cat("---------------\n")
cat(" ",empirical.power)
cat("\n\nModel power\n")
cat("-----------\n")
cat(" ",round(modelled.power,2))
cat("\n\nEstimated interaction effect\n")
cat("-----------\n")
cat(" ",estimated.effect)
cat("\n\n---- END OF SUMMARY ----\n")
crit.res <- c(g.model,e.model,numsubjects,round(empirical.power,2),round(modelled.power,2),estimated.OR,round(estimated.effect,2))
return(list(genetic.model=crit.res[1], environment.model=crit.res[2],number.of.subjects.required=crit.res[3],
empirical.power=crit.res[4], modelled.power=crit.res[5], estimated.OR=crit.res[6],estimated.effect=crit.res[7]))
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.