Вы находитесь на странице: 1из 7

palmiter_b_pset9.

R
Brian
Sun Nov 16 21:45:00 2014
# Brian P Palmiter
# Problem Set 9
# November 18, 2014
########################################################################
require(stargazer)

## Loading required package: stargazer


##
## Please cite as:
##
## Hlavac, Marek (2014). stargazer: LaTeX code and ASCII text for well-formatted regression and summary
## R package version 5.1. http://CRAN.R-project.org/package=stargazer
require(xtable)
## Loading required package: xtable
setwd("C:/Users/Brian/Desktop/Problem Set 9")
netocox <- read.csv(file = "netocox.csv",
header = TRUE)
########################################################################

# Problem 1A
########################################################################
model2.reg <- lm(ENPRES ~ ENETH*RUNOFF, data = netocox)
stargazer(model2.reg)
##
##
##
##
##
##
##
##
##
##
##

% Table created by stargazer v.5.1 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard
% Date and time: Sun, Nov 16, 2014 - 9:45:02 PM
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{tabular}{@{\extracolsep{5pt}}lc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& \multicolumn{1}{c}{\textit{Dependent variable:}} \\
\cline{2-2}
1

##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##

\\[-1.8ex] & ENPRES \\


\hline \\[-1.8ex]
ENETH & $-$0.979 \\
& (0.770) \\
& \\
RUNOFF & $-$2.491 \\
& (1.561) \\
& \\
ENETH:RUNOFF & 2.005$^{*}$ \\
& (0.941) \\
& \\
Constant & 4.303$^{***}$ \\
& (1.229) \\
& \\
\hline \\[-1.8ex]
Observations & 16 \\
R$^{2}$ & 0.362 \\
Adjusted R$^{2}$ & 0.203 \\
Residual Std. Error & 1.074 (df = 12) \\
F Statistic & 2.272 (df = 3; 12) \\
\hline
\hline \\[-1.8ex]
\textit{Note:} & \multicolumn{1}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
\end{table}

########################################################################

# Problem 1B
########################################################################
plot(x = netocox$ENETH,
y = netocox$ENPRES,
xlab = "ENETH",
ylab = "ENPRES",
main = "Presidential Candidates vs. Ethnic Groups",
pch = 16,
col = ifelse(netocox$RUNOFF == 0, "red", "blue"))
legend("topleft",
legend = c("RUNOFF = 0", "RUNOFF = 1"),
lty=1,
lwd = 3,
col=c('red', 'blue'))
#Reg line when RUNOFF = 0
abline(a = coef(model2.reg)[1],
b = coef(model2.reg)[2],
col = "red",
lwd = 3)
#Reg line when RUNOFF = 1
abline(a = coef(model2.reg)[1] + coef(model2.reg)[3],
2

b = coef(model2.reg)[2] + coef(model2.reg)[4],
col = "blue",
lwd = 3)

Presidential Candidates vs. Ethnic Groups

4
2

ENPRES

RUNOFF = 0
RUNOFF = 1

1.0

1.5

2.0

2.5

ENETH
########################################################################

# Problem 1C sub 3
########################################################################
#Marginal effect when ENETH is sample mean
mean(netocox$ENETH)
## [1] 1.578
marginalEffectZ <- -2.491 + 2.005 * mean(netocox$ENETH)

#SE for marginal effect when ENETH is sample mean


var.inter <- vcov(model2.reg)["RUNOFF", "RUNOFF"] + mean(netocox$ENETH)^2 * vcov(model2.reg)["ENETH:RUNO
"ENETH:RUNOFF"] + 2 * mean(netocox$
marginalSE <- sqrt(var.inter)
#95% confidence interval
LB <- marginalEffectZ-(marginalSE * qt(.975, df=12))

UB <- marginalEffectZ+(marginalSE * qt(.975, df=12))

# Problem 1D sub 1
########################################################################
beta0
beta1
beta2
beta3

<<<<-

as.numeric(coef(model2.reg)[1])
as.numeric(coef(model2.reg)[2])
as.numeric(coef(model2.reg)[3])
as.numeric(coef(model2.reg)[4])

# Calculate expected average change in Y for a unit change in X when Z = 0


Z <- 0
X <- netocox$ENETH
Y1 <- beta0 + beta1*X + beta2*Z + beta3*X*Z
X <- netocox$ENETH + 1
Y2 <- beta0 + beta1*X + beta2*Z + beta3*X*Z
Z0 <- mean(Y2 - Y1)
## SE of effect of X when Z = 0
var.inter <- vcov(model2.reg)["ENETH", "ENETH"] + 0^2 * vcov(model2.reg
)["ENETH:RUNOFF","ENETH:RUNOFF"] + 2 * 0 * vcov(model2.reg)["ENETH", "ENETH:RUNOFF"]
Z0.se <- sqrt(var.inter)
# Calculate expected average change in Y for a unit change in X when Z = 1
Z <- 1
X <- netocox$ENETH
Y1 <- beta0 + beta1*X + beta2*Z + beta3*X*Z
X <- netocox$ENETH + 1
Y2 <- beta0 + beta1*X + beta2*Z + beta3*X*Z
Z1 <- mean(Y2 - Y1)
## SE of effect of X when Z = 1
var.inter <- vcov(model2.reg)["ENETH", "ENETH"] + 1^2 * vcov(model2.reg
)["ENETH:RUNOFF","ENETH:RUNOFF"] + 2 * 1 * vcov(model2.reg)["ENETH", "ENETH:RUNOFF"]
Z1.se <- sqrt(var.inter)
#Results
ElectionType <- c("RUNOFF = 0", "RUNOFF = 1")
AvgChange <- c(Z0, Z1)
SE <- c(Z0.se, Z1.se)
results1d <- data.frame(ElectionType, AvgChange, SE)
xtable(results1d)

##
##
##
##
##
##
##
##
##
##
##
##
##

% latex table generated in R 3.1.1 by xtable 1.7-3 package


% Sun Nov 16 21:45:02 2014
\begin{table}[ht]
\centering
\begin{tabular}{rlrr}
\hline
& ElectionType & AvgChange & SE \\
\hline
1 & RUNOFF = 0 & -0.98 & 0.77 \\
2 & RUNOFF = 1 & 1.03 & 0.54 \\
\hline
\end{tabular}
\end{table}

########################################################################

# Problem 1D sub 3
########################################################################
plot(x = fitted(model2.reg),
y = residuals(model2.reg),
main = "Residuals vs. Fitted Values Plot",
xlab = "Fitted Values",
ylab = "Residuals",
pch = 16)
abline(a =
b =
col
lwd

0,
0,
= "orange",
= 3)

0
2

Residuals

Residuals vs. Fitted Values Plot

2.0

2.5

3.0

3.5

4.0

Fitted Values

# Problem 2A
########################################################################
n <- 16
k <- 4
#Rejection Region
qt(.025, df = n - (k + 1))
## [1] -2.201
#T Statistic
2 * pt(-1.271429, df = n - (k + 1))
## [1] 0.2298
########################################################################

# Problem 2B
########################################################################
#F statistic
ur.mod <- lm(ENPRES ~ ENETH * RUNOFF, data = netocox)
r.mod <- lm(ENPRES ~ RUNOFF, data = netocox)
anova(r.mod, ur.mod)
6

4.5

##
##
##
##
##
##
##

Analysis of Variance Table


Model 1:
Model 2:
Res.Df
1
14
2
12

ENPRES ~ RUNOFF
ENPRES ~ ENETH * RUNOFF
RSS Df Sum of Sq
F Pr(>F)
19.9
13.8 2
6.03 2.62
0.11

(19.864 - 13.833)/2/(13.833/12)
## [1] 2.616
#P value of F statistic
pf(2.615918, 2, 12, lower.tail = FALSE)
## [1] 0.1141
########################################################################

# Problem 2C
########################################################################
#F statistic
holder <- rep(NA, 16)
for (i in 1:16){
holder[i] <- (netocox$ENPRES[i] - mean(netocox$ENPRES))^2
}
SSRf <- sum(holder)
qf(.05, 3, 12, lower.tail = FALSE)
## [1] 3.49
(21.6903 - 13.833)/ 3 /(13.833/12)
## [1] 2.272
pf(2.272045, 3, 12, lower.tail = FALSE)
## [1] 0.1324

Вам также может понравиться