Advertisement
Guest User

Untitled

a guest
Apr 25th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. ##load libraries
  2. library(foreign)
  3. library(data.table)
  4. library(AER)
  5.  
  6. ##load data
  7. data <- data.table(read.dta("https://feb.kuleuven.be/public/ndbad83/frank/cars/cars.dta",
  8. convert.date = FALSE, convert.factors = FALSE))
  9.  
  10. ##potential market size in each market and each year is pop/4
  11. ##estimate shares and dependent variable that will be used for regression
  12. data[, share := qu / (pop / 4), by = c("ye", "ma")]
  13. data[, share0 := 1 - sum(share), by = c("ye", "ma")]
  14. data[, yy := log(share) - log(share0), by = c("ye", "ma")]
  15.  
  16. ##keep data for regression
  17. data.regression <- data[, list(ye, ma, yy, co, hp, le, wi, he, li, princ)]
  18.  
  19. ##instrument the price
  20. data.regression <- data.regression[, {
  21.  
  22. ##copy the data for processing
  23. dat <- copy(.SD)
  24.  
  25. ##loop over markets
  26. for(market in unique(dat$ma)){
  27.  
  28. ##instruments - mean price of same product in other markets
  29. ins <- dat[ma != market, mean(princ)]
  30. dat[ma == market, p.ins := ins]
  31. }
  32.  
  33. ##return
  34. dat
  35.  
  36. }, by = c("ye", "co")]
  37.  
  38.  
  39. ##lm model
  40. summary(lm(yy ~ princ + hp + le + wi + he + li + factor(ma):factor(ye) - 1, data.regression))
  41.  
  42. ##iv model
  43. fit <- ivreg(yy ~ princ + hp + le + wi + he + li + factor(ma):factor(ye) - 1 |
  44. p.ins + hp + le + wi + he + li + factor(ma):factor(ye) - 1,
  45. data = data.regression)
  46. summary(fit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement