R: кластерные стандартные ошибки в дробной пробитной модели - PullRequest
0 голосов
/ 11 мая 2018

Мне нужно оценить дробную (ответ, принимающий значения между 0 и 1) модель с R. Я также хочу объединить стандартные ошибки.Я нашел несколько примеров в SO и других местах, и я построил эту функцию на основе своих выводов:

require(sandwich)
require(lmtest)
clrobustse <- function(fit, cl){
    M <- length(unique(cl))
    N <- length(cl)
    K <- fit$rank
    dfc <- (M/(M - 1))*((N - 1)/(N - K))
    uj <- apply(estfun(fit), 2, function(x) tapply(x, cl, sum))
    vcovCL <- dfc*sandwich(fit, meat = crossprod(uj)/N)
    coeftest(fit, vcovCL)
}

Я оцениваю свою модель следующим образом:

fit <- glm(dep ~ exp1 + exp2 + exp3, data = df, fam = quasibinomial("probit"))
clrobustse(fit, df$cluster)

Все отлично работает, и я получаю результаты.Тем не менее, я подозреваю, что что-то не так, как в некластерной версии:

coeftest(fit)

дает точно такие же стандартные ошибки.Я проверил, что Stata сообщает, и что отображаются разные кластерные ошибки.Я подозреваю, что неправильно указал функцию clrobustse, но я просто не знаю как.Есть идеи о том, что здесь может пойти не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...