Day 3: details

Welcome back for the 3rd day of the #packagecalendar, today we will be talking about another little nifty package called details package by Jonathan Sidi.

the package is available from CRAN and can be downloaded with

install.packages("details")

Suppose you want to hide some information in your html document, while still allowing the user to see it if they want to. In plain html something like that would normally be done using the details tag.

<details>
 <summary>Secret list of names</summary>
 Aura
 Dona
 Danyelle
 Maribel
 Evonne
 Elly
 Joye
 Monet
 Donny
 Georgeanna
</details>

Which would result in something like this:

Secret list of names


Aura
Dona
Danyelle
Maribel
Evonne
Elly
Joye
Monet
Donny
Georgeanna


Putting R objects or output into a details tag used to be quite frustrating. Presenting details! Now all you have to do is pass (piping works too) what you want hidden into details().

library(details)
library(magrittr)

secret <- c("Madeline", "Tom", "Shavon", "Krystyna", "Callie",
            "Damon", "Shellie", "Bebe", "Candis", "Laure")

details(secret)

Madeline
Tom
Shavon
Krystyna
Callie
Damon
Shellie
Bebe
Candis
Laure


This has a few obvious use cases such as hiding session information

sessioninfo::session_info() %>%
  details::details(summary = 'current session info')

current session info


─ Session info ───────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.0 (2019-04-26)
 os       macOS Mojave 10.14.6        
 system   x86_64, darwin15.6.0        
 ui       X11                         
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/Los_Angeles         
 date     2019-12-03                  

