Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##load libraries
- library(foreign)
- library(data.table)
- library(AER)
- ##load data
- data <- data.table(read.dta("https://feb.kuleuven.be/public/ndbad83/frank/cars/cars.dta",
- convert.date = FALSE, convert.factors = FALSE))
- ##potential market size in each market and each year is pop/4
- ##estimate shares and dependent variable that will be used for regression
- data[, share := qu / (pop / 4), by = c("ye", "ma")]
- data[, share0 := 1 - sum(share), by = c("ye", "ma")]
- data[, yy := log(share) - log(share0), by = c("ye", "ma")]
- ##keep data for regression
- data.regression <- data[, list(ye, ma, yy, co, hp, le, wi, he, li, princ)]
- ##instrument the price
- data.regression <- data.regression[, {
- ##copy the data for processing
- dat <- copy(.SD)
- ##loop over markets
- for(market in unique(dat$ma)){
- ##instruments - mean price of same product in other markets
- ins <- dat[ma != market, mean(princ)]
- dat[ma == market, p.ins := ins]
- }
- ##return
- dat
- }, by = c("ye", "co")]
- ##lm model
- summary(lm(yy ~ princ + hp + le + wi + he + li + factor(ma):factor(ye) - 1, data.regression))
- ##iv model
- fit <- ivreg(yy ~ princ + hp + le + wi + he + li + factor(ma):factor(ye) - 1 |
- p.ins + hp + le + wi + he + li + factor(ma):factor(ye) - 1,
- data = data.regression)
- summary(fit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement