+ - 0:00:00
Notes for current slide
Notes for next slide
These slides are viewed best by Chrome and occasionally need to be refreshed if elements did not load properly. See here for PDF .


Press the right arrow to progress to the next slide!

1/52


ETC1010: Introduction to Data Analysis

Week 1


Week of introduction

Lecturer: Nicholas Tierney

Department of Econometrics and Business Statistics

ETC1010.Clayton-x@monash.edu

9th Mar 2020


1/52
2/52

What is this course?

This is a course on introduction to data analysis.

3/52

What is this course?

This is a course on introduction to data analysis.

You can also think of it as introduction to data science.

3/52

What is this course?

This is a course on introduction to data analysis.

You can also think of it as introduction to data science.

Q - What data analysis background does this course assume?

A - None.

3/52

What is this course?

This is a course on introduction to data analysis.

You can also think of it as introduction to data science.

Q - What data analysis background does this course assume?

A - None.

Q - Is this an intro stat course?
A - Statistics data science. BUT they are closely related. This course is a great way to get started with statistics. But is not your typical high school statistics course.

3/52

What is this course?

This is a course on introduction to data analysis.

You can also think of it as introduction to data science.

Q - What data analysis background does this course assume?

A - None.

Q - Is this an intro stat course?
A - Statistics data science. BUT they are closely related. This course is a great way to get started with statistics. But is not your typical high school statistics course.

Q - Will we be doing computing?
A - Yes.

3/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

4/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

Q - What computing language will we learn?
A - R.

4/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

Q - What computing language will we learn?
A - R.

Q: Why not language X?
A: We can discuss that over ☕.

4/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

Q - What computing language will we learn?
A - R.

Q: Why not language X?
A: We can discuss that over ☕.

Taught as a lectorial (Lecture + Tutorial)

4/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

Q - What computing language will we learn?
A - R.

Q: Why not language X?
A: We can discuss that over ☕.

Taught as a lectorial (Lecture + Tutorial)

It is not (typically) recorded because you are doing work

4/52

What is this course?

Q - Is this an intro Computer Science course?
A - No, but there are some shared themes.

Q - What computing language will we learn?
A - R.

Q: Why not language X?
A: We can discuss that over ☕.

Taught as a lectorial (Lecture + Tutorial)

It is not (typically) recorded because you are doing work

You have to show up to class to practice!

4/52

The language of data analysis

This course is brought to you today by the letter "R"!

Grover image sourced from https://en.wikipedia.org/wiki/Grover.

5/52

What is R?

R is a language for data analysis. If R seems a bit confusing, disorganized, and perhaps incoherent at times, in some ways that's because so is data analysis.

-- Roger Peng, 12/07/2018

6/52

Why R?

  • Free
  • Powerful: Over 15000 contributed packages on the main repository (CRAN), as of March 2020, provided by top international researchers and programmers.
  • Flexible: It is a language, and thus allows you to create your own solutions
  • Community: Large global community friendly and helpful, lots of resources
7/52

Community

R Consortium conducted a survey of users 2017.

These are the locations of respondents to an R Consortium survey conducted in 2017.

8% of R users are between 18-24 BUT 45% of R users are between 25-34!

8/52

Sample of Australian organisations/companies that sent employees to useR! 2018

ABS, CSIRO, ATO, Microsoft, Energy Qld, Auto and General, Bank of Qld, BHP, AEMO, Google, Flight Centre, Youi, Amadeus Investment Partners, Yahoo, Sydney Trains, Tennis Australia, Rio Tinto, Reserve Bank of Australia, PwC, Oracle, Netflix, NOAA Fisheries, NAB, Menulog, Macquarie Bank, Honeywell, Geoscience Australia, DFAT, DPI, CBA, Bank of Italy, Australian Red Cross Blood Service, Amazon, Bunnings.

9/52

R and RStudio

10/52

What is R/RStudio?

  • R is a statistical programming language

  • RStudio is a convenient interface for R (an integrated development environment, IDE)

11/52

