TL; DR
我正在使用R中的VGAM包运行Tobit回归 - 这是一个玩具数据集,它一直给我一个我无法诊断的错误:
library(data.table)
library(VGAM)
> sessionInfo()$otherPkgs
$VGAM
Package: VGAM
Version: 0.9-7
Date: 2015-03-06
... <ommitted> ...
reg_data <- structure(list(S = c(1.83271488441825, 0.75411550370994, 0.904938604451928,
0.75411550370994, 0.75411550370994), H = c(0.6429, 0.7788,
0.6292, 0.8892, 0.2035), W= c(1.52497, 1.1391, 1.59722,
1.8406, 1.01865)), .Names = c("S", "H", "W"), class = c("data.table",
"data.frame"), row.names = c(NA, -5L))
minS <- 0.75411550370994
maxS <- 1.83271488441825
m <- vglm(S ~ H, tobit(Upper = maxS, Lower = minS), weights = W, data = reg_data)
Error in lm.wfit(x …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个 tobit 模型从 Stata 迁移到 R。
健壮的 Stata 命令将只是添加,vce(robust)到模型中。对于聚类,它将是,vce(cluster idvar).
可重现的 Stata 示例:
use http://www.ats.ucla.edu/stat/stata/dae/tobit, clear
tobit apt read math i.prog, ul(800)
tobit apt read math i.prog, ul(800) vce(cluster prog)
Run Code Online (Sandbox Code Playgroud)
可重现的 R 示例:
library("VGAM")
dat <- read.csv("http://www.ats.ucla.edu/stat/data/tobit.csv")
summary(m <- vglm(apt ~ read + math + prog, tobit(Upper = 800), data = dat))
Run Code Online (Sandbox Code Playgroud)
我的理解是,coeftest(m, vcov = sandwich)应该给我强大的 se。
但我得到以下信息: Error: $ operator not defined for this S4 class.
有人可以建议一种方法来估计 vglm 模型中的稳健 se 以及使用 vglm 聚类 …