Sesame Street

NOTE: This information is taken from Prof. Jerry Reiter’s website for his Stat 210 course at Duke University.

The television series Sesame Street is concerned mainly with teaching preschool skills to children age 3-5, with special emphasis on reaching economically disadvantaged children. The show is designed to hold young childrens’ attention through action oriented, short duration presentations teaching specific preschool cognitive skills and some social skills. Each show is one hour and involves much repetition of concepts within and across shows.

Does Sesame Street help economically disadvantaged children ‘catch-up’ with economically advantaged children? In the early 1970s, researchers at Educational Testing Service (the company that runs the SAT) ran a study to evaluate Sesame Street. The researchers sampled children representative of economically advantaged and disadvantaged populations from five different sites in the United States. To ensure the study contained a group of children that watched Sesame Street regularly, they randomly assigned children either to receive encouragement to watch Sesame Street or not to receive encouragement. Those assigned to encouragement were given promotional materials, and received weekly visits and phone calls from ETS staff. Those assigned not to receive encouragement did not get this attention. The children were tested on a variety of cognitive variables, including knowledge of body parts, knowledge about letters, knowledge about numbers, etc., both before and after viewing the series.

These data, available here as a CSV file, are part of a larger data set used to evaluate the impact of Sesame Street. The names of variables are shown in the code book below.

  1. id : subject identification number
  2. site :
    1 =Three to five year old disadvantaged children from inner city areas in various parts of the country. 2 = Four year old advantaged suburban children. 3 = Advantaged rural children. 4 = Disadvantaged rural children. 5 = Disadvantaged Spanish speaking children.
  3. sex male=1, female=2
  4. age age in months
  5. viewcat frequency of viewing 1=rarely watched the show 2=once or twice a week 3=three to five times a week 4=watched the show on average more than 5 times a week
  6. setting: setting in which Sesame Street was viewed, 1=home 2=school
  7. viewenc : treatment condition 1=child encouraged to watch, 2=child not encouraged to watch
  8. prebody : pretest on knowledge of body parts (scores range from 0-32)
  9. prelet : pretest on letters (scores range from 0-58)
  10. preform : pretest on forms (scores range from 0-20)
  11. prenumb : pretest on numbers (scores range from 0-54)
  12. prerelat : pretest on relational terms (scores range from 0-17)
  13. preclasf : pretest on classification skills
  14. postbody : posttest on knowledge of body parts (0-32)
  15. postlet : posttest on letters (0-58)
  16. postform : posttest on forms (0-20)
  17. postnumb : posttest on numbers (0-54)
  18. postrelat : posttest on relational terms (0-17)
  19. postclasf: posttest on classification skills
  20. peabody: mental age score obtained from administration of the Peabody Picture Vocabulary test as a pretest measure of vocabulary maturity. Taken before the experimental intervention.
  21. numbers: postnumb - prenumb. Variable constructed by Prof. Reiter.
  22. letters: postlet - prelet. Variable constructed by Prof. Reiter.
  23. num.let: numbers - letters. Variable constructed by Prof. Reiter.

[The following is not from Prof. Reiter]

Example of access

file_url  <- "https://raw.githubusercontent.com/matackett/intro-regression/master/data/sesame.csv"
Sesame <- readr::read_csv(file_url)

Suppose we want to look at the increase in test scores on letters as a function of how much the child watched Sesame street. prelet and postlet are the before-and-after test scores, viewcat is how often the child watched the show.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(mosaic)
## Loading required package: lattice
## Loading required package: ggformula
## Loading required package: ggplot2
## Registered S3 methods overwritten by 'ggplot2':
##   method         from 
##   [.quosures     rlang
##   c.quosures     rlang
##   print.quosures rlang
## Loading required package: ggstance
## 
## Attaching package: 'ggstance'
## The following objects are masked from 'package:ggplot2':
## 
##     geom_errorbarh, GeomErrorbarh
## 
## New to ggformula?  Try the tutorials: 
##  learnr::run_tutorial("introduction", package = "ggformula")
##  learnr::run_tutorial("refining", package = "ggformula")
## Loading required package: mosaicData
## Loading required package: Matrix
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Note: If you use the Matrix package, be sure to load it BEFORE loading mosaic.
## 
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median,
##     prop.test, quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
Tmp <-
  Sesame  %>%
  mutate(let_change = postlet - prelet) 
Stats <- df_stats(let_change ~ viewcat + site, data = Tmp, ci.mean(.95))
## Warning in stats::qt((1 - level)/2, df = n - 1): NaNs produced
Tmp %>%
  gf_jitter(let_change ~  viewcat  | site, width = 0.2, height = 0, alpha = .50) %>%
  gf_errorbar(lower + upper ~ viewcat  | site, data  = Stats)
## Warning: Removed 1 rows containing missing values (geom_errorbar).