我正在寻找一种方法,可以直接用我的标准误差替换回归模型中的标准误差,以便在另一个R包中使用鲁棒模型。该R包没有自己的鲁棒选项,只能提供特定类型的模型而不是coeftest格式。
假设我有一个线性模型:
model <- lm(data=dat, Y ~ X1 + X2 + X3)
我希望您能为我提供强健的标准误差结果:
robust <- coeftest(model, vcov=sandwich)
接下来,我需要在一个特定的包中使用这个模型,但该包无法提供coeftest,并且没有自己的鲁棒标准误选项。我想在将其馈入该包之前,替换原始模型的标准误差(以及p值、t统计量等),以便进行考虑。
要访问原始模型中的标准误差,我使用:
summary(model)$coefficients[,2]
为了从coeftest中提取标准误差,我使用以下方法:
coeftest.se <- robust[, 2]
然而,下面的方法在尝试替换模型的标准误差时返回错误,因为它将“summary”本身视为一个命令。
summary(model)$coefficients[,2] <- coeftest.se
Error in summary(M3)$coefficients[, 2] <- seM3 : could not find function "summary<-"
具体内容
我正在尝试使用 Mediation R 包运行中介分析。该包将使用“mediate”函数进行一种聚类标准误差,但我希望使用双向聚类标准误差。
为了获得双向聚类标准误差,我正在使用 Mahmood Arai 的 mclx 函数(代码可以在这里找到(第4页))。
我的想法是向该包的 mediate 函数提供已经报告正确标准误差的模型。根据文档,中介分析包接受以下模型类别:lm、polr、bayespolr、glm、bayesglm、gam、rq、survreg 和 merMod。
summary(model)
是模型的一个函数,而不是模型的一部分。标准误差不是模型的一部分,摘要函数会即时计算它们(请参见summary.lm
以了解详细信息)。 - Gregor Thomasrlm
对象中。无论哪种方式,在不知道您要在哪里使用它之前,都无法提供太多帮助。 - Gregor Thomaslm
对象是一个“活动”的对象。它知道用来拟合它的数据和原始调用。修改其内部属性并不保证会产生您想要的行为。您确实应该提供一个更完整的可复现示例,以展示您希望在模型下游做什么。 - MrFlick