fast & iterative data wrangling with grammar &...

40
Fast & Iterative Data Wrangling with Grammar & Visualization Kan Nishida @kanaugust Co-Founder / CEO, Exploratory

Upload: others

Post on 06-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Fast & Iterative Data Wrangling with Grammar & Visualization

Kan Nishida @kanaugust Co-Founder / CEO, Exploratory

Page 2: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Much more data available than you think (or hope)

Page 3: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

If you know how to access

Page 4: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

and, how to wrangle with

Page 5: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization
Page 6: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Yesterday

Page 7: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Apps

ETL Report / Dashboard

Data Transformation Business Data Modeling Data AnalysisReporting

AppsApps

BI Model

Page 8: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

ETL Report / DashboardBI Model

Business Analysts

Report DevelopersBI DevelopersETL Developers

DBA DBA

Data Transformation Business Data Modeling Data AnalysisReporting

AppsApps

Apps

Page 9: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

ETL Report / DashboardBI Model

Business Analysts

Report DevelopersBI DevelopersETL Developers

DBA DBA

Data Transformation Business Data Modeling Data AnalysisReporting

AppsApps

Apps

Page 10: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

ETL Report / DashboardBI Model

Business Analysts

Report DevelopersBI DevelopersETL Developers

DBA DBA

Data Transformation Business Data Modeling Data AnalysisReporting

RequirementsApps

AppsApps

Page 11: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

ETL Report / DashboardBI Model

Business Analysts

Report DevelopersBI DevelopersETL Developers

DBA DBA

Data Transformation Business Data Modeling Data AnalysisReporting

RequirementsApps

AppsApps

A few weeks to 12 months

Page 12: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Today

Page 13: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Data Access

Tidy

Exploratory Data Analysis

Visualization

Data Analyst

Page 14: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Tidy Data

1. Each variable forms a column.

2. Each observation forms a row.

3. Each type of observational unit forms a table.

Page 15: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Name Year CountPanera Bread 2010 10Panera Bread 2011 2Panera Bread 2012 2Panera Bread 2013 14

Taco Bell 2010 5Taco Bell 2011 15Taco Bell 2012 20Taco Bell 2013 8

Name 2010 2011 2012 2013Panera Bread 10 2 2 14

Taco Bell 5 15 20 8

Tidy Data

Messy Data

Page 16: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Why Tidy Data

1. Makes it easier to Filter, Calculate, Group, and Aggregate

2. Makes it easier to Visualize

3. Makes it easier to Build Models

Page 17: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Hadleyverse

Hadley WickhamAuthor of tools (computational and cognitive) that make data science easier, faster, and more fun with R

dplyr, tidyr, readr, readxl, haven, httr, rvest, xml2, lubridate, stringr, ggplot2, ggvis, devtools, testthat, roxygen2, etc.

Page 18: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Data Access

Tidy

Exploratory Data Analysiswith Hadleyverse

Visualization

Data Analyst

tidyr, reshape2

dplyr

readr, readxl, haven, xml2, httr, rvest

ggplot2

lubridate, stringr

Page 19: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Data Wrangling

Page 20: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Data Access

Tidy

Grammar for Data Wrangling

Visualization

Data Analyst

tidyr

dplyr

Page 21: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

select left_join right_join full_join inner_join semi_join anti_join union intersect setoff bind_rows bind_columns

CombineReshape

gather separate unite separate nest unnest arrange rename

Subset Rows

filter distinct sample_n sample_frac slice top_n

Subset Columns

Group

group_by

Create Variable

Summarize

mutate

summarize

Grammar for Data Wrangling

tidyr dplyr

Page 22: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

select left_join right_join full_join inner_join semi_join anti_join union intersect setoff bind_rows bind_columns

CombineReshape

gather separate unite separate nest unnest arrange rename

Subset Rows

filterdistinct sample_n sample_frac slice top_n

Subset Columns

Group

group_by

Create Variable

Summarize

mutate

summarize

Grammar for Data Wrangling

tidyr dplyr

Page 23: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Data Access

Tidy

Grammar for Data Wrangling

Visualization

Data Analyst

tidyr

dplyr

Page 24: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Data Access

Page 25: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Tidy

Data Access

Visualization

Data Access

Data Analyst

Page 26: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Relational Database

Oracle MSFT DB2 MySQL Postgres TeradataAmazon Redshift VerticaNetezza

Page 27: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Relational Database

Non Relational Database

Cloud Apps

Files

CSV, Delimited Excel Log Files JSON Files XML Files PDF FilesWeb Pages Stats Files

Oracle MSFT DB2 MySQL Postgres TeradataAmazon Redshift Vertica

MongoDB CouchDB Reddis Hadoop Spark

Google Analytics Github Mail

Chimp Stripe Twitter Flurry

Google BigQuery neo4J

Salesforce Segment

PrestoHive

Netezza

Mixpanel

Apache Arrow

Page 28: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Relational Database

Non Relational Database

Cloud Apps

Files

CSV, Delimited Excel Log Files JSON Files XML Files PDF FilesWeb Pages Stats Files

Oracle MSFT DB2 MySQL Postgres TeradataAmazon Redshift Vertica

MongoDB CouchDB Reddis Hadoop Spark

Google Analytics Github Mail

Chimp Stripe Twitter Google Spreadsheet

Google BigQuery neo4J

Salesforce Segment

PrestoHive

Netezza

Mixpanel

Apache Arrow

Page 29: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Tidy

Hadleyverse

Visualization

Data Access

Data Analyst

readr, readxl, haven, xml2, httr, rvest

Page 30: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization
Page 31: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Tidy

Need to access diverse data sets

Visualization

Data Access

Data Analyst

readr, readxl, haven, xml2, httr, rvest

jsonlite, rjson, rjsonio,mongolite, Rmongo, rmongodb,RGoogleAnalytics, RGA, GAR

Page 32: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Visualization

Page 33: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Manipulation

Tidy

Data Visualization

Data Analyst

Visualization

Data Access

Page 34: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization
Page 35: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization
Page 36: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Access to any type of data easily and quickly

Wrangle with data iteratively and flexibly using well-defined grammar

Visualize often and understand data quickly

Exploratory Data Analysis

Page 37: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

Exploratory Fast and Iterative Data Wrangling with Grammar & Visualization

Page 38: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

• Text, Log, JSON, XML • Cloud apps - Google

Analytics, Github, etc. • Web Page Scraping • REST API • Custom R Script

Access to any type of data easily

Page 39: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

• Command Line Interface

• Context Aware Syntax Suggestion

• Data Analysis Pipeline Management

Data Wrangling with Grammar

Page 40: Fast & Iterative Data Wrangling with Grammar & Visualizationfiles.meetup.com/3182622/exploratory-berkeley-r-meetup_April_19_2016.pdfFast & Iterative Data Wrangling with Grammar & Visualization

• Summary View • Chart View

• Histogram • Boxplot • Scatterplot • Map • Bar • Line • Area

Visualize and understand quickly