R6 class that supports creating a report card containing text, plot, table and meta data blocks that can be appended and rendered to form a report output from a shiny app.
Methods
Method append_table()
Appends a table to this ReportCard
.
Examples
card <- ReportCard$new()$append_table(iris)
Method append_plot()
Appends a plot to this ReportCard
.
Examples
card <- ReportCard$new()$append_plot(
ggplot2::ggplot(iris, ggplot2::aes(x = Petal.Length)) + ggplot2::geom_histogram()
)
Method append_text()
Appends a paragraph of text to this ReportCard
.
Usage
ReportCard$append_text(text, style = TextBlock$new()$get_available_styles()[1])
Arguments
text
(
character(0)
orcharacter(1)
) the textstyle
(
character(1)
) the style of the paragraph. One of:default
,header
,verbatim
Examples
card <- ReportCard$new()$append_text("A paragraph of default text")
Method get_content()
Returns the content of this ReportCard
.
Returns
list()
list of TableBlock
, TextBlock
and PictureBlock
.
Examples
card <- ReportCard$new()$append_text("Some text")$append_metadata("rc", "a <- 2 + 2")
card$get_content()
Method get_metadata()
Returns the metadata of this ReportCard
.
Examples
card <- ReportCard$new()$append_text("Some text")$append_metadata("rc", "a <- 2 + 2")
card$get_metadata()
Method append_metadata()
Appends content elements to this ReportCard
.
Arguments
key
(
character(1)
) name of meta data.value
value of meta data.
chr_converter
(
function
) to convert a value to a character, by defaultbase::deparse1
.
Examples
card <- ReportCard$new()$append_text("Some text")$append_plot(
ggplot2::ggplot(iris, ggplot2::aes(x = Petal.Length)) + ggplot2::geom_histogram()
)$append_text("Some text")$append_metadata(key = "lm",
value = lm(Ozone ~ Solar.R, airquality))
card$get_content()
card$get_metadata()
Examples
## ------------------------------------------------
## Method `ReportCard$new`
## ------------------------------------------------
card <- ReportCard$new()
## ------------------------------------------------
## Method `ReportCard$append_table`
## ------------------------------------------------
card <- ReportCard$new()$append_table(iris)
## ------------------------------------------------
## Method `ReportCard$append_plot`
## ------------------------------------------------
card <- ReportCard$new()$append_plot(
ggplot2::ggplot(iris, ggplot2::aes(x = Petal.Length)) + ggplot2::geom_histogram()
)
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## ------------------------------------------------
## Method `ReportCard$append_text`
## ------------------------------------------------
card <- ReportCard$new()$append_text("A paragraph of default text")
## ------------------------------------------------
## Method `ReportCard$get_content`
## ------------------------------------------------
card <- ReportCard$new()$append_text("Some text")$append_metadata("rc", "a <- 2 + 2")
card$get_content()
#> [[1]]
#> <TextBlock>
#> Inherits from: <ContentBlock>
#> Public:
#> clone: function (deep = FALSE)
#> get_available_styles: function ()
#> get_content: function ()
#> get_style: function ()
#> initialize: function (content = character(0), style = private$styles[1])
#> set_content: function (content)
#> set_style: function (style)
#> Private:
#> content: Some text
#> deep_clone: function (name, value)
#> style: default
#> styles: default header2 header3 verbatim
#>
## ------------------------------------------------
## Method `ReportCard$get_metadata`
## ------------------------------------------------
card <- ReportCard$new()$append_text("Some text")$append_metadata("rc", "a <- 2 + 2")
card$get_metadata()
#> $rc
#> [1] "a <- 2 + 2"
#>
## ------------------------------------------------
## Method `ReportCard$append_metadata`
## ------------------------------------------------
card <- ReportCard$new()$append_text("Some text")$append_plot(
ggplot2::ggplot(iris, ggplot2::aes(x = Petal.Length)) + ggplot2::geom_histogram()
)$append_text("Some text")$append_metadata(key = "lm",
value = lm(Ozone ~ Solar.R, airquality))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
card$get_content()
#> [[1]]
#> <TextBlock>
#> Inherits from: <ContentBlock>
#> Public:
#> clone: function (deep = FALSE)
#> get_available_styles: function ()
#> get_content: function ()
#> get_style: function ()
#> initialize: function (content = character(0), style = private$styles[1])
#> set_content: function (content)
#> set_style: function (style)
#> Private:
#> content: Some text
#> deep_clone: function (name, value)
#> style: default
#> styles: default header2 header3 verbatim
#>
#> [[2]]
#> <PictureBlock>
#> Inherits from: <ContentBlock>
#> Public:
#> clone: function (deep = FALSE)
#> finalize: function ()
#> get_content: function ()
#> get_dim: function ()
#> get_title: function ()
#> initialize: function (plot)
#> set_content: function (content)
#> set_dim: function (dim)
#> set_title: function (title)
#> Private:
#> content: /tmp/Rtmp1ipjwB/file19f120988e2.png
#> deep_clone: function (name, value)
#> dim: 800 600
#> supported_plots: ggplot grob trellis
#> title:
#> type:
#>
#> [[3]]
#> <TextBlock>
#> Inherits from: <ContentBlock>
#> Public:
#> clone: function (deep = FALSE)
#> get_available_styles: function ()
#> get_content: function ()
#> get_style: function ()
#> initialize: function (content = character(0), style = private$styles[1])
#> set_content: function (content)
#> set_style: function (style)
#> Private:
#> content: Some text
#> deep_clone: function (name, value)
#> style: default
#> styles: default header2 header3 verbatim
#>
card$get_metadata()
#> $lm
#>
#> Call:
#> lm(formula = Ozone ~ Solar.R, data = airquality)
#>
#> Coefficients:
#> (Intercept) Solar.R
#> 18.5987 0.1272
#>
#>
## ------------------------------------------------
## Method `ReportCard$get_name`
## ------------------------------------------------
ReportCard$new()$set_name("NAME")$get_name()
#> [1] "NAME"
## ------------------------------------------------
## Method `ReportCard$set_name`
## ------------------------------------------------
ReportCard$new()$set_name("NAME")$get_name()
#> [1] "NAME"