Nothing
#' @title Generic export of data frames into formatted tables
#' @name display
#'
#' @description `display()` is a generic function to export data frames
#' into various table formats (like plain text, markdown, ...). `print_md()`
#' usually is a convenient wrapper for `display(format = "markdown")`.
#' Similar, `print_html()` is a shortcut for `display(format = "html")`.
#' See the documentation for the specific objects' classes.
#'
#' @param object,x A data frame.
#' @param format String, indicating the output format. Can be `"markdown"` or
#' `"html"`. A special option is `"tt"`, which creates a [`tinytable::tt()`]
#' object, where the output format is dependent on the context where the table
#' is used, i.e. it can be markdown format when `export_table()` is used in
#' markdown files, or LaTex format when creating PDFs etc.
#' @param ... Arguments passed to other methods.
#'
#' @return Depending on `format`, either an object of class `gt_tbl`,
#' `tinytable`, or a character vector of class `knitr_kable`.
#'
#' @examplesIf requireNamespace("gt")
#' display(iris[1:5, ], format = "html")
#' @export
display <- function(object, ...) {
UseMethod("display")
}
#' @rdname display
#' @export
print_md <- function(x, ...) {
UseMethod("print_md")
}
#' @rdname display
#' @export
print_html <- function(x, ...) {
UseMethod("print_html")
}
# data.frame --------------------------------------------------------------
#' @rdname display
#' @export
display.data.frame <- function(object, format = "markdown", ...) {
format <- validate_argument(format, c("md", "markdown", "html", "tt"))
if (identical(format, "html")) {
print_html(x = object, ...)
} else if (identical(format, "tt")) {
print_html(x = object, backend = "tt", ...)
} else {
print_md(x = object, ...)
}
}
#' @rdname display
#' @export
print_md.data.frame <- function(x, ...) {
export_table(x, format = "markdown", ...)
}
#' @rdname display
#' @export
print_html.data.frame <- function(x, ...) {
dots <- list(...)
if (is.null(dots$backend) || !identical(dots$backend, "tt")) {
export_table(x, format = "html", ...)
} else {
export_table(x, format = "tt", ...)
}
}
# matrix --------------------------------------------------------------
#' @export
display.matrix <- display.data.frame
#' @export
display.array <- display.data.frame
#' @export
print_md.matrix <- function(x, ...) {
# to data frame
x <- as.data.frame(x)
# add row names
x <- cbind(Row = rownames(x), x)
# some cleanup
rownames(x) <- NULL
colnames(x)[1] <- ""
# export table now
export_table(x, format = "markdown", ...)
}
#' @export
print_html.matrix <- function(x, ...) {
# to data frame
x <- as.data.frame(x)
# add row names
x <- cbind(Row = rownames(x), x)
# some cleanup
rownames(x) <- NULL
colnames(x)[1] <- ""
# export table now
print_html.data.frame(x, ...)
}
#' @export
print_md.array <- print_md.matrix
#' @export
print_html.array <- print_html.matrix
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.