This course teaches you to turn messy business data into defensible answers with R. You will learn to wrangle and visualize data, evaluate claims about causality, fit and interpret linear regressions, and quantify how much you should trust an estimate through sampling distributions, the bootstrap, confidence intervals, and hypothesis tests. We practice these methods with real datasets and simulated examples, and the semester culminates in a team project published as a portfolio-ready article with a public GitHub repository.
Agentic AI now writes much of the code. The skill that matters has shifted from writing code to directing and verifying it: without the underlying building blocks, you cannot tell when an analysis is wrong, and you end up steered by the tool rather than steering it. The course therefore builds programming and visualization foundations first, then turns to statistical inference, and every in-class exercise ends with a verification step.
This is the graduate course (ISS5066, Thursdays). The emphasis goes beyond applying the methods to evaluating and producing rigorous empirical research: the final project must use self-collected or non-trivial data, address identification and threats to inference, and reach greater analytical depth. It also builds the foundation for Experiments and Causal Inference (ISS5096). Students may not receive credit for both ISS4066 and ISS5066.
Completing the assigned reading before class is part of your responsibility every week, as set out in the syllabus. Follow the Required reading listed for each week in the Schedule tab, work through the examples, and run any accompanying R code. Class discussions and exercises build on this preparation, so come ready to use the ideas and discuss questions that arise from the reading.
We will use class time to work through analysis code, interpret results, compare approaches, and adapt examples to new questions. We will explain and revisit R fundamentals, including objects, operators, data structures, and functions, as we use them in visualization, data wrangling, and later topics. Questions about these foundations are welcome throughout the course.
Required readings are freely accessible online. Further reading is optional and provides additional explanation and depth; purchasing those books is not required. The R Basics companion handout provides fuller explanations and worked examples to consult as needed throughout the semester.
No prerequisites. The course is designed for students from any background who want a working foundation in data analysis for business.
Jaewon Yoo · Assistant Professor
Institute of Service Science, College of Technology Management
National Tsing Hua University
Mave Kimara Alexander
M.S. Student, Taipei School of Economics and Political Science (TSE) · NTHU IMBA alumna
alexander.mave [at] gmail.com
| Purpose | Platform |
|---|---|
| Syllabus, weekly schedule, policies, lecture slides, R scripts | This website |
| Announcements, in-class exercise and assignment submissions, grades, discussion board | eeclass |
| Office hours and project consultations | Google Calendar booking |
| Team project repository and code; see the Git and GitHub setup guide | GitHub |
| Private matters |
Lecture slides and R scripts are posted on this page under Materials as the course progresses. In-class exercises, assignments, grades, and announcements are on eeclass (NTHU's learning platform; enrolled students are added automatically). For private matters, email the instructor.
This page is updated during the semester. Recently changed items are listed below.
pbadata (version 0.2.0), which installs from this site rather than from CRAN. To install or update it, restart R (Session > Restart R) and run install.packages("pbadata", type = "source", repos = "https://j1yoo.github.io/assets/courses/pba"). Then library(pbadata) loads it, and packageVersion("pbadata") should show 0.2.0. The datasets are ai_tutoring, linepay, and news; type a dataset name such as ai_tutoring to see the data.Transforming messy data into tidy formats and communicating insights with ggplot2.
Evaluating causal claims and using simple and multiple linear regression.
Sampling distributions, the bootstrap, confidence intervals, and hypothesis tests.
R, RStudio, Quarto, git, and GitHub, plus directing and verifying AI-assisted analysis.
Assignments are due before class starts (14:20); Sunday deadlines are 23:59. Week 5 (Oct 8) has no class meeting; Causality II is in Week 6 (Oct 15). Teams meet the instructor by appointment, ideally by Wednesday, Oct 21. The schedule is tentative; eeclass announcements take precedence. Use the resource links under each week to open slides and handouts or download R scripts.
Before every class: complete that week’s Required reading and work through the examples, including any R code. This preparation is expected in the syllabus and supports your participation in class discussions and exercises. Further reading is optional. All required readings are freely accessible online.
Week 1 (Sep 10): Course Introduction and R Programming Basics Slides R basics (reference) R basics (handout)
R Basics reference materials: The reference slides and companion handout under Materials cover operators, data types, data structures, and writing functions, with explanations and examples to consult throughout the semester.
Week 2 (Sep 17): Data Visualization Slides R script
Week 3 (Sep 24): Data Wrangling with dplyr Slides R script
Week 4 (Oct 1): Causality Slides R script
Week 5 (Oct 8): No class meeting (Causality II moved to Oct 15)
Week 6 (Oct 15): Causality II: DAGs and Covariate Selection Slides R script
Week 7 (Oct 22): Relationships, Importing, and Tidying Data Slides R script
Week 8 (Oct 29): Prediction and Iteration
Week 9 (Nov 5): Regression and Model Fit
Week 10 (Nov 12): More on Regression
Week 11 (Nov 19): Sampling and Sampling Distributions
Week 12 (Nov 26): The Bootstrap and Confidence Intervals
Week 13 (Dec 3): Hypothesis Testing
Week 14 (Dec 10): Models of Uncertainty
Week 15 (Dec 17): Inference for Regression
Week 16 (Dec 24): Team Presentations and Q&A
Completing the assigned reading before each class is part of your responsibility throughout the semester, as set out in the syllabus. The weekly schedule now distinguishes Required reading (before class) from Further reading (optional). Work through the required sections and their examples, running any accompanying R code, and arrive ready to participate in discussions and exercises. Bring questions from your preparation so we can work through them in class.
We learn R through practical data-analysis questions. Class time will focus on working through code, interpreting results, and making changes to answer new questions. Programming foundations such as objects, operators, data structures, and functions will be explained and revisited as we use them in visualization, data wrangling, and later analyses. Questions about these foundations are welcome throughout the course.
These books provide additional explanations and examples. Purchasing them is not required.
| Component | Weight |
|---|---|
| Final project (report, presentation Q&A, milestones, peer evaluation) | 50% |
| Assignments (5) | 15% |
| Problem sets (3) | 10% |
| In-class exercises (best 5 of 6) | 5% |
| Attitude / participation | 10% |
| Attendance | 10% |
Within the final project: written report, presentation with Q&A, four milestones, and peer evaluation. A rubric is provided on eeclass.
A team research project held to a research-grade standard: self-collected or non-trivial data, an explicit identification argument, and analysis carried to publishable-style depth. The deliverable is a portfolio-ready article or webpage with a linked GitHub repository containing all code. Team meetings by appointment (ideally by Wednesday, Oct 21) give feedback on your research question and data before the proposal is due.
To give you a clear sense of expectations and grading criteria, here is a sample final report with the instructor’s evaluation from last year’s graduate section (names and student IDs removed). It is the kind of project this section asks for: a real identification strategy, not only a regression.
| Milestone | Due |
|---|---|
| GitHub repository | Sun Oct 11 |
| Data and proposal | Sun Oct 25 |
| First visualization | Sun Nov 15 |
| First analysis | Sun Dec 6 |
| Final report | Sun Dec 20 |
| Presentation and Q&A | Thu Dec 24 |
Your team project lives in a public GitHub repository. Before Milestone 1 (due Sun Oct 11), each team member needs a GitHub account, Git on their laptop, and RStudio connected to GitHub. The step-by-step guide takes about 30 minutes.
Milestone 2 (data and proposal) is due Sun Oct 25. The guide to finding data lists sources of real data by topic, a checklist for judging a dataset, and what the proposal covers.
Five assignments, each a short Quarto report on a provided dataset applying the method just covered (data wrangling and visualization, causality, regression and prediction, the bootstrap, hypothesis testing). Late submissions lose 1 percentage point of the assignment’s weight per day.
Three problem sets drawn from Introduction to Modern Statistics (Ch. 7; Ch. 8; Ch. 11–12), submitted as a single PDF.
Six short exercises done during class without generative AI and uploaded to eeclass the same day; your best five count (1% each). Each ends with a verification step: check what your code actually did before you trust the output.
Students are permitted to use AI tools, including large language models and agentic coding assistants (e.g., ChatGPT, Claude, Gemini), for assignments and the final project. You are fully responsible for everything you submit. The final project is designed so that a high-quality result requires genuine understanding; AI accelerates competent work but does not substitute for it. However, it is imperative that the final submission predominantly reflects the student’s understanding and personal input. Students who use AI tools must adhere to the following guidelines:
Attempting to cheat the system by relying heavily on AI-generated content without substantial personal input is ultimately the student’s loss, as it undermines the learning process.
In line with NTHU’s Implementation Guidelines on AI Ethics Statements and Learning Assessment (Sep 2026): if AI use is identified but not disclosed as required, the work may be re-evaluated or assigned no credit. In-class exercises are completed without generative AI. When the instructor uses AI to produce teaching materials or learning resources, this is indicated in the materials. By enrolling in this course, students are considered to have agreed to this statement.
All submitted work must be your own. A first violation results in a zero for that assignment; subsequent violations result in a failing grade. Cheating, plagiarism, self-plagiarism, and misrepresentation of authorship all count. Submissions may be checked with Turnitin.
Attend every class with your laptop. Attendance is recorded from Week 2 and counts for 10%; each missed class costs about 1% of the final grade. Notify the instructor or a TA before class if you must miss it. Participation is assessed through in-class discussion and the eeclass discussion board.