Я пытаюсь указать переменную кластера после plm с помощью vcovCR () в пакете clubSandwich для моих смоделированных данных (которые я использую для моделирования мощности), но получаю следующее сообщение об ошибке: «Ошибка в [.data.frame
(eval (mf $ data, envir),, index_names): выбраны неопределенные столбцы "
Я не уверен, относится ли это к vcovCR () или к чему-то общему о R, но может ли кто-нибудь сказать мне, что не так с моим кодом? (Я видел здесь сообщение по теме Как сгруппировать стандартные ошибки plm на другом уровне, а не на уровне id или времени?, но это не решило мою проблему).
Мой код:
N <- 100;id <- 1:N;id <- c(id,id);gid <- 1:(N/2);
gid <- c(gid,gid,gid,gid);T <- rep(0,N);T = c(T,T+1)
a <- qnorm(runif(N),mean=0,sd=0.005)
gp <- qnorm(runif(N/2),mean=0,sd=0.0005)
u <- qnorm(runif(N*2),mean=0,sd=0.05)
a <- c(a,a);gp = c(gp,gp,gp,gp)
Ylatent <- -0.05*T + a + u
Data <- data.frame(
Y = ifelse(Ylatent > 0, 1, 0),
id = id,gid = gid,T = T
)
library(clubSandwich)
library(plm)
fe.fit <- plm(formula = Y ~ T, data = Data, model = "within", index = "id",effect = "individual", singular.ok = FALSE)
vcovCR(fe.fit,cluster=Data$id,type = "CR2") # doesn't work, but I can run this by not specifying cluster as in the next line
vcovCR(fe.fit,type = "CR2")
vcovCR(fe.fit,cluster=Data$gid,type = "CR2") # I ultimately want to run this
library(clubSandwich) library(plm) data("Produc", package = "plm") plm_FE <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp, data = Produc, index = c("state","year"), effect = "individual", model = "within") vcovCR(plm_FE, type="CR2",cluster = Produc$state)
- person Yuki Takahashi   schedule 06.05.2019