What is R/RStudio?

  • R is a statistical programming language

  • RStudio is a convenient interface for R (an integrated development environment, IDE)

If R were an airplane, RStudio would be the airport, providing many, many supporting services that make it easier for you, the pilot, to take off and go to awesome places. Sure, you can fly an airplane without an airport, but having those runways and supporting infrastructure is a game-changer

-- Julie Lowndes

11/52

Let's take a tour of R and RStudio

12/52
13/52
  • Source code editor: This is where you edit your script! Experiment with writing your data analysis pipeline, ... You can have multiple files open, there are useful shortcuts (eg "Run", "Knit"), code is highlighted usefully and there is tab-completion when you start typing. Also, if you want to look at any of the data you have read or created, it can be viewed in a tab on this pane.
  • Console window: This is where the code is executed. There is a prompt ">" which says R is waiting for your command. You don't actually need to type anything in this pane, you can run code directly from the Editor pane. The functions will show up in this window, and the results will be here. (Although, if you use an R notebook the result will show up in that notebook.)
  • Help: ?function will show the help pages for the function here.
  • Plot: Plots you ask R to make will show up here, and you can zoom to make them bigger in a separate window if you want.
  • Environment: Data that you have read into R, or data or functions that you create will be listed here. When you quit R, you will be asked if you want to save the environment. I suggest that you always answer NO. Because we are scripting everything it is always easy to re-create the objects in the environment. The only time it can be useful is if you have created something that took a while, but a better option is to save this object to a file, and read it in at the start of the next R session.

End of part 1 of Lecture 1A

14/52

Start of part 2 of Lecture 1A

15/52

Let's start writing...

Go to http://bit.ly/etc1010-s1-2020 to log in to RStudio cloud.

Log in with Google / GitHub / other credentials.

This section is based on an exercise from data science in a box by Mine Çetinkaya-Rundel

16/52

