我希望使用 svyVGAM 的 svy_vglm 函数计算分类结果的调查加权百分比。例如,如果分类变量可以是 A、B 或 C,我只想估计 A、B 和 C 的加权人口水平百分比(带有 CI)。
使用更简单的 svy_glm 可以在二项式模型的响应尺度上获得这些预测值,但通常的函数似乎都无法为分类模型获得这些百分比和 CI。我觉得必须有一些简单的功能或方法来做到这一点,但我找不到任何有效的方法。
用于模型的表示如下,问题是如何从 svy_fit 对象获取每个类别的预期百分比及其 CI:
library(tidyverse)
library(svyVGAM)
set.seed(123)
cat_data <-
tibble(outcome = sample(c("A", "B", "C"), 1000, replace = TRUE),
weight = c(rep(2/3, 750), rep(2, 250)))
cat_svy_design <- svydesign(ids = ~1, data = cat_data, weights = cat_data$weight)
cat_svy_fit <- svy_vglm(formula = outcome ~ 1,
family = multinomial(refLevel = "A"),
design = cat_svy_design)
您可以像这样使用
predict
获得概率
head(predict(cat_svy_fit$fit,type="response"))
即,使用
$fit
组件,即 vglm
。我认为尚未提供预测的置信区间。