SlideShare a Scribd company logo
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Data Visualization for Corpus Linguistics:
Shiny Framework
Olga Scrivner
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
What You Will Learn
1. Introduction to Visual Analytics
2. Reactive Web Framework
3. Shiny Application
4. Practice
https://languagevariationsuite.wordpress.com/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Data Analytics
“Analytics is the critical technology
needed to bring value out of data”
(Anonymous)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Visual Analytics
“The science of analytical reasoning
facilitated by visual interactive interfaces”
(Thomas and Cook, 2005)
“Visual analytics integrates new computational and
theory-based tools with innovative interactive techniques
and visual representations to enable human-information
discourse” (Thomas and Cook, 2005)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Visual Analytics and Linguistics
“ Language is a system of relatively arbitrary symbols”
(Baker-Shenk and Cokely, 1980)
http://www.tableaufit.com/tableau-conference-linguistics-data-visualization/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Visual Analytics (and Corpus Linguistics)
1. Exploration (Queries)
2. Comprehension (Analysis)
3. Communication (Presentation)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Corpus Linguistics Visualization
http://scimaps.org/home.html
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Visualization Tools
Challenges:
Many tools are built for non-linguistic research
Limited preprocessing
Visualization may not fit linguistic data
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Visualization Tools
Challenges:
Many tools are built for non-linguistic research
Limited preprocessing
Visualization may not fit linguistic data
Solution: Reactive Framework
Interactive and web-based
Research-driven customization
Build your own tool!
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Reactive Web Framework
“Reactive Systems are highly responsive, giving users
effective interactive feedback”
http://www.reactivemanifesto.org/
http://littleactuary.github.io/blog/Web-application-framework-with-Shiny/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Reactive Architecture
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Reactive Framework and Data Science
“The impact of data scientists’ work depends on how well
others can understand their insights to take further actions”
Benefit 1: Interactive display and manipulation of data
Benefit 2: No installation required
Benefit 3: Easy to develop and share with clients and
project teams
Benefit 4: Open source library
http://datascience.ibm.com/blog/shiny-a-data-scientist-best-friend/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Application
1. Shiny is an R package for building interactive web
applications
2. Open-Sourced by RStudio 11/2012 on CRAN
3. Uses web sockets (new HTTP):
Interactive communication sessions between the user’s
browser and a server without having to poll the server
for a reply
4. Entirely extensible - custom input/output
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Library
http://littleactuary.github.io/blog/Web-application-framework-with-Shiny/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Gallery - Get Inspired
https://www.rstudio.com/products/shiny/shiny-user-showcase/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Interactive Text Mining Suite (Scrivner et al.
2016)
1. Web application for text processing and mining
2. Interactive natural language processing techniques
Wordstops, stemming, text-preprocessing
3. High customization
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Stopwords
Stopwords (e.g. the, and):
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Manual Removal of Stopwords
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Stemming
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Word Cloud Representation
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Customization
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Format Flexibility
Example: Using Google Books API
Current limitation is 40 books
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Workshop Materials
1. Rstudio
2. R
3. Shiny library
4. Materials:
https:
//languagevariationsuite.wordpress.com/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
R software
R is a free software for data analysis, text mining and
visualization.
To install R on Window:
1. Download the binary file for R
https://cran.r-project.org/bin/windows/base/
R-3.3.1-win.exe
2. Open the downloaded .exe file and Install R
To install R on Mac:
1. Download the appropriate version of .pkg file
https://cran.r-project.org/bin/macosx/
2. Open the downloaded .pkg file and Install R
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
R Studio
RStudio is a free user interface for R.
1. Install the appropriate RStudio version https:
//www.rstudio.com/products/rstudio/download/
2. Run it to install R-studio
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
R Studio Structure
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Installing Packages
In your bottom left window - go to Packages
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Selecting Packages - shiny
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Creating Scripts
Create R File: File → New File → R Script
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Execution - RUN
To execute - click run
In the script (top left window) type:
library(shiny)
Click Run (your cursor can be at the beginning or at the end
of the line)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Demo
runExample(“01 hello”)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Demo
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Shiny Demo
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
UI.R
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Reactive Input/Output
Input - things user can toggle
Output - R objects that user can see, often depend on
inputs
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Closing App
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Step 1 - Create New Web Shiny App
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Step 2 - Run App
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
UI
shinyUI( fluidPage(
titlePanel(“Old Faithful Geyser Data”),
sidebarLayout(
sidebarPanel(
sliderInput(“bins”,
“Number of bins:”,
min = 1,
max = 50,
value = 30)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
UI
shinyUI( fluidPage(
titlePanel(“Old Faithful Geyser Data”),
sidebarLayout(
sidebarPanel(
sliderInput(“bins”,
“Number of bins:”,
min = 1,
max = 50,
value = 30)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Modifying UI - Practice
Change slider’s label:
Number of bins → Choose a number
Change slider’s values: max and value
Save
RunApp
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
HTML
The UI script simply creates HTML
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
HTML
HTML tags:
http:
//shiny.rstudio.com/articles/tag-glossary.html
h1() = header1
br() = line break
p() = paragraph
hr() = line
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Adding HTML Tags to UI.R - Practice
shinyUI( fluidPage(
titlePanel(“My Title”),
h3(“My subtitle”),
p(“This is my first app!”),
br(),
hr(),
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Layout
http:
//shiny.rstudio.com/articles/layout-guide.html
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
mainPanel
mainPanel( plotOutput(”distPlot”))
Let’s add 3 tab panels: Plot, Summary, Table
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
tabsetPanel
mainPanel(
tabsetPanel(
tabPanel(“Plot”, plotOutput(“distPlot”)),
tabPanel(“Summary”),
tabPanel(“Table”)
)
)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Input Data
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Input Data
1. Blog https:
//languagevariationsuite.wordpress.com/
2. Download csv file - movie metadata.csv
3. Place this file into the directory myshiny
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
New Input in UI.R
Let’s look at the fileInput() function from Shiny
Reference page
Type in your browser: fileInput Shiny
or go to the Shiny Reference page -
https://shiny.rstudio.com/reference/shiny/
latest/fileInput.html
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
New Input in UI.R
Scroll down to Examples
We will add fileInput function inside sidebarPanel
Copy fileInput function
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
New Input in UI.R
Paste it after slider
NB: commas are important!
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Reactive Function in Sever.R
Reactive - it changes every time the user uploads new data
Create a function that reads csv file
myfile() is a function that will read and return csv files
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Render - Reactive Data
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Function summary in Server.R
output$summary <- renderPrint({
summary(myfile())
})
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
New Output Function table in Server.R
output$table <- renderDataTable({
myfile()
})
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Linking summary and table with UI.R
tabsetPanel(
tabPanel("Plot", plotOutput("distPlot")),
tabPanel("Summary", verbatimTextOutput("summary")),
tabPanel("Table", dataTableOutput("table"))
)
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Linking summary and table with UI.R
tabsetPanel(
tabPanel("Plot", plotOutput("distPlot")),
tabPanel("Summary", verbatimTextOutput("summary")),
tabPanel("Table", dataTableOutput("table"))
)
RunApp
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Testing CSV Upload
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
One more IF-Statement - Server.R
We want to do a histogram for csv file:
if (condition) {do..} else {do...}
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
One more IF-Statement - Server.R
We want to do a histogram for csv file:
if (condition) {do..} else {do...}
output$distPlot <- renderPlot({
if (is.null(input$file1)) {
....
hist(x, breaks = bins, col = ’darkgray’, border =
’white’)
}
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
One more IF-Statement - Server.R
We want to do a histogram for csv file:
if (condition) {do..} else {do...}
output$distPlot <- renderPlot({
if (is.null(input$file1)) {
....
hist(x, breaks = bins, col = ’darkgray’, border =
’white’)
}
else{
x <- myfile()$budget
bins <- seq(min(x), max(x), length.out = input$bins
+ 1)
hist(x, breaks = bins, col=’red’,
main = ’My New Histogram’)
}
})
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
RunApp
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Server - Recap
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Deployment Options
1. Share server.r and ui.r
2. Host on shinyapps.io
3. Host on Shiny server
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Deploy with shinyapps.io
www.shinyapps.io
sign up for an account.
Publish Application button in RStudio and follow
instructions
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Deploy with shinyapps.io
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
My shinyapps.io
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
My shinyapps.io
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Future of Visualization Tools: CNS
Cyberinfrastructure for Network Science Center at Indiana
University - http://cns.iu.edu/
Our current project on Shiny Framework (team Olga
Scrivner and Jivitesh Poojary)
Build Shiny templates for Data Visualization: stage I
https:
//github.com/Jivitesh-Poojary/CNS-Shiny-Apps
Create user-friendly customizable Shiny dashboards:
stage II
Develop preprocessing plugins for Shiny templates:
stage III
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Useful resources
1. Shiny official tutorial -
http://shiny.rstudio.com/tutorial
2. Cheat sheet - http://shiny.rstudio.com/images/
shiny-cheatsheet.pdf
3. Publish your app free - http://www.shinyapps.io
4. Examples -http://www.showmeshiny.com/
5. Tutorial by Dean Attali - http://deanattali.com/
blog/building-shiny-apps-tutorial/
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Thank you!
My email: obscrivn@indiana.edu
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
References
B¨orner, Katy. 2015. Atlas of Knowledge: Anyone Can Map. The
MIT Press
Collins, Christopher. 2012. Bridging the Linguistic Visualization
Divide. LingVis/UNCLH Workshop
Grolemund, Garrett. 2017. How to start with Shiny, Part 1.
Workshop
Data Visualization
for Corpus
Linguistics:
Shiny Framework
Olga Scrivner
Visual Analytics
Reactive
Framework
Shiny App
Practice
Credits
http:
//deanattali.com/blog/building-shiny-apps-tutorial/
http://scimaps.org/mapdetail/stream_of_scientific_128
https://github.com/IBMDataScience/dsx-shiny-apps
http://www.slideshare.net/SarahAerni/
data-science-as-a-commodity-use-madlib-r-other-oss-tools-for-data-
http://www.unixstickers.com/image/data/stickers/
react/badge/React-JS.sh.png
https://github.com/rstudio/shiny/issues/250
http://www.slideshare.net/ilio-catallo/
spring-mvc-the-basics

More Related Content

PDF
ENJ-500: Taller Libre Office
 
PDF
Mips opcodes
PPT
Shift rotate
PPTX
Building Shiny Application Series - Layout and HTML
PDF
Visual Analytics for Linguistics - Day 5 ESSLLI 2017
PDF
Data Visualization: Introduction to Shiny Web Applications
PDF
Building Customized Text Mining Tools via Shiny Framework: The Future of Data...
ENJ-500: Taller Libre Office
 
Mips opcodes
Shift rotate
Building Shiny Application Series - Layout and HTML
Visual Analytics for Linguistics - Day 5 ESSLLI 2017
Data Visualization: Introduction to Shiny Web Applications
Building Customized Text Mining Tools via Shiny Framework: The Future of Data...

Similar to Workshop: Data Visualization for Corpus Linguistics via Shiny Framework (20)

PDF
Building interactive web app with shiny
PPTX
Introduction to Shiny for building web apps in R
PDF
Shiny in R
PDF
R scripts for statistics and dashboard designs
PDF
R programming for statistics and dash board
PPTX
Crash Course on R Shiny Package
PDF
R visualization: ggplot2, googlevis, plotly, igraph Overview
PDF
Introduction to interactive data visualisation using R Shiny
PPTX
Introduction to Interactive Shiny Web Application
PDF
Dsir2019(nishiyama)
PDF
R for the Rest of Us A Statistics Free Introduction David Keyes
PDF
Open source analytics
PDF
Science Online 2013: Data Visualization Using R
PPTX
Introduction to R
PDF
Shiny r, live shared and explored
PPTX
Build web apps with R
PPTX
Data visualisation in python tool - a brief
PDF
Data Analysis and Visualization: R Workflow
PDF
R - the language
PPTX
R in the Humanities: Text Analysis (v2)
Building interactive web app with shiny
Introduction to Shiny for building web apps in R
Shiny in R
R scripts for statistics and dashboard designs
R programming for statistics and dash board
Crash Course on R Shiny Package
R visualization: ggplot2, googlevis, plotly, igraph Overview
Introduction to interactive data visualisation using R Shiny
Introduction to Interactive Shiny Web Application
Dsir2019(nishiyama)
R for the Rest of Us A Statistics Free Introduction David Keyes
Open source analytics
Science Online 2013: Data Visualization Using R
Introduction to R
Shiny r, live shared and explored
Build web apps with R
Data visualisation in python tool - a brief
Data Analysis and Visualization: R Workflow
R - the language
R in the Humanities: Text Analysis (v2)
Ad

More from Olga Scrivner (20)

PPTX
Engaging Students Competition and Polls.pptx
PPTX
HICSS ATLT: Advances in Teaching and Learning Technologies
PDF
The power of unstructured data: Recommendation systems
PPTX
Cognitive executive functions and Opioid Use Disorder
PDF
Introduction to Web Scraping with Python
PDF
Call for paper Collaboration Systems and Technology
PDF
Jupyter machine learning crash course
PDF
R and RMarkdown crash course
PDF
The Impact of Language Requirement on Students' Performance, Retention, and M...
PPTX
If a picture is worth a thousand words, Interactive data visualizations are w...
PDF
Introduction to Overleaf Workshop
PDF
R crash course for Business Analytics Course K303
PDF
Workshop nwav 47 - LVS - Tool for Quantitative Data Analysis
PDF
Gender Disparity in Employment and Education
PDF
CrashCourse: Python with DataCamp and Jupyter for Beginners
PDF
Optimizing Data Analysis: Web application with Shiny
PDF
Reproducible visual analytics of public opioid data
PPTX
Building Effective Visualization Shiny WVF
PDF
Introduction to R - from Rstudio to ggplot
PDF
Visual Analytics for Linguistics - Day 4 ESSLLI - structured data
Engaging Students Competition and Polls.pptx
HICSS ATLT: Advances in Teaching and Learning Technologies
The power of unstructured data: Recommendation systems
Cognitive executive functions and Opioid Use Disorder
Introduction to Web Scraping with Python
Call for paper Collaboration Systems and Technology
Jupyter machine learning crash course
R and RMarkdown crash course
The Impact of Language Requirement on Students' Performance, Retention, and M...
If a picture is worth a thousand words, Interactive data visualizations are w...
Introduction to Overleaf Workshop
R crash course for Business Analytics Course K303
Workshop nwav 47 - LVS - Tool for Quantitative Data Analysis
Gender Disparity in Employment and Education
CrashCourse: Python with DataCamp and Jupyter for Beginners
Optimizing Data Analysis: Web application with Shiny
Reproducible visual analytics of public opioid data
Building Effective Visualization Shiny WVF
Introduction to R - from Rstudio to ggplot
Visual Analytics for Linguistics - Day 4 ESSLLI - structured data
Ad

Recently uploaded (20)

PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
importance of Data-Visualization-in-Data-Science. for mba studnts
PPTX
Leprosy and NLEP programme community medicine
PPTX
Topic 5 Presentation 5 Lesson 5 Corporate Fin
PPT
ISS -ESG Data flows What is ESG and HowHow
PDF
[EN] Industrial Machine Downtime Prediction
DOCX
Factor Analysis Word Document Presentation
PPTX
IMPACT OF LANDSLIDE.....................
PPTX
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Managing Community Partner Relationships
PPTX
STERILIZATION AND DISINFECTION-1.ppthhhbx
PPTX
Introduction to Inferential Statistics.pptx
PDF
Optimise Shopper Experiences with a Strong Data Estate.pdf
PPTX
Pilar Kemerdekaan dan Identi Bangsa.pptx
PPTX
A Complete Guide to Streamlining Business Processes
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PPTX
CYBER SECURITY the Next Warefare Tactics
PPTX
New ISO 27001_2022 standard and the changes
PDF
Introduction to the R Programming Language
IBA_Chapter_11_Slides_Final_Accessible.pptx
importance of Data-Visualization-in-Data-Science. for mba studnts
Leprosy and NLEP programme community medicine
Topic 5 Presentation 5 Lesson 5 Corporate Fin
ISS -ESG Data flows What is ESG and HowHow
[EN] Industrial Machine Downtime Prediction
Factor Analysis Word Document Presentation
IMPACT OF LANDSLIDE.....................
sac 451hinhgsgshssjsjsjheegdggeegegdggddgeg.pptx
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Managing Community Partner Relationships
STERILIZATION AND DISINFECTION-1.ppthhhbx
Introduction to Inferential Statistics.pptx
Optimise Shopper Experiences with a Strong Data Estate.pdf
Pilar Kemerdekaan dan Identi Bangsa.pptx
A Complete Guide to Streamlining Business Processes
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
CYBER SECURITY the Next Warefare Tactics
New ISO 27001_2022 standard and the changes
Introduction to the R Programming Language

Workshop: Data Visualization for Corpus Linguistics via Shiny Framework

  • 1. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner
  • 2. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice What You Will Learn 1. Introduction to Visual Analytics 2. Reactive Web Framework 3. Shiny Application 4. Practice https://languagevariationsuite.wordpress.com/
  • 3. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Data Analytics “Analytics is the critical technology needed to bring value out of data” (Anonymous)
  • 4. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Visual Analytics “The science of analytical reasoning facilitated by visual interactive interfaces” (Thomas and Cook, 2005) “Visual analytics integrates new computational and theory-based tools with innovative interactive techniques and visual representations to enable human-information discourse” (Thomas and Cook, 2005)
  • 5. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Visual Analytics and Linguistics “ Language is a system of relatively arbitrary symbols” (Baker-Shenk and Cokely, 1980) http://www.tableaufit.com/tableau-conference-linguistics-data-visualization/
  • 6. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Visual Analytics (and Corpus Linguistics) 1. Exploration (Queries) 2. Comprehension (Analysis) 3. Communication (Presentation)
  • 7. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Corpus Linguistics Visualization http://scimaps.org/home.html
  • 8. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Visualization Tools Challenges: Many tools are built for non-linguistic research Limited preprocessing Visualization may not fit linguistic data
  • 9. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Visualization Tools Challenges: Many tools are built for non-linguistic research Limited preprocessing Visualization may not fit linguistic data Solution: Reactive Framework Interactive and web-based Research-driven customization Build your own tool!
  • 10. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Reactive Web Framework “Reactive Systems are highly responsive, giving users effective interactive feedback” http://www.reactivemanifesto.org/ http://littleactuary.github.io/blog/Web-application-framework-with-Shiny/
  • 11. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Reactive Architecture
  • 12. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Reactive Framework and Data Science “The impact of data scientists’ work depends on how well others can understand their insights to take further actions” Benefit 1: Interactive display and manipulation of data Benefit 2: No installation required Benefit 3: Easy to develop and share with clients and project teams Benefit 4: Open source library http://datascience.ibm.com/blog/shiny-a-data-scientist-best-friend/
  • 13. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Application 1. Shiny is an R package for building interactive web applications 2. Open-Sourced by RStudio 11/2012 on CRAN 3. Uses web sockets (new HTTP): Interactive communication sessions between the user’s browser and a server without having to poll the server for a reply 4. Entirely extensible - custom input/output
  • 14. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Library http://littleactuary.github.io/blog/Web-application-framework-with-Shiny/
  • 15. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Gallery - Get Inspired https://www.rstudio.com/products/shiny/shiny-user-showcase/
  • 16. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Interactive Text Mining Suite (Scrivner et al. 2016) 1. Web application for text processing and mining 2. Interactive natural language processing techniques Wordstops, stemming, text-preprocessing 3. High customization
  • 17. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Stopwords Stopwords (e.g. the, and):
  • 18. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Manual Removal of Stopwords
  • 19. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Stemming
  • 20. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Word Cloud Representation
  • 21. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Customization
  • 22. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Format Flexibility Example: Using Google Books API Current limitation is 40 books
  • 23. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Workshop Materials 1. Rstudio 2. R 3. Shiny library 4. Materials: https: //languagevariationsuite.wordpress.com/
  • 24. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice R software R is a free software for data analysis, text mining and visualization. To install R on Window: 1. Download the binary file for R https://cran.r-project.org/bin/windows/base/ R-3.3.1-win.exe 2. Open the downloaded .exe file and Install R To install R on Mac: 1. Download the appropriate version of .pkg file https://cran.r-project.org/bin/macosx/ 2. Open the downloaded .pkg file and Install R
  • 25. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice R Studio RStudio is a free user interface for R. 1. Install the appropriate RStudio version https: //www.rstudio.com/products/rstudio/download/ 2. Run it to install R-studio
  • 26. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice R Studio Structure
  • 27. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Installing Packages In your bottom left window - go to Packages
  • 28. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Selecting Packages - shiny
  • 29. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Creating Scripts Create R File: File → New File → R Script
  • 30. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Execution - RUN To execute - click run In the script (top left window) type: library(shiny) Click Run (your cursor can be at the beginning or at the end of the line)
  • 31. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Demo runExample(“01 hello”)
  • 32. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Demo
  • 33. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Shiny Demo
  • 34. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice UI.R
  • 35. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Reactive Input/Output Input - things user can toggle Output - R objects that user can see, often depend on inputs
  • 36. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Closing App
  • 37. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Step 1 - Create New Web Shiny App
  • 38. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Step 2 - Run App
  • 39. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice UI shinyUI( fluidPage( titlePanel(“Old Faithful Geyser Data”), sidebarLayout( sidebarPanel( sliderInput(“bins”, “Number of bins:”, min = 1, max = 50, value = 30)
  • 40. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice UI shinyUI( fluidPage( titlePanel(“Old Faithful Geyser Data”), sidebarLayout( sidebarPanel( sliderInput(“bins”, “Number of bins:”, min = 1, max = 50, value = 30)
  • 41. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Modifying UI - Practice Change slider’s label: Number of bins → Choose a number Change slider’s values: max and value Save RunApp
  • 42. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice HTML The UI script simply creates HTML
  • 43. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice HTML HTML tags: http: //shiny.rstudio.com/articles/tag-glossary.html h1() = header1 br() = line break p() = paragraph hr() = line
  • 44. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Adding HTML Tags to UI.R - Practice shinyUI( fluidPage( titlePanel(“My Title”), h3(“My subtitle”), p(“This is my first app!”), br(), hr(),
  • 45. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Layout http: //shiny.rstudio.com/articles/layout-guide.html
  • 46. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice mainPanel mainPanel( plotOutput(”distPlot”)) Let’s add 3 tab panels: Plot, Summary, Table
  • 47. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice tabsetPanel mainPanel( tabsetPanel( tabPanel(“Plot”, plotOutput(“distPlot”)), tabPanel(“Summary”), tabPanel(“Table”) ) )
  • 48. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Input Data
  • 49. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Input Data 1. Blog https: //languagevariationsuite.wordpress.com/ 2. Download csv file - movie metadata.csv 3. Place this file into the directory myshiny
  • 50. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice New Input in UI.R Let’s look at the fileInput() function from Shiny Reference page Type in your browser: fileInput Shiny or go to the Shiny Reference page - https://shiny.rstudio.com/reference/shiny/ latest/fileInput.html
  • 51. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice New Input in UI.R Scroll down to Examples We will add fileInput function inside sidebarPanel Copy fileInput function
  • 52. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice New Input in UI.R Paste it after slider NB: commas are important!
  • 53. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Reactive Function in Sever.R Reactive - it changes every time the user uploads new data Create a function that reads csv file myfile() is a function that will read and return csv files
  • 54. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Render - Reactive Data
  • 55. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Function summary in Server.R output$summary <- renderPrint({ summary(myfile()) })
  • 56. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice New Output Function table in Server.R output$table <- renderDataTable({ myfile() })
  • 57. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Linking summary and table with UI.R tabsetPanel( tabPanel("Plot", plotOutput("distPlot")), tabPanel("Summary", verbatimTextOutput("summary")), tabPanel("Table", dataTableOutput("table")) )
  • 58. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Linking summary and table with UI.R tabsetPanel( tabPanel("Plot", plotOutput("distPlot")), tabPanel("Summary", verbatimTextOutput("summary")), tabPanel("Table", dataTableOutput("table")) ) RunApp
  • 59. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Testing CSV Upload
  • 60. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice One more IF-Statement - Server.R We want to do a histogram for csv file: if (condition) {do..} else {do...}
  • 61. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice One more IF-Statement - Server.R We want to do a histogram for csv file: if (condition) {do..} else {do...} output$distPlot <- renderPlot({ if (is.null(input$file1)) { .... hist(x, breaks = bins, col = ’darkgray’, border = ’white’) }
  • 62. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice One more IF-Statement - Server.R We want to do a histogram for csv file: if (condition) {do..} else {do...} output$distPlot <- renderPlot({ if (is.null(input$file1)) { .... hist(x, breaks = bins, col = ’darkgray’, border = ’white’) } else{ x <- myfile()$budget bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col=’red’, main = ’My New Histogram’) } })
  • 63. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice RunApp
  • 64. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Server - Recap
  • 65. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Deployment Options 1. Share server.r and ui.r 2. Host on shinyapps.io 3. Host on Shiny server
  • 66. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Deploy with shinyapps.io www.shinyapps.io sign up for an account. Publish Application button in RStudio and follow instructions
  • 67. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Deploy with shinyapps.io
  • 68. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice My shinyapps.io
  • 69. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice My shinyapps.io
  • 70. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Future of Visualization Tools: CNS Cyberinfrastructure for Network Science Center at Indiana University - http://cns.iu.edu/ Our current project on Shiny Framework (team Olga Scrivner and Jivitesh Poojary) Build Shiny templates for Data Visualization: stage I https: //github.com/Jivitesh-Poojary/CNS-Shiny-Apps Create user-friendly customizable Shiny dashboards: stage II Develop preprocessing plugins for Shiny templates: stage III
  • 71. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Useful resources 1. Shiny official tutorial - http://shiny.rstudio.com/tutorial 2. Cheat sheet - http://shiny.rstudio.com/images/ shiny-cheatsheet.pdf 3. Publish your app free - http://www.shinyapps.io 4. Examples -http://www.showmeshiny.com/ 5. Tutorial by Dean Attali - http://deanattali.com/ blog/building-shiny-apps-tutorial/
  • 72. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Thank you! My email: obscrivn@indiana.edu
  • 73. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice References B¨orner, Katy. 2015. Atlas of Knowledge: Anyone Can Map. The MIT Press Collins, Christopher. 2012. Bridging the Linguistic Visualization Divide. LingVis/UNCLH Workshop Grolemund, Garrett. 2017. How to start with Shiny, Part 1. Workshop
  • 74. Data Visualization for Corpus Linguistics: Shiny Framework Olga Scrivner Visual Analytics Reactive Framework Shiny App Practice Credits http: //deanattali.com/blog/building-shiny-apps-tutorial/ http://scimaps.org/mapdetail/stream_of_scientific_128 https://github.com/IBMDataScience/dsx-shiny-apps http://www.slideshare.net/SarahAerni/ data-science-as-a-commodity-use-madlib-r-other-oss-tools-for-data- http://www.unixstickers.com/image/data/stickers/ react/badge/React-JS.sh.png https://github.com/rstudio/shiny/issues/250 http://www.slideshare.net/ilio-catallo/ spring-mvc-the-basics