Statistics and Statistical Programming (Winter 2017)

From CommunityData
Jump to: navigation, search
Advanced Stastical Methods in Communication: Statistics and Statistical Programming
COM521 - Department of Communication, University of Washington
Instructor: Benjamin Mako Hill (University of Washington)
Course Websites:
Course Catalog Description:[1]
Discusses complexities in quantitative research on communication. Focus on multivariate data design and analysis, including multiple and logistic regression, ANOVA and MANOVA, and factor analysis.

Overview and Learning Objectives[edit]

This course is the second course in a two-quarter quantitative methods sequence in the University of Washington's Department of Communication MA/PhD program. The first course (COM 520) is an introduction to quantitative social science in communication and focuses primarily on what you might think of the "soft skills" associated with doing social science: the conceptualization, operationalization of quantifiable variables, and the design of quantitative analyses. That course introduces some univariate and bivariate statistics at the end and briefly touches on linear regression. That said, all of the statistical work in that course this is done using the tools that students already know (e.g. with spreadsheet software like LibreOffice, Google Sheets or Microsoft Excel). This class assumes that students have taken COM 520 and that they understand what is involved in describing and testing social scientific theories with data and that basic terminology of quantitative social science is going to be familiar.

This course (COM 521) is focused on technical skill-building and aims to be a get-your-hands-dirty introduction to statistics and statistical programming. The point of the course is to give you the mathematical and technical tools to carry out your own statistical analyses. Through the process, we're going to try to help you become more sophisticated consumers of quantitative research.

Although we'll be doing some math in the course, this is not a math class. I am going to assume you're familiar with basic algebra and arithmetic. This course will not require knowledge of calculus. In general we're not going to cover the math behind the techniques we'll be covering. Unlike many statistics classes, I'm definitely not going to be doing proofs on the board. Instead, the class is unapologetically focused on the application of statistic methodology. In that sense, the goal of the is course is to create informed consumers of quantitative methodology, not producers of new types of methods. My goal is to train producers of social scientific research that use statistics as a means toward an end.

This course does not seek to be the last stats class you take. I started grad school having not taken a math class since high school (basically) and took 12 different statistics and math courses over the course of my time in graduate school. Honestly, I wish I had done more. What this class seeks to do is give you a solid basis on which to build statistical knowledge. Anyone who finishes this class should feel comfortable moving on to take advance classes in CSSS (classes above 510 on this list) and to start building toward a Statistics Concentration in the Department of Communication MA/PhD Program or a similar CSSS certificate/track in another department.

We'll cover theses basic statistical techniques: t-tests; chi-squared tests; ANOVA, MANOVA, and related methods; linear regression; and end with logistic regression.

I will consider the course a complete success if every student is able to do all of these things at the end of the quarter:

  • Carry out a complete analysis of a quantitative research project, start to finish.
  • Read, modify, and create short programs in the GNU R statistical programming language.
  • Feel comfortable reading papers that use basic statistical techniques.
  • Feel comfortable and prepared enrolling in future statistics courses in CSSS.

Why Statistical Programming?[edit]

This class will focus much more on statistical programming in R than most similar classes. Most similar classes in communication will focus on using an easier to use statistical package like SPSS.

We're focusing on programming instead of a package like SPSS for several reasons:

  • Student who understands a programming language won't be limited to the "canned" functions in the off-the-shelf packages.
  • Pedagogically, programming supports students in building a deeper understanding of the mathematics and assumptions behind the canned functions by both allowing them to read the code "behind" the canned functions and by allowing the students to implement the functions themselves in assignments.
  • Analyses composed of code instead of clicks supports reproducible analyses that can document every step of the process of an analysis including during data cleaning and conversion where errors are common and very difficult to detect.
  • Because programming is a skill that is in demand in our department and discipline more generally and that I strongly believe is generally useful.

Of course, there are other programming languages well suited to statistics including Stata and Python. Ultimately, I'm teaching R because a few of us that seemed mostly to teach in this sequence going forward future got together and the decision was that R made the most sense and because there was consensus among the faculty in the department who were likely to teach statistics classes in the future that this made the most sense.

