gpt4 book ai didi

替换 R 中 Reg 模型中的标准误差

转载 作者:行者123 更新时间:2023-12-03 19:56:29 26 4
gpt4 key购买 nike

我正在寻找一种方法,用我自己的标准误差直接替换回归模型中的标准误差,以便在另一个 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(model)$coefficients[,2] <- coeftest.se


Error in summary(M3)$coefficients[, 2] <- seM3 : could not find function "summary<-"

详情

我正在尝试使用 Mediation R 包运行中介分析。该包将使用“中介”函数执行一种方式的集群标准错误,但我想要两种方式的集群标准错误。

为了获得两路聚类标准错误,我使用了 Mahmood Arai 的 mclx 函数(代码可以在 here(第 4 页)中找到)。

我的想法是用已经报告正确标准错误的模型来提供包的中介函数。根据文档,中介包接受以下类别的模型:lm、polr、bayespolr、glm、bayesglm、gam、rq、survreg 和 merMod。

最佳答案

对我有用的是:

    model <- lm(data=dat, Y ~ X1 + X2 + X3)

library(sandwich)

SE_robust <- sqrt(diag(vcovHC(model, type="HC2")))

model2 <- summary(model)

model2$coefficients[,2] <- SE_robust

关于替换 R 中 Reg 模型中的标准误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31660528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com