You are on page 1of 5

R05 Fixed Effects

Shokhrukhsora Toshmukhamedova

2023-07-23

Contents
Cross-sectional Data (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Plot (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Panel Data (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Plot (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Fixed Effects Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Manual FD (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
First Difference (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Manual TD (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Time Demeaning (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LSDV (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Comparison (1 pt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Cross-sectional Data (1 pt)

# Crosssection
crosssection <- data.frame(Location = c("Chicago", "Peoria", "Milwaukee", "Madison"),
Year = rep(2003, 4),
Price = c(75, 50, 60, 55),
Quantity = c(2.0, 1.0, 1.5, 0.8))

Table 1: Cross-sectional Data

Location Year Price Per Capita Quantity


Chicago 2003 75 2.0
Peoria 2003 50 1.0
Milwaukee 2003 60 1.5
Madison 2003 55 0.8

1
Plot (1 pt)

Relationship between Price and Demand in 2003


2.0
1.8
1.6
Quantity

1.4
1.2
1.0
0.8

50 55 60 65 70 75

Price

Panel Data (1 pt)

# Panel Data
paneldata <- data.frame(Location = c("Chicago", "Chicago", "Peoria", "Peoria",
"Milwaukee", "Milwaukee", "Madison", "Madison"),
Year = rep(2003:2004, 4),
Price = c(75, 85, 50, 48, 60, 65, 55, 60),
Quantity = c(2.0, 1.8, 1.0, 1.1, 1.5, 1.4, 0.8, 0.7))

Table 2: Panel Data

Location Year Price Per Capita Quantity


Chicago 2003 75 2.0
Chicago 2004 85 1.8
Peoria 2003 50 1.0
Peoria 2004 48 1.1
Milwaukee 2003 60 1.5
Milwaukee 2004 65 1.4
Madison 2003 55 0.8
Madison 2004 60 0.7

2
Plot (1 pt)

Relationship between Price and Quantity


2.0

Location
1.5
Chicago
Quantity

Madison
Milwaukee
Peoria

1.0

50 60 70 80
Price

Fixed Effects Regression

Manual FD (1 pt)

Table 3: Data for Difference Equation Estimation.

Location Year Price Quantity P Q


Chicago 2003 75 2
Chicago 2004 85 1.8 10 -0.2
Peoria 2003 50 1
Peoria 2004 48 1.1 -2 0.1
Milwaukee 2003 60 1.5
Milwaukee 2004 65 1.4 5 -0.1
Madison 2003 55 0.8
Madison 2004 60 0.7 5 -0.1
a+x B
1.00 4.00
2.00 5.00
3.00 6.00

3
First Difference (1 pt)

# First Difference
paneldata$Quantity_diff <- c(NA, diff(paneldata$Quantity))
paneldata$Price_diff <- c(NA, diff(paneldata$Price))

first_difference <- lm(Quantity_diff ~ Price_diff - 1, data = paneldata)

Manual TD (1 pt)

# Time Demeaning by hand


paneldata <- paneldata %>%
group_by(Location) %>%
mutate(Q_mean = mean(Quantity),
P_mean = mean(Price))

# Step 2: Subtract the individual mean from each observation


paneldata$Q_demeaned <- paneldata$Quantity - paneldata$Q_mean
paneldata$P_demeaned <- paneldata$Price - paneldata$P_mean

# Step 3: Regress the time-demeaned observations without an intercept


time_demeaning_byhand <- lm(Q_demeaned ~ P_demeaned - 1, data = paneldata)

Time Demeaning (1 pt)

# Convert data to panel data format


paneldata_changed <- pdata.frame(paneldata, index = c("Location", "Year"))

# Run within fixed effects regression without an intercept


time_demeaning_byplm <- plm(Quantity ~ Price, data = paneldata_changed, model = "within", effect = "indi

LSDV (1 pt)

# Create dummy variables for each location


dummies <- model.matrix(~ Location - 1, data = paneldata)

# Combine the dummy variables with the original data


paneldata_with_dummies <- cbind(paneldata, dummies)

# Run LSDV regression without an intercept


lsdv <- lm(Quantity ~ Price + . - 1, data = paneldata_with_dummies)

Comparison (1 pt)

4
. Pooling First.Difference Time.Demeaning.by.hand Time.Demeaning.by.plm Least.Square.Dummy
Price 0.021 -0.021 -0.021 -0.021 -0.021
(0.002) (0.003) (0.002) (0.003) (0.003)
Num.Obs. 8 4 8 8 8
R2 0.953 0.95 0.95 0.95 1
R2 Adj. 0.947 0.933 0.943 0.883 1

You might also like