Wooldridge Source: David Harvey, a former MSU undergraduate, collected the data for 64 “college towns” from the 1980 and 1990 United States censuses. Data loads lazily.

data('rental')

Format

A data.frame with 128 observations on 23 variables:

  • city: city label, 1 to 64

  • year: 80 or 90

  • pop: city population

  • enroll: # college students enrolled

  • rent: average rent

  • rnthsg: renter occupied units

  • tothsg: occupied housing units

  • avginc: per capita income

  • lenroll: log(enroll)

  • lpop: log(pop)

  • lrent: log(rent)

  • ltothsg: log(tothsg)

  • lrnthsg: log(rnthsg)

  • lavginc: log(avginc)

  • clenroll: change in lrent from 80 to 90

  • clpop: change in lpop

  • clrent: change in lrent

  • cltothsg: change in ltothsg

  • clrnthsg: change in lrnthsg

  • clavginc: change in lavginc

  • pctstu: percent of population students

  • cpctstu: change in pctstu

  • y90: =1 if year == 90

Notes

These data can be used in a somewhat crude simultaneous equations analysis, either focusing on one year or pooling the two years. (In the latter case, in an advanced class, you might have students compute the standard errors robust to serial correlation across the two time periods.) The demand equation would have ltothsg as a function of lrent, lavginc, and lpop. The supply equation would have ltothsg as a function of lrent, pctst, and lpop. Thus, in estimating the demand function, pctstu is used as an IV for lrent. Clearly one can quibble with excluding pctstu from the demand equation, but the estimated demand function gives a negative price effect. Getting information for 2000, and adding many more college towns, would make for a much better analysis. Information on number of spaces in on-campus dormitories would be a big improvement, too.

Used in Text: pages 160, 477, 503-504

Examples

 str(rental)
#> 'data.frame':	128 obs. of  23 variables:
#>  $ city    : int  1 1 2 2 3 3 4 4 5 5 ...
#>  $ year    : int  80 90 80 90 80 90 80 90 80 90 ...
#>  $ pop     : num  75211 77759 106743 141865 36608 ...
#>  $ enroll  : num  15303 18017 22462 29769 11847 ...
#>  $ rent    : int  197 342 323 496 216 351 267 588 475 925 ...
#>  $ rnthsg  : num  13475 15660 14580 26895 7026 ...
#>  $ tothsg  : num  26167 29467 37277 55540 13482 ...
#>  $ avginc  : num  11537 19568 19841 31885 11455 ...
#>  $ lenroll : num  9.64 9.8 10.02 10.3 9.38 ...
#>  $ lpop    : num  11.2 11.3 11.6 11.9 10.5 ...
#>  $ lrent   : num  5.28 5.83 5.78 6.21 5.38 ...
#>  $ ltothsg : num  10.17 10.29 10.53 10.92 9.51 ...
#>  $ lrnthsg : num  9.51 9.66 9.59 10.2 8.86 ...
#>  $ lavginc : num  9.35 9.88 9.9 10.37 9.35 ...
#>  $ clenroll: num  NA -15293 NA -22452 NA ...
#>  $ clpop   : num  NA 0.0333 NA 0.2845 NA ...
#>  $ clrent  : num  NA 0.552 NA 0.429 NA ...
#>  $ cltothsg: num  NA 0.119 NA 0.399 NA ...
#>  $ clrnthsg: num  NA 0.15 NA 0.612 NA ...
#>  $ clavginc: num  NA 0.528 NA 0.474 NA ...
#>  $ pctstu  : num  20.3 23.2 21 21 32.4 ...
#>  $ cpctstu : num  NA 2.824 NA -0.059 NA ...
#>  $ y90     : int  0 1 0 1 0 1 0 1 0 1 ...
#>  - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"