Statistics and Statistical Programming (Fall 2020)/pset1

From CommunityData
< Statistics and Statistical Programming (Fall 2020)
Revision as of 21:55, 11 October 2020 by Benjamin Mako Hill (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

← Back to Week 3

For this problem set, the programming challenges ask you to apply some of the concepts from OpenIntro Chapters 1 and 2 using the R and RStudio fundamentals that were introduced in the recommended R tutorials for Weeks 1 and 3. If you're feeling lost at any point, I recommend you review some of those materials and/or come ask for help!

The topics/skills covered here include: loading/importing datasets, performing some basic data management, summarization, and arithmetic operations, calculating summary/descriptive statistics for a few different kinds of variables, and creating univariate tables and visualizations. Also, the problem set is structured to model the sort of workflow you might pursue whenever you encounter a new dataset, starting with basic inspection and description of variables of interest before moving on to more sophisticated analysis.

Programming Challenges[edit]

PC0. Get started[edit]

Open up RStudio, create a new file for this assignment (likely an R Markdown script), add relevant metadata (maybe your name, the date, and a title so that you/we know it is Problem Set 1 for this class?), and save it.

PC1. Access and describe a dataset provided in an R library[edit]

  1. Load the openintro R package and the county dataset so that they are available to you. Let's get to know this data! You may already be familiar with it from Chapter 1 of the OpenIntro textbook and a codebook is available on the openintro website. (Note: there are a few other datasets in the openintro package with similar names. The one you want is county and is described on the site linked above.)
  2. Find out the class of the county dataset object.
  3. Find out how many rows and how many columns are in the county dataset.
  4. Find the names of all of the variables (columns) as well as the class of each of the variables.
  5. Summarize at least one continuous or discrete numeric variable in the dataset. Calculate the length, range (minimum and maximum), mean, and standard deviation.
  6. Plot a visual summary (maybe a boxplot or a histogram?) for the same numeric variable you used in PC1.4 above.
  7. Summarize at least one categorical variable in the dataset (e.g., if the variable takes values of TRUE/FALSE or NA, how many of each are value are there?).

PC2. Work with a dataset from the web[edit]

  1. Run the following two commands in your R script. Be sure to replace <your.birthdate> with your birthday in ddmmyy format (e.g., September 21, 2020 would be 210920) or at least something numeric. If you run the commands correctly (or maybe even not), R will return a single random integer value between 1 and 20. This integer will be your dataset number for the purposes of PC2.:
set.seed(<your.birthdate>)
sample(x= c(1:20), size=1))
  1. Navigate to the data repository for the course and find the RData file in the week_03 subdirectory with your dataset number from PC2.1 (e.g., group_<output>.Rdata where <output> is replaced with the dataset number).
  2. Load the .Rdata file for your dataset number into R. It should contain one variable. Find that variable!
  3. Calculate summary statistics for your variable. Be sure to include the length, minimum, maximum, mean, and standard deviation.
  4. Create a visualization of your variable: at the very least, create a boxplot or a histogram.
  5. Some of you may have negative numbers. Whoops! This was due to a coding error. Write code to recode all negative numbers as missing (i.e. NA) in your dataset. Now compute the mean and standard deviation again and note any changes.
  6. Log transform your dataset (i.e., take the natural logarithm for each value). If you have very small values (close to zero) it may be helpful to add 1 to each value before you take the natural logarithm (this avoids nonsense output in the results). Calculate the new mean and standard deviation of the transformed variable. Also create a new histogram or boxplot.

Statistical Questions[edit]

SQ1[edit]

Consider the results of PC1.4 and PC1.5. Do the mean and standard deviation seem likely to provide good representations of the central tendency and spread of this variable? Why or why not? If not, what alternative measures could you use to characterize the central tendency and spread respectively?

SQ2[edit]

Consider the results of PC2.3 and PC2.4. Do the mean and standard deviation seem likely to provide good representations of the central tendency and spread of this variable? Why or why not? If not, what alternative measures could you use to characterize the central tendency and spread respectively?

SQ3[edit]

Briefly discuss any differences you observe between the untransformed/uncleaned version of the variable you summarized in PC2.3 and PC2.4 and the transformed/cleaned version you summarized in PC2.6. Which summary should you prefer and why?