-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
include_table.R
64 lines (55 loc) · 1.51 KB
/
include_table.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#' Table with footnotes
#'
#' Include tables with title and footnotes for word and html documents
#'
#' @param table Data frame.
#' @param caption Table caption (default = NULL). See details.
#' @param notes Footnotes for the table (default = NA). See details.
#' @param label Label for start the footnote (default = NA).
#' @param notation Notation for the symbols and footnotes (default =
#' "none") Others: "alphabet", "number", "symbol".
#'
#' @return Table with caption and footnotes
#'
#' @export
#'
#' @examples
#'
#' library(inti)
#'
#' table <- data.frame(
#' x = rep_len(1, 5)
#' , y = rep_len(3, 5)
#' , z = rep_len("c", 5)
#' )
#'
#' table %>% inti::include_table(
#' caption = "Title caption b) line 0
#' a) line 1
#' b) line 2"
#' , notes = "Footnote"
#' , label = "Where:"
#' )
#'
include_table <- function(table
, caption = NA
, notes = NA
, label = NA
, notation = "none"
) {
if(!is.data.frame(table)) stop("Use a data frame or table")
title <- caption %>%
gsub(' +', " ", .) %>%
gsub("[\r\n]", "", .)
ftab <- table %>%
knitr::kable(caption = title
, format = "pipe")
if (!is.na(notes)) {
ftab <- ftab %>%
inti::footnotes(notes = notes
, label = label
, notation = notation)
}
# result ------------------------------------------------------------------
return(ftab)
}