r中的逆概率权重

时间:2015-02-11 01:55:00

标签: r

我尝试将逆概率权重应用于回归,但lm()仅使用分析权重。这是复制的一部分,我正在处理原作者在Stata中使用pweight的位置,但我试图在R中复制它。分析权重提供较低的标准错误,这是导致我的一些变量出现问题。

我已尝试查看survey包,但不确定如何准备调查对象以用于svyglm()。这是我想要的方法,还是有更简单的方法来应用反向概率权重?

dput:

data <- structure(list(lexptot = c(9.1595012302023, 9.86330744180814, 
8.92372556833205, 8.58202430280175, 10.1133857229336), progvillm = c(1L, 
1L, 1L, 1L, 0L), sexhead = c(1L, 1L, 0L, 1L, 1L), agehead = c(79L, 
43L, 52L, 48L, 35L), weight = c(1.04273509979248, 1.01139605045319, 
1.01139605045319, 1.01139605045319, 0.76305216550827)), .Names = c("lexptot", 
"progvillm", "sexhead", "agehead", "weight"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -5L))

线性模型(使用分析权重)

prog.lm <- lm(lexptot ~ progvillm + sexhead + agehead, data = data, weight = weight)
summary(prog.lm)

1 个答案:

答案 0 :(得分:4)

好吧,所以我想出来,并认为我会更新帖子,其他人试图弄明白。它实际上非常简单。

data$X <- 1:nrow(data)
des1 <- svydesign(id = ~X,  weights = ~weight, data = data)
prog.lm <- svyglm(lexptot ~ progvillm + sexhead + agehead, design=des1)
summary(prog.lm)

标准错误现在正确无误。