Я пытаюсь использовать bootcov
, чтобы получить кластерные стандартные ошибки для регрессионного анализа данных панели.В анализ я включаю переменную кластера как фиксированный эффект для решения проблем на уровне кластера.Однако включение переменной кластера в качестве фиксированного эффекта приводит к выдаче bootcov
ошибки («Предупреждающее сообщение: ... соответствует ошибке в 200 повторных выборках. Возможно, попытайтесь увеличить maxit»).Я предполагаю, что это потому, что матрица коэффициентов варьируется в зависимости от того, какие кластеры выбраны ( вот аналогичная проблема и решение в Stata ).
Кто-нибудь знает способ обойти эту проблему?Если нет, я могу попробовать вручную отредактировать функцию.К сожалению, я не могу использовать параметр кластера в robcov
, потому что мой анализ на самом деле требует функцию Glm
, а не функцию ols.Кроме того, я хочу придерживаться пакета rms
, потому что мой анализ включает ограниченные кубические сплайны, которые rms
упрощают визуализацию и тестирование через ANOVA (хотя я открыт для других предложений).
Спасибо за помощь.Я скопировал пример ниже.
#load package
library(rms)
#make df
x <- rnorm(1000)
y <- sample(c(1:100),1000, replace=TRUE)
z <- factor(rep(1:50, 20))
df <- data.frame(y,x,z)
#set datadist
dd <- datadist(df)
options(datadist='dd')
#works when cluster variable isn't included as fixed effect in regression
reg <- ols(x ~ y, df, x=TRUE, y=TRUE)
reg_clus <- bootcov(reg, df$z)
summary(reg_clus)
#doesn't work when cluster variable included as fixed effect in regression
reg2 <- ols(x ~ y + z, df, x=TRUE, y=TRUE)
reg_clus2 <- bootcov(reg2, df$z)
summary(reg_clus2)