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()
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.