{"id":13707810,"url":"https://github.com/wesslen/iviz-rstudio-workshop","last_synced_at":"2026-01-19T18:32:11.540Z","repository":{"id":81790218,"uuid":"135226542","full_name":"wesslen/iviz-rstudio-workshop","owner":"wesslen","description":"Interactive Visualizations with RStudio Workshop for UNCC DSI","archived":false,"fork":false,"pushed_at":"2019-02-25T13:12:28.000Z","size":62365,"stargazers_count":8,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T18:25:23.614Z","etag":null,"topics":["data-science","htmlwidgets","interactive-visualizations","rstudio","shiny","shinyapps","tidyverse"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wesslen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-05-29T01:37:20.000Z","updated_at":"2025-03-03T19:40:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"5602e9c5-8365-47b1-87d0-c791c92f7c41","html_url":"https://github.com/wesslen/iviz-rstudio-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wesslen/iviz-rstudio-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesslen%2Fiviz-rstudio-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesslen%2Fiviz-rstudio-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesslen%2Fiviz-rstudio-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesslen%2Fiviz-rstudio-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wesslen","download_url":"https://codeload.github.com/wesslen/iviz-rstudio-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesslen%2Fiviz-rstudio-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28580209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T18:29:59.827Z","status":"ssl_error","status_checked_at":"2026-01-19T18:29:40.878Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","htmlwidgets","interactive-visualizations","rstudio","shiny","shinyapps","tidyverse"],"created_at":"2024-08-02T22:01:44.368Z","updated_at":"2026-01-19T18:32:11.524Z","avatar_url":"https://github.com/wesslen.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# Interactive Visualizations with RStudio\n\nIn this three-part workshop series, we’ll use RStudio tools like tidyverse, Shiny, and htmlwidgets to develop interactive visualizations. \n\nBeer Related Tweets        |  Russian Twitter Trolls   |\n:-------------------------:|:-------------------------:|\n![](./slides/img/readme/beer.gif \"Geolocated Charlotte tweets mentioning 'beer'\")  |  ![](./slides/img/readme/russiatrolls.gif \"Simple Shiny app for filtering Russian Troll Tweets\")\n\n\n![](./slides/img/readme/protests.gif \"Charlotte Protests\")\n\n## Sponsored by \n\n* [UNC Charlotte Data Science Initiative](https://dsi.uncc.edu/)\n\n## Date, Time and Location\n\n* July 18 (Part 1), July 25 (Part 2), and August 1 (Part 3) \n\n* 5:30 pm - 8:15 pm\n\n* [Packard Place](https://www.packard.place/) Classroom 110M\n \n## Instructor\n\n* [Ryan Wesslen](http://wesslen.github.io)\n\n## Workshop Overview\n\n### Pre-workshop Work\n\nPlease read and complete the [workshop installation steps](#install).\n\n**Optional**: Sign up for a free [DataCamp](https://www.datacamp.com/) account and complete these two courses: \n\n* [Introduction to the tidyverse](https://www.datacamp.com/courses/introduction-to-the-tidyverse) (only chapter 1; other chapters cost $)\n* [Building Web Applications in R with Shiny](https://www.datacamp.com/courses/building-web-applications-in-r-with-shiny) (entire course is free!)\n\n### Part 1: Intro to tidyverse and Shiny\n\nWe’ll introduce [**RStudio**](https://www.rstudio.com/products/RStudio/) along with [`tidyverse`](https://www.tidyverse.org/), a unified set of R packages for end-to-end data science. These packages include core data science workflow tools for data acquisition, processing and visualization. We’ll end with an introduction to [**Shiny**](http://shiny.rstudio.com/), an R package for building interactive web apps. Shiny apps are flexible web applications that can be embedded within web pages, dashboards, and [**RMarkdown**](https://rmarkdown.rstudio.com/) output like presentations or notebooks. \n\n| Day 1: Wed July 18  | Intro to tidyverse and Shiny |\n| ------------------- | ------------------------------------------------------- |\n| Welcome             | [PollEverywhere](https://pollev.com/ryanwesslen365), this GitHub Page \u0026 [RStudio.Cloud sign-up](#install) |\n| Lecture             | [Introduction to Tidyverse](http://rpubs.com/ryanwesslen/rviz-tutorial-tidy) |\n| Hands On Tutorial   | [Russian Twitter Trolls](./day1/01-russian-trolls.R) / [HTML](http://rpubs.com/ryanwesslen/rviz-tutorial-tidy2)   |\n| Lecture   | [Introduction to Shiny](https://ryanwesslen.shinyapps.io/intro-to-shiny/) |\n| Hands On Tutorial   | [Shiny Hello World](./day1/app.R) and deploying to [shinyapps.io](http://shinyapps.io) |\n| Help \u0026 Resources    | [How to ask for help](#help) |\n| Home Assignment | See below |\n\n**Home assignment**\n\nUse the Russian Twitter Troll data set to create a shiny app that queries on the keyword. The app should output the plotly-ggplot2 time series chart from [01-russian-trolls.R](./day1/01-russian-trolls.R). \n\n**Extra studying**\n\nShiny\n* [Benjamin Soltoff's University of Chicago Shiny Course: Shiny](https://cfss.uchicago.edu/shiny001_abc.html#objectives)\n\nTidyverse\n* [tidyverse learnR practice](./practice/day1/day1.Rmd)\n* [Data Carpentry: R for data analysis and visualization of Ecological Data](https://datacarpentry.org/R-ecology-lesson/00-before-we-start.html)\n* Chapters [3](http://r4ds.had.co.nz/data-visualisation.html), [5](http://r4ds.had.co.nz/transform.html), and [7](http://r4ds.had.co.nz/exploratory-data-analysis.html) in [R for Data Science](http://r4ds.had.co.nz)\n\n### Part 2: Shiny and htmlwidgets\n\nWe’ll dive deeper into Shiny apps and review basic architecture, layouts, and reactivity with hands-on examples. We’ll also introduce [**htmlwidgets**](http://www.htmlwidgets.org/) (e.g., plotly, r2d3, leaflet), simple R packages for producing HTML-based interactive visualizations that can be extended with HTML, CSS, and JavaScript. In this part, we’ll visualize important aspects of social media data like social networks, unstructured text, and geospatial data.\n\n| Day 2: Wed July 25  | Shiny and htmlwidgets    |\n| ------------------- | ------------------------------------------------------- |\n| Refresher \u0026 Warm-up | [PollEverywhere](https://pollev.com/ryanwesslen365) and [Part 1 Assignment](./day2/01-trollApp/app.R) |\n| Lecture             | [Shiny Reactivity](./slides/shiny-reactivity.pdf) |\n| Hands On Tutorial   | [Reactivity code](./day2/reactivity/)  |\n| Help \u0026 Resources | [RMarkdown \u0026 Shiny References](#shiny) |\n| Demo / Website   | [htmlwidgets](https://www.htmlwidgets.org/) |\n| Hands On Tutorial   | [htmlwidget code](./day2/02-htmlwidgets.R) / [HTML](http://rpubs.com/ryanwesslen/iviz-workshop3)   |\n| Home Assignment | Mini-project |\n\n**Home assignment**\n\nUse one of the three project data sets to develop your own Shiny app. You can work individually or in groups of two.\n\nYou will have the opportunity to present your app next time in class (completely optional) in case you want my or classmates' feedback. I can also work with anyone who's interested in putting their code/app online (e.g., GitHub) to create your Data Science portfolio.\n\n### Part 3: RMarkdown/Advanced Shiny\n\nWe’ll consider more advanced layout templates like [shinydashboard](https://rstudio.github.io/shinydashboard/) to provide professional looking dashboard templates. We’ll also explore advanced Shiny functionality including interactions, persistent storage, and opimizing/scaling apps up (e.g., modular functions and async programming).\n\n| Day 3: Wed Aug 1    | Advanced Shiny            |\n| ------------------- | ------------------------------------------------------- |\n| Warm-up             | [PollEverywhere](https://pollev.com/ryanwesslen365) |\n| Present Projects | Students present their Shiny tools (optional). |\n| Hands On Tutorial   | [Intro to RMarkdown](#rmarkdown) |\n| Lecture             | Templates [shinydashboard](./slides/shinydashboard.pdf) / [flexdashboard](./slides/flexdashboard.pdf) |\n| Help \u0026 Resources | [Pulling Social Media Data](#data) |\n| Lecture             | [Profvis](https://rstudio.github.io/profvis/examples.html#example-3---profiling-a-shiny-application) / [Async Programming](https://shiny.rstudio.com/articles/async.html) / [Persistent Storage](https://daattali.com/shiny/persistent-data-storage/) / [radiant](http://vnijs.github.io/radiant/)|\n\n## \u003ca name=\"install\"\u003e\u003c/a\u003e Workshop Instructions:\n\nWe'll use RStudio Cloud for the workshop. RStudio Cloud enables a collaborative workspace where participants can run pre-saved code. This avoids the headaches of everyone's unique machine set up.  \n\nTo get started, sign up for a free account [https://rstudio.cloud](https://rstudio.cloud/) (no need if you already have an account). If you already have a [shinyapps.io](https://shinyapps.io) account, you can use those credentials instead.\n\nStudents will be emailed the workshop link the week of the first workshop.\n\n### Run R/RStudio Locally\n\nThe cloud is great for workshop materials; but it is limited to only 1GB of memory. That's why RStudio Cloud is best only for this workshop, not long term. \n\nFor bigger projects, install R and RStudio locally so you can have the materials for your long-term research/work purposes. To install R/RStudio locally:\n\n1. Download [R](http://archive.linux.duke.edu/cran/) and [R Studio](https://www.rstudio.com/products/rstudio/download/). \n\n2. Download this GitHub repo through the Download button or clone.\n\nIf you have Git setup on your computer, you can clone the repo into your current directory via terminal (command line):\n\n```{bash}\ngit clone https://github.com/wesslen/iviz-rstudio-workshop.git\n```\n\n3. Open the file `project.Rproj` in RStudio. \n\n### Installing packages\n\nTo install the workshop's packages, run the file `00-install-packages.R`. It runs this code:\n\n```{r}\npackages \u003c- c(\"tidyverse\",\"plotly\",\"shiny\",\"leaflet\",\"dygraphs\",\"flexdashboard\",\"ggridges\",\"learnr\",\n              \"xts\",\"igraph\",\"visNetwork\",\"tidytext\",\"collapsibleTree\",\"shinydashboard\",\"devtools\",\n              \"digest\",\"htmltools\",\"htmlwidgets\", \"jsonlite\",\"Rcpp\",\"rstudioapi\",\"yaml\")\n\ninstall.packages(packages)\n\n# need ggplot2 for plotly\ndevtools::install_github('hadley/ggplot2')\ndevtools::install_github(\"rstudio/r2d3\")\n```\n\n## Resources\n\n### \u003ca name=\"help\"\u003e\u003c/a\u003e Help! \n\n[This page is your best source for R help](https://wesslen.github.io/fall2017-rworkshops/help.html)\n\nPlease read if you run into R-relate problems.\n\n### Tidyverse / Intro to R:\n\nThese resources are a best place to learn the basics. Traditionally, R was taught on the core (or \"Base\") R packages. More recently, tidyverse has become the modern approach to learning R.\n\nI **highly** recommend [R for Data Science Book](http://r4ds.had.co.nz/) for anyone wanting to learn R (and applying Data Science).\n\nYou may also find these websites very helpful for each package:\n* [Tidyverse](https://www.tidyverse.org/)\n* [ggplot2](http://ggplot2.tidyverse.org/)\n* [dplyr](http://dplyr.tidyverse.org/)\n* [tidyr](http://tidyr.tidyverse.org/)\n* [tidyquant](https://business-science.github.io/tidyquant/)\n* [tidytext](https://www.tidytextmining.com/)\n* [R Studio Community (for help)](https://community.rstudio.com/)\n\n### DataCamp Tracks:\n\n* [Data Manipulation for R Track](https://www.datacamp.com/tracks/data-manipulation-with-r)\n* [Data Visualization for R Track](https://www.datacamp.com/tracks/data-visualization-with-r)\n* [Statistics with R](https://www.datacamp.com/tracks/statistics-with-r)\n* [Machine Learning in R](https://www.datacamp.com/tracks/machine-learning)\n\n### RStudio Workshops \u0026 Webinars\n\nRStudio::conf Workshops:\n\n* [Amelia McNamera's Introduction to R \u0026 RStudio](https://github.com/AmeliaMN/IntroToR)\n* [Charlotte Wickham's Data Science in Tidyverse](https://github.com/cwickham/data-science-in-tidyverse)\n* [Mine Cetinkaya-Rundel's Intro to Shiny \u0026 RMarkdown](https://github.com/rstudio-education/intro-shiny-rmarkdown)\n* [Joe Cheng \u0026 Dean Attali's Intermediate Shiny](https://github.com/jcheng5/shiny-training-rstudioconf-2018)\n\n[Past R Studio Webinars](https://github.com/rstudio/webinars)\n\n### \u003ca name=\"shiny\"\u003e\u003c/a\u003e R Markdown / Shiny \n\n#### Shiny\n\n* [Shiny (Interactive Visualizations)](http://shiny.rstudio.com/)\n* [Shiny Gallery](http://shiny.rstudio.com/gallery/)\n* [Tutorial (Basics)](http://shiny.rstudio.com/articles/basics.html)\n* [Tutorial (Intermediate)](http://shiny.rstudio.com/articles/app-formats.html)\n* [Tutorial (Deployment)](http://shiny.rstudio.com/articles/deployment-web.html)\n* [Where to deploy test Shiny Apps](http://www.shinyapps.io/)\n* [Tracking interactions](https://shiny.rstudio.com/articles/usage-metrics.html)\n* [Bring Google Analytics data back into R](https://www.computerworld.com/article/2486018/business-intelligence/business-intelligence-how-to-extract-custom-data-from-the-google-analytics-api.html)\n\n#### \u003ca name=\"rmarkdown\"\u003e\u003c/a\u003e R Markdown\n\n[R Markdown](http://rmarkdown.rstudio.com/) is an example of [literate programming](https://en.wikipedia.org/wiki/Literate_programming), i.e., code combined with plain language (as well as code output). The output can be an HTML, pdf, or even a Word document!\n\nR Markdown can do nearly anything -- build a website, write a LaTeX paper for publication, even write a book! (For example, [R for Data Science](http://r4ds.had.co.nz/) is written in R Markdown. See the [GitHub](https://github.com/hadley/r4ds).)\n\n* [Gallery](http://rmarkdown.rstudio.com/gallery.html)\n* [Tutorial (Intro)](http://rmarkdown.rstudio.com/articles_intro.html)\n\n[Flexdashboard](http://rmarkdown.rstudio.com/flexdashboard/)\n\n* [Gallery](http://rmarkdown.rstudio.com/flexdashboard/examples.html)\n* [Tutorial (Intro)](http://rmarkdown.rstudio.com/flexdashboard/using.html)\n* [Tutorial (use with Shiny)](http://rmarkdown.rstudio.com/flexdashboard/shiny.html)\n\n[Blogdown](https://bookdown.org/yihui/blogdown/)\n\n### \u003ca name=\"data\"\u003e\u003c/a\u003e  Computational Social Science \u0026 Social Media Data\n\nI've taught several past R workshops for text analysis, social media, and Computational Social Science.\n\n* [Spring 2017 Workshop in Topic Modeling in R](https://github.com/wesslen/Topic-Modeling-Workshop-with-R)\n* [Summer 2017 Social Media Workshop](https://github.com/wesslen/summer2017-socialmedia)\n* [Fall 2017 Computational Social Science Workshop Series](https://wesslen.github.io/fall2017-rworkshops/)\n\n#### Social Media Data Sources\n\n* [Michael Kearney's rtweet package](http://rtweet.info)\n* [Bob Rudis' rtweet cookbook](https://rud.is/books/21-recipes/)\n* [Pablo Barbera's Rfacebook package](https://github.com/pablobarbera/Rfacebook)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesslen%2Fiviz-rstudio-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesslen%2Fiviz-rstudio-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesslen%2Fiviz-rstudio-workshop/lists"}