Create your first data visualisation

  • Once you log on to RStudio Cloud, click on this course's workspace "ETC1010 2020 semester 1"
  • You should see a project called "UN Votes", click on the icon to create a copy of the project, and launch it.
  • In the Files pane in the bottom right corner, open the file called unvotes.Rmd. Then click on the "Knit" button.
  • Go back to the file and change your name on top (in the yaml -- we'll talk about what this means later) and knit again.
  • Change the country names to those you're interested in. Spelling and capitalization should match the data so take a peek at the Appendix to see how the country names are spelled. Knit again. And voila, your first data visualization!
17/52

End of part 2 of Lecture 1A

18/52

Start of part 3 of Lecture 1A

19/52

R essentials: A short list (for now)

  • Functions are (most often) verbs, followed by what they will be applied to in parentheses:
do_this(to_this)
do_that(to_this, to_that, with_those)
20/52

R essentials: A short list (for now)

  • Functions are (most often) verbs, followed by what they will be applied to in parentheses:
do_this(to_this)
do_that(to_this, to_that, with_those)

For example:

20/52

R essentials: A short list (for now)

  • Functions are (most often) verbs, followed by what they will be applied to in parentheses:
do_this(to_this)
do_that(to_this, to_that, with_those)

For example:

mean(c(1,2,1,2))
## [1] 1.5
20/52

R essentials: A short list (for now)

  • Columns (variables) in data frames are accessed with $:
dataframe$var_name
21/52

R essentials: A short list (for now)

  • Columns (variables) in data frames are accessed with $:
dataframe$var_name

For example:

21/52

R essentials: A short list (for now)

  • Columns (variables) in data frames are accessed with $:
dataframe$var_name

For example:

starwars$name
## [1] "Luke Skywalker" "C-3PO" "R2-D2"
## [4] "Darth Vader" "Leia Organa" "Owen Lars"
## [7] "Beru Whitesun lars" "R5-D4" "Biggs Darklighter"
## [10] "Obi-Wan Kenobi" "Anakin Skywalker" "Wilhuff Tarkin"
## [13] "Chewbacca" "Han Solo" "Greedo"
## [16] "Jabba Desilijic Tiure" "Wedge Antilles" "Jek Tono Porkins"
## [19] "Yoda" "Palpatine" "Boba Fett"
## [22] "IG-88" "Bossk" "Lando Calrissian"
## [25] "Lobot" "Ackbar" "Mon Mothma"
## [28] "Arvel Crynyd" "Wicket Systri Warrick" "Nien Nunb"
## [31] "Qui-Gon Jinn" "Nute Gunray" "Finis Valorum"
## [34] "Jar Jar Binks" "Roos Tarpals" "Rugor Nass"
## [37] "Ric Olié" "Watto" "Sebulba"
## [40] "Quarsh Panaka" "Shmi Skywalker" "Darth Maul"
## [43] "Bib Fortuna" "Ayla Secura" "Dud Bolt"
## [46] "Gasgano" "Ben Quadinaros" "Mace Windu"
## [49] "Ki-Adi-Mundi" "Kit Fisto" "Eeth Koth"
## [52] "Adi Gallia" "Saesee Tiin" "Yarael Poof"
## [55] "Plo Koon" "Mas Amedda" "Gregar Typho"
## [58] "Cordé" "Cliegg Lars" "Poggle the Lesser"
## [61] "Luminara Unduli" "Barriss Offee" "Dormé"
## [64] "Dooku" "Bail Prestor Organa" "Jango Fett"
## [67] "Zam Wesell" "Dexter Jettster" "Lama Su"
## [70] "Taun We" "Jocasta Nu" "Ratts Tyerell"
## [73] "R4-P17" "Wat Tambor" "San Hill"
## [76] "Shaak Ti" "Grievous" "Tarfful"
## [79] "Raymus Antilles" "Sly Moore" "Tion Medon"
## [82] "Finn" "Rey" "Poe Dameron"
## [85] "BB8" "Captain Phasma" "Padmé Amidala"
21/52

R essentials: A short list (for now)

  • Packages are installed with the install.packages function and loaded with the library function, once per session:
install.packages("package_name")
library(package_name)
22/52

What can you do at the end of semester?

Some of our best final projects:

23/52

What you need to learn

Data preparation accounts for about 80% of the work of data scientists

-- Gil Press, Forbes 2016

24/52

What you need to learn

Data preparation accounts for about 80% of the work of data scientists

-- Gil Press, Forbes 2016

Data Preparation

  • One of the least taught parts of data science, and business analytics, and yet it is what data scientists spend most of their time on.
  • By the end of this semester, you will have the tools to be more efficient and effective in this area, so that you have more time to spend on your mining and modeling.
24/52

Learning objectives

The learning goals associated with this unit are to:

  1. Learn to read different data formats, learn about tidy data and wrangling techniques
  2. Apply effective visualisation and modelling to understand relationships between variables, and make decisions with data
  3. Develop communication skills using reproducible reporting.
25/52

Philosophy

If you feed a person a fish, they eat for a day. If you teach a person to fish, they eat for a lifetime.

Whatever I do in the data analysis that is shown to you during the class, you can do it, too.

26/52

Course Website: ida.numbat.space

  • "ida" = Introduction to Data Analysis
  • "numbat" = Non-Uniform-Monash-Business-Analyics-Team
  • unit guide (authority on course structure).
  • Lecture notes for each class
  • Assignment and project instructions
  • Textbook + other online resources related to topics
  • Consultation times (7 x 1Hr consultations)
  • demo
27/52

Using laptops

  • We will start out using the rstudio cloud server.

  • In the future we will have R and Rstudio installed locally.

  • This course is also set up as a "MoVE unit", which means you can borrow a laptop from the university for class hours.

  • It is also possible to set up R and RStudio onto a USB stick to use with your borrowed laptop.

28/52

Grading

Assessment Weight Task
Reading Quiz 5% Complete prior to each class, for the first 8 weeks on ED. Quiz needs to be completed by class time. No mulligans. One can be missed without penalty.
Lab Exercise 5% Each class period will have a quiz to be completed individually. Two can be missed without penalty.
29/52

Grading Example: Reading Quiz

  • Before 12pm (noon) on Wednesday, you need to complete the 5 question reading quiz on ED
  • Before 4pm next Monday You need to complete the 5 question reading quiz on ED.
30/52

Grading Example: Lab Exercise

There is time at the end of class to complete lab exercise on ED:

  • Before 6pm Next Monday (16th March), you need to complete the 10 question Lab Exercise on ED
  • Before 4pm Mext Wednesday (18th March) you need to complete the 10 question Lab Exercise on ED.
31/52

Grading

Assessment Weight Task
Assignment 12% Teamwork, data analysis challenge, due in weeks 4, and 8
Mid-Sem Theory + Concept exam 8% Due week 6
Data Analysis Exam 10% Due week 11
Project 10% Due week 11
Final Exam 50% TBA
32/52

Textbook

33/52

Ed System

  • Online quizzes
  • Conduct discussions
  • Ask questions about the course material and exercises, and turn in assignments and project. Only your name and email address are recorded in the ED systems.
34/52

Ed System

  • Online quizzes
  • Conduct discussions
  • Ask questions about the course material and exercises, and turn in assignments and project. Only your name and email address are recorded in the ED systems.

(DEMO)

34/52
35/52

Tips for asking questions

  • First search existing discussion for answers. If the question has already been answered, you're done! If it has already been asked but you're not satisfied with the answer, add to the thread.
36/52

Tips for asking questions

  • First search existing discussion for answers. If the question has already been answered, you're done! If it has already been asked but you're not satisfied with the answer, add to the thread.

  • Give your question context from course concepts not course assignments.

    • Good context: "I have a question on filtering data"
    • Bad context: "I have a question on Assignment 1"
36/52

Tips for asking questions

  • Be precise in your description:
    • Good description: "I am getting the following error and I'm not sure how to resolve it - Error: could not find function "ggplot""
    • Bad description: "R giving errors, help me! Aaaarrrrrgh!"
  • Remember: you can edit a question after posting it.
37/52

How do you do well in this class

  • Do the reading prior to each class period.
38/52

How do you do well in this class

  • Do the reading prior to each class period.

  • Participate actively in this class.

38/52

How do you do well in this class

  • Do the reading prior to each class period.

  • Participate actively in this class.

  • Ask questions on the ed.

38/52

How do you do well in this class

  • Come to consultation if you have questions.
39/52

How do you do well in this class

  • Come to consultation if you have questions.

  • Practice the materials taught in each lectorial by doing more exercises from the textbook.

39/52

How do you do well in this class

  • Come to consultation if you have questions.

  • Practice the materials taught in each lectorial by doing more exercises from the textbook.

  • Be curious, be positive, be engaged.

39/52

Remember:

All information is on the website 😄

40/52

Remember:

All information is on the website 😄

Post questions on ED instead of questions over email

40/52

Diversity & Inclusiveness:

  • Intent: Students from all diverse backgrounds and perspectives be well-served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit.

  • It is my intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture. Let me know ways to improve the effectiveness of the course for you personally, or for other students or student groups.

41/52

Diversity & Inclusiveness:

  • If you have a name and/or set of pronouns that differ from those that appear in your official Monash records, please let me know!

  • If you feel like your performance in the class is being impacted by your experiences outside of class, please don't hesitate to come and talk with me. I want to be a resource for you. If you prefer to speak with someone outside of the course, talk to Di Cook, or look at the services available to you in the Monash student support services.

42/52

Diversity & Inclusiveness:

  • I (like many people) am still in the process of learning about diverse perspectives and identities. If something was said in class (by anyone) that made you feel uncomfortable, please talk to me about it.
43/52

Sharing / Reusing code

  • I am well aware that a huge volume of code is available on the web to solve any number of problems.
  • Unless I explicitly tell you not to use something the course's policy is that you may make use of any online resources (e.g. StackOverflow) but you must explicitly cite where you obtained any code you directly use (or use as inspiration). This can be as simple as pasting the link in a references section.
44/52

Sharing / Reusing code

  • Any recycled code not explicitly cited will be treated as plagiarism.
  • Assignment groups may not directly share code with another group.
  • You are welcome to discuss the problems together and ask for advice, but you may not make direct use of code from another team.
45/52

Group Assignments

What we expect:

  • Conducted according to the Monash policies.

  • Each member of the group completes the entire assignment, as best they can.

  • Group members compare answers and combine it into one document for the final asubmission.
  • 25% of the assignment grade will come from peer evaluation.
  • Peer evaluation is an important learning tool.
46/52

Group Assignments: Peer evaluation

Each student will be randomly assigned another team's submission to provide feedback on three things:

  1. Could you reproduce the analysis?
  2. Did you learn something new from the other team's approach?
  3. What would you suggest to improve their work?
47/52

Group Assignments: Working in groups

  • Conflicts can arise in group work.
48/52

Group Assignments: Working in groups

  • Conflicts can arise in group work.

  • They can be both productive and destructive.

48/52

Group Assignments: Working in groups

  • Conflicts can arise in group work.

  • They can be both productive and destructive.

  • Teams need to work on managing conflicts and building on the strengths of all team members.

48/52

Group Assignments: Working in groups

  • For each assignment, you will be given the option to comment on the efforts of your other group members.
49/52

Group Assignments: Working in groups

  • For each assignment, you will be given the option to comment on the efforts of your other group members.

  • If a team member has not contributed to an assignment submission, they might score a 0.

49/52

Group Assignments: Working in groups

  • For each assignment, you will be given the option to comment on the efforts of your other group members.

  • If a team member has not contributed to an assignment submission, they might score a 0.

  • In this situation the team will need to discuss team function and dysfunction with the instructor.

49/52

Group Assignments

Assignment 1 will be announced at class on Monday Week 2

50/52

Concepts introduced:

  • How to edit R code
  • Creating Data Visualisations
  • R
  • RStudio
  • Console
  • Using R as a calculator
  • Environment
  • Loading and viewing a data frame
  • Accessing a variable in a data frame
  • R functions
51/52

Lab Exercise

Check your knowledge and comprehension by taking your first lab quiz on Ed

Go to the ED page, and complete the lab quiz before next Monday, 16th March.

52/52



That's it!

Lecturer: Nicholas Tierney

Department of Econometrics and Business Statistics
ETC1010.Clayton-x@monash.edu

9th Mar 2020


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Creative Commons License

52/52

Cheatsheets

RStudio started a trend by writing really concise summaries, and others have added to the collection. You can find the RStudio collection in the "Help" menu on the IDE, and at https://www.rstudio.com/resources/cheatsheets/.

Start with the RStudio IDE cheatsheet.

Using the IDE

  • Source code editor: This is where you edit your script! Experiment with writing your data analysis pipeline, ... You can have multiple files open, there are useful shortcuts (eg "Run", "Knit"), code is highlighted usefully and there is tab-completion when you start typing. Also, if you want to look at any of the data you have read or created, it can be viewed in a tab on this pane.
  • Console window: This is where the code is executed. There is a prompt ">" which says R is waiting for your command. You don't actually need to type anything in this pane, you can run code directly from the Editor pane. The functions will show up in this window, and the results will be here. (Although, if you use an R notebook the result will show up in that notebook.)
  • Help: ?function will show the help pages for the function here.
  • Plot: Plots you ask R to make will show up here, and you can zoom to make them bigger in a separate window if you want.
  • Environment: Data that you have read into R, or data or functions that you create will be listed here. When you quit R, you will be asked if you want to save the environment. I suggest that you always answer NO. Because we are scripting everything it is always easy to re-create the objects in the environment. The only time it can be useful is if you have created something that took a while, but a better option is to save this object to a file, and read it in at the start of the next R session.


ETC1010: Introduction to Data Analysis

Week 1


Week of introduction

Lecturer: Nicholas Tierney

Department of Econometrics and Business Statistics

ETC1010.Clayton-x@monash.edu

9th Mar 2020


1/52
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow