It allows to automatically generate the code necessary to group multiple Rmarkdown chunks into tabs. Concatenating all the chunks into a string that can be later knitted and rendered.
automagic_tabs( input_data, panel_name, .output, ..., tabset_title = "", tabset_props = ".tabset-fade .tabset-pills", is_output_distill = TRUE )
input_data | Ungrouped tibble with at least 2 columns, one for the title of the tabs and another with the output to be displayed. |
---|---|
panel_name | string with the name of the ID column. |
.output | string with the name of the column of the output. |
... | additional parameters that correspond to all those available in rmarkdown chunks (fig.align, fig.width, ...). |
tabset_title | string title of the .tabset |
tabset_props | string defining .tabset properties. Only works with is_output_distill = F |
is_output_distill | boolean. is output a distill article. |
concatenated string of all automatically generated chunks.
given a tibble, which must contain an "ID" column (representing the title of the tabs) and another column that stores the output to be generated (plot, text, code, ...), a string is automatically generated which can be later rendered in a Rmarkdown document.
#> #>#>#> #>#>#> #>library(sknifedatar) library(ggplot2) dataset <- iris %>% group_by(Species) %>% tidyr::nest() %>% mutate( .plot = purrr::map(data, ~ ggplot(.x, aes(x = Sepal.Length, y = Petal.Length)) + geom_point()) ) %>% ungroup() automagic_tabs(input_data = dataset, panel_name = "Species", .output = ".plot", fig.align='center')#> | | | 0% | |.......... | 14% #> ordinary text without R code #> #> | |.................... | 29% #> label: `r automagic_chunk_dataset_setosa` (with options) #> List of 1 #> $ fig.align: chr "center" #> #> | |.............................. | 43% #> ordinary text without R code #> #> | |........................................ | 57% #> label: `r automagic_chunk_dataset_versicolor` (with options) #> List of 1 #> $ fig.align: chr "center" #> #> | |.................................................. | 71% #> ordinary text without R code #> #> | |............................................................ | 86% #> label: `r automagic_chunk_dataset_virginica` (with options) #> List of 1 #> $ fig.align: chr "center" #> #> | |......................................................................| 100% #> ordinary text without R code #> #>#> [1] "## { .tabset-fade .tabset-pills} \n\n::::: {.panelset}\n\n::: {.panel}\n\n### setosa \n\n\n```r\n dataset$.plot[[1]] \n```\n\n```\n## Error in eval(expr, envir, enclos): object 'dataset' not found\n```\n\n:::\n::: {.panel}\n\n### versicolor \n\n\n```r\n dataset$.plot[[2]] \n```\n\n```\n## Error in eval(expr, envir, enclos): object 'dataset' not found\n```\n\n:::\n::: {.panel}\n\n### virginica \n\n\n```r\n dataset$.plot[[3]] \n```\n\n```\n## Error in eval(expr, envir, enclos): object 'dataset' not found\n```\n\n::: \n\n:::::"