Я пытаюсь закодировать следующее уравнение (со стр. 237 «Эконометрии Ангрита и Пишке в основном безвредных») в R, но у меня возникают проблемы:
У меня есть набор данных панели (назовите его «sample») со следующими переменными: y (т.е. моя зависимая переменная), год, единица (то есть код налога моей отдельной единицы), treatment_indi c (1 или 0 , варьируется в зависимости от единицы, но не во времени), ковариат (зависит от единицы, но не во времени). У меня есть одна дата события.
(Вы можете запустить мой код ниже, выполнив следующие действия для загрузки примеров данных из пакета did:
library(did)
library(tidyverse)
data(mpdta)
sample <- mpdta %>%
filter(first.treat == 2006 | first.treat == 0) %>%
rename(y = lemp) %>%
rename(covariate = lpop) %>%
rename(treatment_indic = treat) %>%
rename(unit = countyreal) %>%
select(y, unit, treatment_indic, covariate, year)
)
Чтобы понять, что я делаю, я пытаюсь повторить рисунок 3 от Autor (2003): https://economics.mit.edu/files/11572. В частности, я хочу точечные оценки $ \ delta $ выше, а также их стандартные ошибки.
Пока что я кодирую это в R как:
library(tidyverse)
library(broom)
E <- 2006
sample <- sample %>%
mutate(k = year - E)
model <- lm(y ~ factor(k):treatment_indic - 1 + factor(k) + covariate + treatment_indic, data = sample)
summary(model)
results <- tidy(model) %>%
filter(grepl(':', term)) %>%
mutate(k = substr(term,10,12)) %>%
mutate(k = as.numeric(str_remove_all(k,"[:t]"))) %>%
mutate(post = as.factor(ifelse(k >= 0, 1, 0))) %>%
mutate(year = as.factor(k + E)) %>%
select(-term, -statistic, -p.value, -k)
p <- results %>%
ggplot(aes(x = year, y = estimate, group = post, color = post)) +
geom_hline(yintercept=0) +
geom_errorbar(aes(ymin=estimate-2*std.error, ymax=estimate+2*std.error),
width=0.2, color = "grey65") +
geom_point()+
geom_errorbar(aes(ymin=estimate-std.error, ymax=estimate+std.error), width=0.2) +
theme_bw() +
labs(x="",
y ="ATT",
color = "Post-treatment\nindicator")
p
Я подозреваю, что строка, которая создает "модель", не не правильно, поскольку все стандартные ошибки оказались одинаковыми. Все стандартные ошибки в терминах взаимодействия - 0,1323683, а все стандартные ошибки в терминах коэффициента - 0,0460411. Для справки это дает следующую картину:
Я был бы очень признателен, если бы кто-то мог сообщить мне, если моя интерпретация кодирования «В основном безвредна» Эконометрическое уравнение верное. Если нет, что мне делать, чтобы изменить его?
Спасибо.