在R语言中使用survival包进行clogit回归的鲁棒标准误差

6

我正在尝试从R中的生存包为clogit回归获取健壮标准误。在这样做的过程中,我试图使用vce(robust)选项来复制Stata clogit命令报告的标准误差。

我的R公式是:

conditional_logit <- clogit(dependent_variable ~ independent_variable + some_controls + strata(year), method= "exact", data = data_frame)

在函数中添加robust = TRUE参数会导致错误:

Error in residuals.coxph(fit2, type = "dfbeta", weighted = TRUE) : 
score residuals are not available for the exact method

任何尝试通过三明治或plm软件包提取强健标准误的方法,如此处所建议的(这里)(这里)(这里)(这里),都会出现相同的错误。同样,clogit函数在使用“exact”方法时包括一个条件来停止计算强健标准误(第44行)。然而,在clogit回归对象中存在conditional_logit$residuals和conditional_logit$score。
如果有人能回答以下问题,我将不胜感激:
  • 是否普遍无法或“错误地”为“exact”条件逻辑回归计算强健标准误?如果是,为什么Stata允许这样做?
  • 如果不是:我该如何在R中计算clogit回归的强健标准误?
  • 如果无法根据clogit回归对象中的数据计算强健标准误:是否有另一个R软件包可以生成与survival软件包的clogit函数生成的条件逻辑回归模型相当且包括我需要计算强健标准误的数据?
1个回答

2
改变原始clogit函数中处理并列情况的方法。
method命令的默认值为method="exact"。例如,如果您使用method="efron",那么robust=TRUE命令将起作用。

1
你确定这是正确的解决方案吗?这两种不同的方法产生了不同的点估计。 - Jason Goal
我想知道您是否有解决方案,可以在回归表中报告以这种方式生成的SE和p值。一直在尝试提取它们,因为stargazer使用非鲁棒的SE。 - avocado1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接