R/suTex.R

Defines functions suTex

Documented in suTex

suTex <- function(vars, file = NULL, data,
                  stats = c("mean", "sd", "min", "median", "max", "nObs"),
                  number.format = "%.2f") {
  if (!is.null(file)) {
    sink(file)
  }
  stats.df <- data.frame(stat = c("mean", "sd", "min", "median", "max", "nObs"),
                         lab  = c("Mean", "SD", "Min", "Median", "Max", "N"),
                         stringsAsFactors = FALSE)
  stats.df <- stats.df[stats.df$stat %in% stats, ]
  cat("\\begin{tabular}{l|")
  cat(rep("c", length(stats)))
  cat("}\n")
  for (i in stats) {
    cat("& \\textbf{", stats.df$lab[stats.df$stat == i], "}")
  }
  cat(" \\\\ \\hline\n")
  nObs <- function(x, ...) sum(!is.na(x))  # Number of valid observations
  for (i in seq_along(vars)) {
    cat(vars[[i]])
    for (j in stats) {
      cat(" & ")
      if (j == "nObs") {
        cat(apply(matrix(data[[names(vars)[i]]]), 2, FUN = j, na.rm = TRUE))
      } else {
        cat(sprintf(number.format,
          apply(matrix(data[[names(vars)[i]]]), 2, FUN = j, na.rm = TRUE)))
      }
    }
    cat(" \\\\\n ")
  }
  cat(" \\hline \\hline\n")
  cat("\\end{tabular}\n")
  if (!is.null(file)) {
    sink()
  }
}
walshc/regTex documentation built on May 3, 2019, 11:51 p.m.