The Project STAR public access data set, assessing the effect of reducing class size on test scores in the early grades.
Project STAR (Student/Teacher Achievement Ratio) was a four-year longitudinal class-size study funded by the Tennessee General Assembly and conducted in the late 1980s by the State Department of Education. Over 7,000 students in 79 schools were randomly assigned into one of three interventions: small class (13 to 17 students per teacher), regular class (22 to 25 students per teacher), and regular-with-aide class (22 to 25 students with a full-time teacher's aide). Classroom teachers were also randomly assigned to the classes they would teach. The interventions were initiated as the students entered school in kindergarten and continued through third grade.
The Project STAR public access data set contains data on test scores, treatment groups, and student and teacher characteristics for the four years of the experiment, from academic year 1985--1986 to academic year 1988--1989. The test score data analyzed in this chapter are the sum of the scores on the math and reading portion of the Stanford Achievement Test.
Stock and Watson (2007) obtained the data set from the Project STAR Web site at http://www.heros-inc.org/star.htm.
The data is provided in wide format. Reshaping it into long format is illustrated below. Note that the levels of the
tethnicity variables differ slightly between kindergarten and higher grades.
Stock, J.H. and Watson, M.W. (2007). Introduction to Econometrics, 2nd ed. Boston: Addison Wesley.
data("STAR") ## Stock and Watson, p. 488 fmk <- lm(I(readk + mathk) ~ stark, data = STAR) fm1 <- lm(I(read1 + math1) ~ star1, data = STAR) fm2 <- lm(I(read2 + math2) ~ star2, data = STAR) fm3 <- lm(I(read3 + math3) ~ star3, data = STAR) coeftest(fm3, vcov = sandwich) plot(I(read3 + math3) ~ star3, data = STAR) ## Stock and Watson, p. 489 fmke <- lm(I(readk + mathk) ~ stark + experiencek, data = STAR) coeftest(fmke, vcov = sandwich) ## reshape data from wide into long format ## 1. variables and their levels nam <- c("star", "read", "math", "lunch", "school", "degree", "ladder", "experience", "tethnicity", "system", "schoolid") lev <- c("k", "1", "2", "3") ## 2. reshaping star <- reshape(STAR, idvar = "id", ids = row.names(STAR), times = lev, timevar = "grade", direction = "long", varying = lapply(nam, function(x) paste(x, lev, sep = ""))) ## 3. improve variable names and type names(star)[5:15] <- nam star$id <- factor(star$id) star$grade <- factor(star$grade, levels = lev, labels = c("kindergarten", "1st", "2nd", "3rd")) rm(nam, lev) ## fit a single model nested in grade (equivalent to fmk, fm1, fm2, fmk) fm <- lm(I(read + math) ~ 0 + grade/star, data = star) coeftest(fm, vcov = sandwich) ## visualization library("lattice") bwplot(I(read + math) ~ star | grade, data = star)
Documentation reproduced from package AER, version 1.2-2. License: GPL-2