Submission Guideline: Create one html file from Rmarkdown that answer all the following questions. Each question should has it own Rmd file and a corresponding link. Include the link of the html file to your Github webpage and submit the link to the html file to Canvas.
Install the flexdashboard package using
install.packages("flexdashboard")
.
Create an empty dashboard. In Rstudio, File -> New File -> R Markdown -> From Template -> Flex Dashboard. Knit the rmarkdown file and add the html link to this report.
Use this template flex dashboard (dashboard, Rmd) to create a flex dashboard that
Has a side bar
Has at least three main Tabs
Has at least four plots
Shows a table data that can be searched
Include the link of the dashboard here.
We want users to be able to interact with our dashboard. This can be
done using shiny
. A flex dashboard using shiny
requires a domain to host it. We will use shinyapps.io, which can host
five dashboard for free. If we want to host more than five dashboards,
we can create multiple accounts at shinyapps.io.
Follow these below steps to create a shiny flex dashboard then publish it. Include the link of the dashboard here.
Install the following packages shiny
,
packrat
, rsconnect
.
Go to https://www.shinyapps.io/ and create an account
Go to https://www.shinyapps.io/admin/#/dashboard. Account -> Tokens -> Show -> Show secret-> Copy the secret code.
It should look like this
rsconnect::setAccountInfo(name='fall20',
token='E130D64F22776383660DA7EA5251EC04',
secret='mJI7rgq2Wf46g2Wf46g2WNOa+E6NRqr26yG3N5')
Paste the secret code into Rstudio Console and Run it.
Click Run Document
(Or Ctrl + Shift + K) to check
the dashboard
On right, top corner click Publish to Publish the dashboard to your acccount on shinyapps.io
Your published dashboard should look like this
Write a shiny flex dashboard that uses selectInput
and
works with a dataset different from the titanic dataset.
Note: In the above dashboard, click to Source Code to show the codes.
Include the link of your dashboard here.
Write a shiny flex dashboard that uses
checkboxGroupInput
and works with a dataset different from
the titanic dataset.
Include the link of your dashboard here.
Write a shiny flex dashboard that uses sliderInput
and
works with a dataset different from the titanic dataset.
Include the link of your dashboard here.
Write a shiny flex dashboard that uses dateRangeInput
and works with a dataset different from the titanic dataset.
Include the link of your dashboard here.
We can combine different input methods into one dashboard. Write a shiny flex dashboard and works with a dataset different from the titanic dataset. The dashboard should use at least three different input methods.
Include the link of your dashboard here.
Write a dashboard that
Works with a dataset that have not been used in class
Has a social media click
Has a source code click
Has a side bar
Has five input methods
Has at least three main tabs
Has columns tabs
Has at least five meaningful plots
Shows a table data that can be searched
Has at least one text paragraph
Includes at least one image
(Extra Credits) Uses Reddit data or text data and text data visualization
Include the link of your dashboard here.
Present your dashboard in Question 10 on the final exam day.
Present the features of your dashboard
Discuss how you organize the codes of the dashboard and the final project.
Discuss any error or challenge you had to overcome
Give an advice for anyone who is about to do this project
https://rstudio.github.io/flexdashboard/articles/examples.html
https://bookdown.org/yihui/rmarkdown/dashboards.html
https://epirhandbook.com/en/dashboards-with-r-markdown.html
Check out Shiny official tutorial: https://shiny.rstudio.com/tutorial/
Check out Shiny Galary: https://shiny.rstudio.com/gallery/
Pairs of render and output: https://bookdown.org/weicheng/shinyTutorial/images/outputs.png
Check out some shiny layouts here: https://shiny.rstudio.com/articles/layout-guide.html
Check out shiny dynamic UI here
https://shiny.rstudio.com/gallery/dynamic-ui.html
https://shiny.rstudio.com/articles/dynamic-ui.html