- Instructor: Gaston Sanchez
- Lecture: MWF 3:00-4:00pm VLSB 2050
- Tentative calendar (weekly topics), subject to change depending on the pace of the course.
- Notes (:file_folder:) involves material discussed in class.
- Reading (:book:) involves material that expands lecture topics, as well as coding examples that you should practice on your own.
- Misc (:newspaper:) is supporting material that is worth taking a look at.
- π Dates: Jan 22-25
- π Topics: Welcome to Stat 133. We begin with the usual review of the course policies/logistics, expectations, topics in a nutshell, etc. Then, we move on with an unconventional introduction to computing with data using my favorite analogy "Data Analysis is a lot like Cooking".
- π Notes:
- π Reading:
- π¬ Lab: No lab
- π° Misc:
- π To Do:
- π Dates: Jan 28-Feb 01
- π Topics: First things first. At the conceptual level we'll discuss how data analysis projects usually start with a Research Question. Also, we'll describe how Data can actually be seen from a triangular perspective (i.e. my "3 Views of Data"). At the practical level, you'll begin learning basic survival skills for R, followed by an overall review of the RStudio workspace. Then we move on to discuss basic data types and their implementation in R around vectors and other data structures.
- π Notes:
- The Starting Point: Research Questions
- The Three Views of Data
- Be the Boss of your Data (talk and chalk)
- Data Types and Vectors
- π Reading:
- First contact with R (tutorial)
- Intro to Rmd files (tutorial)
- π¬ Lab:
- Getting started with R and RStudio (due Feb-01, open till Feb-17)
- π° Misc:
- Introduction to R Markdown (by RStudio)
- π‘ Cheat sheet:
- π― WARM-UP 1:
- Markdown practice (due Feb-03, open till Feb-17)
- π Dates: Feb 04-08
- π Topics: In this week you'll keep learning more about R data structures like arrays and lists. More specifically, we'll focus on fundamental concepts like atomicity, vectorization, recycling, and subsetting. And given that we are studying vectors and its cousins, we'll briefly review the traditional base graphics approach that is based on R vectors.
- π Notes:
- Arrays and Factors and Lists
- Data Frames part 1 and part 2
- Data Tables (introduction) and Spreadsheets
- π Reading:
- Intro to vectors (tutorial)
- Intro to Data Technologies (preface, chapter 1, and chapter 5) (by Paul Murrell)
- π¬ Lab:
- Getting started with vectors and factors (due Feb-08, open till Feb-17)
- π° Misc:
- chapter 20: Vectors (R for Data Science by Grolemund and Wickham)
- π‘ Cheat sheet:
- π― WARM-UP 2:
- Basic Data Objects (due Feb-10, open till Feb-17)
- π Dates: Feb 11-15
- π Topics: Because data tables are so ubiquitous, you will have the chance to practice some data manipulation operations on data frames. Also, we'll discuss some considerations when importing tables (in R). Likewise, we begin a comprehensive discussion on concepts for data visualization.
- π Notes:
- Importing tables part 1 and part 2
- Datavis: Classic Examples and Introduction
- Datavis: Encoding Data in Graphs
- Datavis: The Visual System
- π Reading:
- Organizing data in spreadsheets (by Karl Broman)
- "dplyr" tutorial slides (by Hadley Wickham)
- π¬ Lab:
- Data Frame Basics (due Feb-17)
- π° Misc:
- tibbles vignette
- Introduction to dplyr (by Hadley Wickham)
- π‘ Cheat sheet:
- π― WARM-UP 3:
- Basic Data Manipulation (due Feb-17)
- π Dates: Feb 18-22 (Holiday Feb-18)
- π Topics: We continue reviewing more concepts of data visualization. At the practical level, it's important that you learn how to manipulate them via R data frames in a more modern and syntactic way. How? By following the data plying framework provided by the package
"dplyr"
. - π Notes:
- π Reading:
- "ggplot2" lecture (by Karthik Ram)
- π¬ Lab:
- Data Wrangling and Graphics (due Feb-22)
- π° Misc:
- Tidy Data (by Hadley Wickham)
- π‘ Cheat sheet:
- π― WARM-UP 4:
- More Data Wrangling (due Feb-27)
- π Dates: Feb 25-Mar 01
- π Topics: Data Analysis Projects (DAPs) are made of files and directories. Therefore, we need to review some fundamental concepts such as the file-system, the command line interface, and some basic shell commands.
- π Notes:
- π Reading:
- Linux Tutorial lessons 1-5 (by Ryan Chadwick)
- The Unix Shell lessons 1-3 (by Software Carpentry)
- π¬ Lab:
- Command Line Basics (due Mar-01)
- π° Misc:
- Linux Command Line tutorial (by Guru99)
- π‘ Cheat sheet:
- π― WORK-OUT 1:
- GSW Shot Charts (due Mar-13)
- π Dates: Mar 04-08
- π Topics: We continue talking about filestructure topics, and we introduce basic notions of version control systems (VCS) using Git, and the companion hosting platform GitHub. On the Data side, we begin our discussion about Tables: the most common form in which data is stored, handled, and manipulated. Consequently, we need to talk about the typical storage formats of tabular data, and the relationship between tables and R data frames.
- π Notes:
- π Reading:
- Read sections 4 to 9 in Part I Installation (Happy Git and GitHub for the useR by Jenny Bryan et al.)
- π¬ Lab:
- Git Basics (due Mar-08)
- π° Misc:
- Data Import (R for Data Science by Grolemund and Wickham)
- π‘ Cheat sheet:
- π MIDTERM 1: Friday Mar-08
- π Dates: Mar 11-15
- π Topics: You donβt need to be an expert programmer to be a data scientist, but learning more about programming allows you to automate common tasks, and solve new problems with greater ease. We'll discuss how to write basic functions, the notion of R expressions, and an introduction to conditionals.
- π Notes:
- Creating functions (tutorial)
- Introduction to functions (tutorial)
- Introduction to R expressions and conditionals (tutorial)
- π¬ Lab:
- Getting started with functions and conditionals (due Mar-15)
- π° Misc:
- chapter 19: Functions (R for Data Science by Grolemund and Wickham)
- π― WARM-UP 5:
- Functions (due Mar-20)
- π Dates: Mar 18-22
- π Topics: In addition to writing functions to reduce duplication in your code, you also need to learn about iteration, which helps you when you need to do the same operation several times. Namely, we review control flow structures such as
for
loops,while
loops,repeat
loops, and theapply
family functions. - π Notes:
- Introduction to loops (tutorial)
- More about functions (tutorial)
- Functions (Advanced R by H. Wickham)
- Environments (Advanced R by H. Wickham)
- π¬ Lab:
- Getting started with loops (due Mar-22)
- π° Misc:
- chapter 21: Iteration (R for Data Science by Grolemund and Wickham)
- π― WARM-UP 6:
- Loops and simulations (due Apr-03)
- π Dates: Mar 25-29
- π Topics: Recharge your batteries
- π Dates: Apr 01-05
- π Topics: We begin with an introduction to the package
"testthat"
which provides a nice framework for testing functions. Jointly, we will discuss Shiny apps which provide an interesting companion to R, making it quick and simple to deliver interactive analysis and graphics on any web browser. In lab, you'll learn how to perform basic manipulation of strings. - π Notes:
- Intro to testing functions (tutorial)
- shiny tutorial (by Grolemund)
- π Reading:
- testthat: Get started with testing (by Wickham)
- Character strings in R (r4strings by Sanchez)
- Basic string manipulations (r4strings by Sanchez)
- π¬ Lab:
- Getting started with strings (due Apr-05)
- π° Misc:
- chapter 14: Strings (R for Data Science by Grolemund and Wickham)
- π‘ Cheat sheet:
- π― WORK-OUT 2:
- Shiny App (due Apr-17)
- π Dates: Apr 08-12
- π Topics: Random numbers have many applications in science and computer programming, especially when there are significant uncertainties in a phenomenon of interest. In this part of the course we'll look at some basic problems involving working with random numbers and creating simulations. Additionally, we continue the discussion about character strings with a first contact to Regular Expressions.
- π Notes:
- Introduction to random numbers
- Coin toss shiny app
- Regexpal tester tool.
- π Reading:
- π¬ Lab:
- Random numbers and simulations (due Apr-12)
- π° Misc:
- π‘ Cheat sheet:
- π― WORK-OUT 2:
- Keep working on your workout02 assignment.
- π Dates: Apr 15-19
- π Topics: At its heart, computing involves working with numbers. However, a considerable amount of information and data is in the form of text. To unleash the power of strings manipulation, we need to take things to the next level and learn about Regular Expressions. Namely, Regular expressions are a tool that allows us to describe a certain amount of text called "patterns". We'll describe the basic concepts of regex and the common operations to match text patterns.
- π Notes:
- π Reading:
- Handling Strings in R (by Sanchez)
- π¬ Lab:
- Regular Expressions (due Apr-19)
- π‘ Cheat sheet:
- π― WORK-OUT 3:
- R Package (due May-03)
- π Dates: Apr 22-26
- π Topics: Packages are the fundamental units of reproducible R code. They include reusable functions, the documentation that describes how to use them, and sample data. In this part we'll start describing how to turn your code into an R package.
- π Notes:
- Programming S3 Classes
- Methods (by Sanchez)
- π Reading:
- Package Structure (R packages by Wickham)
- See package components: http://r-pkgs.had.co.nz/ (R packages by Wickham)
- π¬ Lab:
- HTML and Web scraping (due Apr-26)
- π‘ Cheat sheet:
- π― WORK-OUT 3:
- π Dates: Apr 29-May 03
- π Topics: Creating an R package can seem overwhelming at first. So we'll keep working on the creation of a relatively basic package. This will give you the opportunity to apply most of the concepts seen in the course.
- π Notes:
- Pack YouR Code (by Sanchez)
- π Reading:
- See package components: http://r-pkgs.had.co.nz (R packages by Wickham)
- π¬ Lab:
- Take advantage of lab discussion to work on the workout03 assignment
- π‘ Cheat sheet:
- π― WORK-OUT 3:
- Keep working on your workout03 assignment. (due May-03)
- π Dates: May 06-10
- π Topics: Prepare for final examination
- π Notes:
- No lecture. Instructor will hold OH (in 309 Evans)
- π FINAL: May-15th, 7-10 pm, in Wheeler 150
- More details about the final will be posted on bCourses