Our reasoning was that:

  • R is freely available and open source
  • R is becoming the most widely used package in statistical fields and is (by our estimate) used by most academics in my cohort or later in statistics, political science, and economics already.
  • R is the system (along with Stata) that will be in other CSSS advanced stats classes we hope students will continue to take after COM521.
  • R is better general purpose programming language than software like Stata which means that R programming skills will let students solve non-stastical problems like collecting data from the web and will make it easier to learn other programming languages.

For students with a strong psychometric focus or whose research will be limited to linear and logistic regression or ANOVA on small pre-collected datasets and similar, SPSS will likely be fine. R has a higher barrier to entry than SPSS but it's ceiling is much higher.

Note About This Syllabus[edit]

You should expect this syllabus to be a dynamic document and you will notice that there are a few places marked "To Be Determined." Although the core expectations for this class are fixed, the details of readings and assignments will shift. As a result, there are three important things to keep in mind:

  1. Although details on this syllabus will change, I will not change readings or assignments less than one week before they are due. If I don't fill in a "To Be Determined" one week before it's due, it is dropped. If you plan to read more than one week ahead, contact me first.
  2. Closely monitor your email or the announcements section on the course website on Canvas. When I make changes, these changes will be recorded in the history of this page so that you can track what has changed and I will summarize these changes in an announcement on Canvas that will be emailed to everybody in the class.
  3. I will ask the class for voluntary anonymous feedback frequently — especially toward the beginning of the quarter. Please let me know what is working and what can be improved. In the past, I have made many adjustments based on this feedback.

Books and Resources[edit]

Although I've never taught with a textbook in a proper sense, statistics is very well covered terrain and, as a result, there is an enormous amount of excellent curricular material out there I think we would be wise to build from. As a result, this class is going to use two textbooks:

  • Diez, David M., Christopher D. Barr, and Mine Çetinkaya-Rundel. 2015. OpenIntro Statistics. 3rd edition. OpenIntro, Inc. (PDF; Table-friendly PDF; Other)
  • Verzani, John. 2014. Using R for Introductory Statistics, Second Edition. 2 edition. Boca Raton: Chapman and Hall/CRC. (Various Sources; Amazon)

Diez, Barr, and Çetinkaya-Rundel's is a free, and freely-licensed, online statistics textbook. Over the last seven years, the book has also developed a large online community of students and teachers who have shared other resources. The book, lectures notes, and more are all freely licensed which has allowed the text to be adapted in a series of different fields. The book is excellent and it has been adopted extraordinarily widely. You can buy versions from Amazon in either full color hardcover ($19.99) or in black and white paperback ($7.60). I haven't purchased a paper copy so I can't speak to the quality of either.

Verzani's book is an introduction to the R programming language. It's designed to be used as a companion to a basic introductory statistics textbook (like OpenIntro). It's a poor stand-alone text but it will provide good resources for the material we're covering in the course and it should act as a good reference going forward. The book is available online for about $50.

Although it's not required for the course, I want to point you to these two books. When I was learning R, these both were very useful references:

There are also two non-textbook resources I wanted to point you to that are invaluable:

  • Baggott's R Reference Card v2 — When I was learning R, I literally took a similar reference card with me everywhere and looked at it dozens of times a day.
  • StackOverflow R Tag — Somebody already had your question about how to do X in R. They asked it, and several people have answered it, on StackOverflow. Learning to read this effectively will take time but as build up some basic familiarity with R and with StackOverflow, it will get easier. I promise.
  • Rseek — Rseek is a modified version of Google that just search R websites online. Sometimes, R is hard to search before because R is a common letter. This has become much easier over time as R has become more popular but it might still be the case sometimes and Rseek is a good solution.


The assignments in this class are designed to give you an opportunity to try your hand at using the conceptual material taught in the class. There will be no exams or quizzes. Unless otherwise noted, all assignments are due at the end of the day (i.e., 11:59pm on the day they are due).

Weekly Problem Sets and Participation[edit]

Each week I will post a problem set with a list of questions. Some of these will be drawn from the textbooks and some will be ones I design or write. The questions will cover:

  • Statistics questions — These will be questions about statistics from the OpenIntro sections as well as any empirical papers that are listed as required for that that day.
  • Programming challenges — These will be R programming problems that cover material from the Verzani text that was listed as required from the previous session.