─ Packages ───────────────────────────────────────────────────────────────────
 package     * version     date       lib source                             
 assertthat    0.2.1       2019-03-21 [1] CRAN (R 3.6.0)                     
 backports     1.1.5       2019-10-02 [1] CRAN (R 3.6.0)                     
 blogdown      0.17        2019-11-13 [1] CRAN (R 3.6.0)                     
 bookdown      0.16        2019-11-22 [1] CRAN (R 3.6.0)                     
 broom         0.5.2       2019-04-07 [1] CRAN (R 3.6.0)                     
 cellranger    1.1.0       2016-07-27 [1] CRAN (R 3.6.0)                     
 cli           1.9.9.9000  2019-11-25 [1] Github (r-lib/cli@0995d12)         
 clipr         0.7.0       2019-07-23 [1] CRAN (R 3.6.0)                     
 colorspace    1.4-1       2019-03-18 [1] CRAN (R 3.6.0)                     
 crayon        1.3.4       2017-09-16 [1] CRAN (R 3.6.0)                     
 DBI           1.0.0       2018-05-02 [1] CRAN (R 3.6.0)                     
 dbplyr        1.4.2       2019-06-17 [1] CRAN (R 3.6.0)                     
 desc          1.2.0       2018-05-01 [1] CRAN (R 3.6.0)                     
 details     * 0.1.2       2019-11-07 [1] CRAN (R 3.6.0)                     
 digest        0.6.23      2019-11-23 [1] CRAN (R 3.6.0)                     
 dplyr       * 0.8.3       2019-07-04 [1] CRAN (R 3.6.0)                     
 evaluate      0.14        2019-05-28 [1] CRAN (R 3.6.0)                     
 fansi         0.4.0       2018-10-05 [1] CRAN (R 3.6.0)                     
 forcats     * 0.4.0       2019-02-17 [1] CRAN (R 3.6.0)                     
 fs            1.3.1       2019-05-06 [1] CRAN (R 3.6.0)                     
 generics      0.0.2       2018-11-29 [1] CRAN (R 3.6.0)                     
 ggplot2     * 3.2.1       2019-08-10 [1] CRAN (R 3.6.0)                     
 glue          1.3.1       2019-03-12 [1] CRAN (R 3.6.0)                     
 gtable        0.3.0       2019-03-25 [1] CRAN (R 3.6.0)                     
 haven         2.2.0       2019-11-08 [1] CRAN (R 3.6.0)                     
 hms           0.5.2       2019-10-30 [1] CRAN (R 3.6.0)                     
 htmltools   * 0.4.0       2019-10-04 [1] CRAN (R 3.6.0)                     
 httr          1.4.1       2019-08-05 [1] CRAN (R 3.6.0)                     
 jsonlite      1.6         2018-12-07 [1] CRAN (R 3.6.0)                     
 knitr       * 1.26        2019-11-12 [1] CRAN (R 3.6.0)                     
 lattice       0.20-38     2018-11-04 [1] CRAN (R 3.6.0)                     
 lazyeval      0.2.2       2019-03-15 [1] CRAN (R 3.6.0)                     
 lifecycle     0.1.0       2019-08-01 [1] CRAN (R 3.6.0)                     
 lubridate     1.7.4       2018-04-11 [1] CRAN (R 3.6.0)                     
 magrittr    * 1.5         2014-11-22 [1] CRAN (R 3.6.0)                     
 modelr        0.1.5       2019-08-08 [1] CRAN (R 3.6.0)                     
 munsell       0.5.0       2018-06-12 [1] CRAN (R 3.6.0)                     
 nlme          3.1-142     2019-11-07 [1] CRAN (R 3.6.0)                     
 pillar        1.4.2       2019-06-29 [1] CRAN (R 3.6.0)                     
 pkgconfig     2.0.3       2019-09-22 [1] CRAN (R 3.6.0)                     
 png           0.1-7       2013-12-03 [1] CRAN (R 3.6.0)                     
 prettyunits   1.0.2       2015-07-13 [1] CRAN (R 3.6.0)                     
 progress      1.2.2       2019-05-16 [1] CRAN (R 3.6.0)                     
 purrr       * 0.3.3       2019-10-18 [1] CRAN (R 3.6.0)                     
 R6            2.4.1       2019-11-12 [1] CRAN (R 3.6.0)                     
 Rcpp          1.0.3       2019-11-08 [1] CRAN (R 3.6.0)                     
 readr       * 1.3.1       2018-12-21 [1] CRAN (R 3.6.0)                     
 readxl        1.3.1       2019-03-13 [1] CRAN (R 3.6.0)                     
 reprex        0.3.0       2019-05-16 [1] CRAN (R 3.6.0)                     
 rlang         0.4.2.9000  2019-11-29 [1] Github (r-lib/rlang@1be25e7)       
 rmarkdown     1.18        2019-11-27 [1] CRAN (R 3.6.0)                     
 rprojroot     1.3-2       2018-01-03 [1] CRAN (R 3.6.0)                     
 rstudioapi    0.10.0-9003 2019-11-25 [1] Github (rstudio/rstudioapi@0bbfdb4)
 rvest         0.3.5       2019-11-08 [1] CRAN (R 3.6.0)                     
 scales        1.1.0       2019-11-18 [1] CRAN (R 3.6.0)                     
 sessioninfo   1.1.1       2018-11-05 [1] CRAN (R 3.6.0)                     
 stringi       1.4.3       2019-03-12 [1] CRAN (R 3.6.0)                     
 stringr     * 1.4.0.9000  2019-11-25 [1] Github (tidyverse/stringr@80aaaac) 
 tibble      * 2.1.3       2019-06-06 [1] CRAN (R 3.6.0)                     
 tidyr       * 1.0.0       2019-09-11 [1] CRAN (R 3.6.0)                     
 tidyselect    0.2.5       2018-10-11 [1] CRAN (R 3.6.0)                     
 tidyverse   * 1.3.0       2019-11-21 [1] CRAN (R 3.6.0)                     
 vctrs         0.2.0.9007  2019-11-29 [1] Github (r-lib/vctrs@50a0c95)       
 withr         2.1.2.9000  2019-10-04 [1] Github (r-lib/withr@07bfc68)       
 xfun          0.11        2019-11-12 [1] CRAN (R 3.6.0)                     
 xml2          1.2.2       2019-08-09 [1] CRAN (R 3.6.0)                     
 yaml          2.2.0       2018-07-25 [1] CRAN (R 3.6.0)                     

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library


and hiding spicy plots

details(plot(sin, xlim = c(0, 20)), "my curvy plot")

my curvy plot


I leave you with a little present :)

Open for a special presents


Additional resources