install.packages("ivpack") library(ivpack) data = read.csv("mroz.csv",header=TRUE) attach(data) n = nrow(data) reg1 = lm(lwage ~ educ + exper + expersq) reg2 = lm(educ ~ motheduc + fatheduc + huseduc + exper + expersq) reg3 = ivreg(lwage ~ educ + exper + expersq | motheduc + fatheduc + huseduc + exper + expersq) summary(reg1) summary(reg2) summary(reg3) # Hausmann reg2 = lm(educ ~ motheduc + fatheduc + huseduc + exper + expersq) error = reg2$res reg4 = lm(lwage ~ educ + exper + expersq + error) summary(reg4) # Sargan reg3 = ivreg(lwage ~ educ + exper + expersq | motheduc + fatheduc + huseduc + exper + expersq) error = reg3$res reg5 = lm(error ~ motheduc + fatheduc + huseduc + exper + expersq) p = 3 q = 1 sarg = (n-6)*summary(reg5)$r.sq p.val = 1-pchisq(sarg,p-q) p.val # With or without huseduc? #======================================= reg6 = ivreg(lwage ~ educ + exper + expersq | motheduc + fatheduc + exper + expersq) # Hausmann reg2 = lm(educ ~ motheduc + fatheduc + exper + expersq) error = reg2$res reg4 = lm(lwage ~ educ + exper + expersq + error) summary(reg4) # Sargan reg3 = ivreg(lwage ~ educ + exper + expersq | motheduc + fatheduc + exper + expersq) error = reg3$res reg5 = lm(error ~ motheduc + fatheduc + exper + expersq) p = 2 q = 1 sarg = (n-5)*summary(reg5)$r.sq p.val = 1-pchisq(sarg,p-q) p.val