I won't be grading these assignment and I won't be asking you to turn in anything for the statistics questions portion of the weekly assignment. That said, we will spend a good chunk of class each day going through the answers to the questions due on that day.

Because randomness is an extremely important concept in statistics, I will use a small R program to randomly cold call on students in the class to walk through your "answer" to each question and explain your reasoning to the class. We'll then have an opportunity to discuss the different approaches as a group. I don't promise to ask all of these questions in class (especially if it's clear that folks get the point). Although I might ask them, I won't cold call for questions that are not on the list.

For the programming challenges, I will ask that everybody shares code for any solutions to programming problems before class so we can walk through in class. If you get completely stuck on a problem and cannot "solve" it, that's OK, but share the code that you do have so that you can walk us through what you did and what you were thinking.

Although the problem sets are not going to be graded, it is critical that you be at class and that you be able to discuss your answers to each of the questions. Your ability to do these latter two things will be reflected in your participation grade for the course which makes a full 40% of your grade. I can't emphasize enough how important it will be to be in class.

I'm not going to form groups for you but it's totally fine with me if you want to work on these problem sets in small groups.

The "Participation Rubric" section of my page on assessment gives the details on how I evaluate participation in my classes. If you sense a conflict between material in this section and material on that page, you can safely assume that the syllabus takes precedence.

Research Project[edit]

As a demonstration of your learning in this course, you will design and carry out a quantitative research project, start to finish. This means you will all:

  • Design and describe a social scientific study — You should all have experience doing this at least once in COM520. The study you design should involves quantitative analysis and should be something you can complete at least a first pass at over the course of this quarter.
  • Find a dataset — Very quickly, you should identify a dataset you will use to complete this project. For most of you, I suspect you will be engaging in secondary data analysis or a re-analysis of a previously collected dataset.
  • Engage in descriptive data analysis — Use R to create descriptive statistics and visualization to describe your data.
  • Test a hypotheses about relationships between two or more variables
  • Report your findings — I'll expect you all to report your findings in both a short paper and a short presentation.
  • Ensure replicability — I'll expect you all to provide code and data for your analysis in a way that makes your work replicable by other researchers.

Although it's not required, I strongly urge each of you to take this opportunity to produce a document that will further your academic career outside of the class. There are many ways that this can happen but the obvious ones are that the paper is something you can submit for publication to a journal or conference, that provides primarily analysis for or acts as a pilot analysis that you can report in a grant proposal or thesis proposal, and/or that serves as part of your masters thesis or dissertation.

Project and Dataset Identification[edit]

Due Date
January 17
Maximum paper length
500 words (~1-2 page)
Turn in in Canvas

Early on, I want you to identify and describe your final project. Your proposal should be short and can be either paragraphs or bullets. It should include the following things:

  • A one paragraph abstract of the proposed study and research question, theory, community, and/or groups you plan to study.
  • A short description of how the project will fit into your career trajectory.
  • An identification of the dataset you will use and a description of the columns or type of data it will include. If you do not currently have access to these data, explain when you will have access to the data.

Final Project Ouline[edit]

Outline Due Date
February 21
Maximum outline length
5 pages
Turn in in Canvas

The outline should should have the following sections: (a) Rationale, (b) Objectives; (b.1) General Objectives; (b.2) Specific Objectives; (c) Null hypotheses; (d) Conceptual Diagram; (e) Measures; (e) Dummy Tables.

An excellent example from my partner Mika Matsuzakis is online in Canavs. Your diagram will likely be much less complicated than Matsuzaki's. Also, please don't be distracted by the fact that Mika does public health. It's the basic form I want you all to emulate, not the content. You can read the published paper to compare.

The example includes everything except a "Measures" section. Your Measures section only needs to include two column table where column 1 is the name of each variable in your analysis and 2 is the specific operationalization of this measures and a description of how you will create it.

Final Project[edit]

Paper Due Date
March 19
Maximum length
6000 words (~20 pages)
Presentation Date
March 14
All Deliverables
Turn in in Canvas

I'm expecting you to produce a draft of a short research paper that, after some additional work, you could consider submitting for publication. I'm also very open to the project being a part of a dissertation. I don't expect the papers to be publication ready but I do expect them to have well considered drafts of all the necessary pieces in terms of quantitative methodology.

Because the emphasis in this class is on statistics and methodology and because I'm not an expert in each of your areas or fields, I'm happy to assume that your paper, proposal, or thesis chapter has already established the relevance and significance of your study and has a comprehensive literature review, well-grounded conceptual approach, and compelling reason why this research is so important. Instead of providing all of these details, feel free to start with a brief summary of the purpose and importance of this research, and an introduction of your research questions or hypotheses. If your provide more detail, that's fine, but I won't give you detailed feedback on these parts.

I have a strong preference for you to write this paper individually but I'm open to the idea that you may want to work with others in the class.

In terms of content:


I have put together a very detailed page that describes grading rubric I will be using in this course. Please read it carefully I will assign grades for each of the following items on the UW 4.0 grade scale according to the weights below:

  • Participation: 40%
  • Proposal identification: 5%
  • Final paper outline: 5%
  • Final Presentation: 10%
  • Final Paper: 40%

Finding a Dataset[edit]

In order to complete your project, you will each need a dataset. If you are at the stage of your career where you already have a dataset, great! If not, there are many datasets to draw from. Here are some ideas:

  • Ask your advisor for a dataset they have collected and used in previous papers. Are there other variables you could use?
  • If there's an author of a study you loved, you can send a polite email asking if they are able or willing to share an archival or replication version of the dataset used in their paper. Be very polite and make it clear that this is starting as a class project but that might turn into a paper for publication. Make your timeline clear. In communication, replication datasets are still very rare, so be prepared for a negative answer.
  • Do some Google Scholar and normal Google searching for datasets in your research area. You'd be surprised at what's available.
  • Take a look at datasets available in the Harvard Dataverse (the largest collection of social science research data) or one of the other members of the Dataverse network.
  • Look at the collection of social scientific datasets at ICPSR (UW is a member). There are an enormous number of very rich datasets.
  • Use the ISA Explorer to find datasets. Keep in mind the large majority of datasets it will search are drawn from the natural sciences.
  • Set up a meeting with Jennifer Muilenburg — Data Curriculum and Communications Librarian who runs research data services at the UW libraries. Her email is: I've have talked to her about this course and she is excited about meeting with you to help.
  • has published a GitHub repository and an R package with pre-processed and cleaned versions of many of the datasets they use for articles published on their website.

In general, you're responsible for make sure that you're on the right side of the human subject rules and that work is ethical. Class projects generally do not need IRB approval but I hope that each of your projects will turn into something more. If your study involves human subjects research, that work will need IRB oversight of some sort. In general, you can't do a class project with IRB approval and then retroactively get it later. Secondary analysis of anonymized data is generally not considered human subjects research but I strongly suggest that you get a determination from UW's Human Subject Division before you start. For work that is not considered human subjects research, this can often happen in a few hours or days. If you need a faculty sponsor, that should ideally be your advisor. If that doesn't make sense for any of you, I'm happy to talk about serving as the faculty supervisor for the work.

Structure of Class[edit]

I expect everybody to come to class, every week, with their laptop and a power cord, being ready to answer any question on the problem set and having uploaded and shared code to the code related questions. The class is listed as nearly 4 hours long and, with the exception of a few short breaks, I intend to use the entire period. Be in class on time and be plugged in and ready to go.

When it comes to the statistics part of this material, this will be a primarily "flipped" classroom. What this means is that we'll be relying on the textbook and other resources to introduce the material and we'll be using the class to discuss it and answer questions that come up.

Although structure of class will vary, it will generally include the following parts.

  1. Quick updates about assignments, projects, and a meta-discussion about the class.
  2. Discussion of programming challenges due that day.
  3. [Possibly/Sometimes] Short lecture and/or Q&A about new material in Diez, Barr, and Çetinkaya-Rundel
  4. Discussion of statistics questions related to new material in Diez, Barr, and Çetinkaya-Rundel and any exemplary empirical paper we have read to discuss.
  5. Interactive lecture introducing new statistical programming concepts.
  6. [Possibly/Sometimes] Time to begin work on next week's programming assignments.


When reading the schedule below, the following key might help resolve ambiguity: §n denotes chapter n; §n.x denotes section x of chapter; §n.x-y denotes sections x through y of chapter n.

Week 1: Tuesday January 3: Introduction, Setup, and Data and Variables[edit]

Hopefully, the material in OpenIntro feels very familiar from COM520. The programming material will be new but I want you to read it before you come to class so we can work through the examples a group.

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §1 (Introduction to data)
  • Verzani: §1 (Getting Started), §2 (Univariate data) [Available with UWNetID]
  • Kramer, Adam D. I., Jamie E. Guillory, and Jeffrey T. Hancock. 2014. “Experimental Evidence of Massive-Scale Emotional Contagion through Social Networks.” Proceedings of the National Academy of Sciences 111(24):8788–90. [Available through UW libraries]

Optional Readings:

  • Verzani: §A (Programming)

Assignment (Complete Before Class):



Week 2: Tuesday January 10: Probability and Visualization[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §2 (Probability)
  • Verzani: §3.1-2 (Bivariate data), §4 (Multivariate data), §5 (Multivariate graphics) [Available with UW NetID]
  • Buechley, Leah and Benjamin Mako Hill. 2010. “LilyPad in the Wild: How Hardware’s Long Tail Is Supporting New Engineering and Design Communities.” Pp. 199–207 in Proceedings of the 8th ACM Conference on Designing Interactive Systems. Aarhus, Denmark: ACM. [PDF available on my personal website]

Assignment (Complete Before Class):



Week 3: Tuesday January 17: Distributions[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §3.1-3.2, §3.4: You should read the rest of the chapter (§3.3 and §3.5). I won't assign problem set questions about it but it's still important to be familiar with.
  • Verzani: §6 (Populations)

Assignment (Complete Before Class):



Week 4: Tuesday January 24: Statistical significance and hypothesis testing[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §4 (Foundations for inference)
  • Verzani: §7 (Statistical inference), §8 (Confidence intervals)

Assignment (Complete Before Class):



Week 5: Tuesday January 31: Continuous Numeric Data & ANOVA[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §5 (Inference for numerical data)
  • Verzani: §9 (significance tests), §12 (Analysis of variance)
  • Gelman, Andrew and Hal Stern. 2006. “The Difference Between ‘Significant’ and ‘Not Significant’ Is Not Itself Statistically Significant.” The American Statistician 60(4):328–31. [Available through UW Libraries]
  • Sweetser, K. D., & Metzgar, E. (2007). Communicating during crisis: Use of blogs as a relationship management tool. Public Relations Review, 33(3), 340–342. [Available through UW Libraries]
  • Buechley, Leah and Benjamin Mako Hill. 2010. “LilyPad in the Wild: How Hardware’s Long Tail Is Supporting New Engineering and Design Communities.” Pp. 199–207 in Proceedings of the 8th ACM Conference on Designing Interactive Systems. Aarhus, Denmark: ACM. [PDF available on my personal website]

Assignment (Complete Before Class):



Week 6: Tuesday February 7: Categorical data[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §6 (Inference for categorical data)
  • Verzani: §3.4 (Bivariate categorical data); §10.1-10.2 (Goodness of fit)
  • Gelman, Andrew and Eric Loken. 2014. “The Statistical Crisis in Science Data-Dependent Analysis—a ‘garden of Forking Paths’—explains Why Many Statistically Significant Comparisons Don’t Hold Up.” American Scientist 102(6):460. [Available through UW Libraries] (This is a reworked version of this unpublished manuscript which provides a more detailed examples.)
  • Buechley, Leah and Benjamin Mako Hill. 2010. “LilyPad in the Wild: How Hardware’s Long Tail Is Supporting New Engineering and Design Communities.” Pp. 199–207 in Proceedings of the 8th ACM Conference on Designing Interactive Systems. Aarhus, Denmark: ACM. [PDF available on my personal website]

Assignment (Complete Before Class):



Week 7: Tuesday February 14: Linear Regression[edit]

Required Readings:

  • Diez, Barr, and Çetinkaya-Rundel: §7 (Introduction to linear regression); §8.1-8.3 (Multiple regression)
  • OpenIntro eschews a mathematical instruction to correlation. Can you look over the Wikipedia article on correlation and dependence and pay attentions to the formulas. It's tedious to compute but I'd like to you to at least see what goes into it.
  • Verzani: §11.1-2 (Linear regression),
  • Lampe, Cliff, and Paul Resnick. 2004. “Slash(Dot) and Burn: Distributed Moderation in a Large Online Conversation Space.” In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '04), 543–550. New York, NY, USA: ACM. doi:10.1145/985692.985761. [Available in UW libraries]

Assignment (Complete Before Class):



Week 8: Tuesday February 21: Polynomial Terms, Interactions, and Logistic Regression[edit]

Required Readings:

  • Lesson 8: Categorical Predictors and Lesson 9: Data Transformations from the PennState Eberly College of Science STAT 501 Regression Methods Course. There are several subparts (many quite short), please read them all carefully.
  • Diez, Barr, and Çetinkaya-Rundel: §8.4 (Multiple and logistic regression)
  • Verzani: §11.3 (Linear regression), §13.1 (Logistic regression)
  • Ioannidis, John P. A. 2005. “Why Most Published Research Findings Are False.” PLoS Medicine 2(8):e124. [Open Access]
  • Lampe, Cliff, and Paul Resnick. 2004. “Slash(Dot) and Burn: Distributed Moderation in a Large Online Conversation Space.” In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '04), 543–550. New York, NY, USA: ACM. doi:10.1145/985692.985761. [Available in UW libraries]

Optional Readings:

  • Head, Megan L., Luke Holman, Rob Lanfear, Andrew T. Kahn, and Michael D. Jennions. 2015. “The Extent and Consequences of P-Hacking in Science.” PLOS Biology 13(3):e1002106. [Open Access]

Assignment (Complete Before Class):



Week 9: Tuesday February 28: Consulting Meetings[edit]

We won't meet as a group. Instead, you will each meet on-on-one with me to work through challenges and issues with your analysis.

Week 10: Tuesday March 7: Consulting Meetings[edit]

We won't meet as a group. Instead, you will each meet on-on-one with me to work through challenges and issues with your analysis.

Week 11: March 14: Final Presentations[edit]

Administrative Notes[edit]


As detailed in my page on assessment, attendance in class is expected of all participants. If you need to miss class for any reason, please contact me ahead of time (email is best). Multiple unexplained absences will likely result in a lower grade or (in extreme circumstances) a failing grade. In the event of an absence, you are responsible for obtaining class notes, handouts, assignments, etc.

Office Hours[edit]

I will not hold regular office hours. In general, I will be available to meet after class. Please contact me on email to arrange a meeting then or at another time.


In general, if you have an issue, such as needing an accommodation for a religious obligation or learning disability, speak with me before it affects your performance; afterward it is too late. Do not ask for favors; instead, offer proposals that show initiative and a willingness to work.

To request academic accommodations due to a disability please contact Disability Resources for Students, 448 Schmitz, 206-543-8924/V, 206-5430-8925/TTY. If you have a letter from Disability Resources for Students indicating that you have a disability that requires academic accommodations, please present the letter to me so we can discuss the accommodations that you might need for the class. I am happy to work with you to maximize your learning experience.

Academic Misconduct[edit]

I am committed to upholding the academic standards of the University of Washington’s Student Conduct Code. If I suspect a student violation of that code, I will first engage in a conversation with that student about my concerns.

If we cannot successfully resolve a suspected case of academic misconduct through our conversations, I will refer the situation to the department of communication advising office who can then work with the COM Chair to seek further input and if necessary, move the case up through the College.

While evidence of academic misconduct may result in a lower grade, I will not unilaterally lower a grade without addressing the issue with you first through the process outlined above.

Credit and Notes[edit]

This syllabus has, in ways that should be obvious, borrowed and built on the OpenInto Statistics curriculum. In the sense that he used the same two textbooks, I also drew some inspiration and confidence from Tom S. Clark's syllabus for POLS 508: Data Analysis in Fall 2014.