shinymisc: Miscellaneous educational shiny apps.
This project is maintained by Nelson-Gon
The shinymisc
package provides a set of apps that are useful for
beginner, intermediate, and advanced shiny
developers to explore
different features of the shiny
framework and philosophy.
devtools::install_github("Nelson-Gon/shinymisc")
library(shinymisc)
## Loading required package: shiny
shinymisc
contains a number of apps that demonstrate different
concepts.
To view an app, run the following:
run_app(app_name = "theming")
This app takes a fairly advanced approach at demonstrating how one can
combine different shiny
principles to achieve plot customization. This
was built to help me figure out how to best choose themes from different
packages. In particular, I wanted to do this even if the package was not
on the search
list.
This app explores concepts of reactivity, modularization, testing, and scaling in general.
run_app("theming")
This app aims to do something fairly simple. It takes input data, allows
user confirmation and finally prints the data entered. It was built as
part of a blog I wrote to highlight shiny
features like reactivity,
observers, and performance improvements. This blog post is available at
https://nelson-gon.github.io/12/12/2021/shiny-reactivity/. You can
view the source code
here.
This app was written as I tried to play around with namespaces and accessing functions in a package. In particular, I wanted to be able to load a function from a package without necessarily loading said package first. This is important because sometimes loading a package may result in function conflicts causing further debugging work.
This simple app explores the use of shiny modules. This is aimed at demonstrating how one can reuse code across different places within the app without copying and pasting the same code over and over again. The app also shows how to use some different layouts.
Another module based app that also includes some basic plotly plots.
This app was created as a way for me to debug some issue with shiny
’s
module system and the use of update*
functions. Specifically,
sometimes, it is possible that update*
functions may not work as
expected/intended. Unfortunately this is not readily visible in this
app. Hopefully with more exploration, one could meet this pitfall and
play with ways around it.
Keep building,
Nelson
2022-04-15
Please note that the shinymisc
project is released with a Contributor
Code of
Conduct.
By contributing to this project, you agree to abide by its terms.
To raise an issue, please do so here
Thank you, feedback is always welcome :)