问题描述
我正在使用 R 分析来自青年风险行为调查的复杂调查数据。
我使用包“mice”创建了多个插补来解释缺失的数据,并在“mitools”中创建了一个插补列表。有了这些数据,我在重新加权的调查设计中运行序数回归模型(使用“svyVGAM”),使用“调查”中的 with.imputationList 函数。我已经将我的第一个模型的插补合并到一个单独的数据集中,并在 'mitools' 中使用 MIcombine。
现在我需要创建边际效应图,跟踪响应变量中不同多项选择选项的回归系数的变化。 (预测变量是管理年份;想法是观察这些系数的变化——选择每个答案选项的边际概率——从一个调查管理到下一个,在几个不同的调查中。)
我一直在使用 'ggeffects',它通过重复运行回归来计算插补数据集中的边际效应,然后合并结果(尽管如上所述,我已经运行并结合了这些与 'Survey' & ' mitools'。'ggeffects' 似乎无法利用这些结果)。这是生成对象“预测”的代码,其中包含五组回归参数,这些参数将被另一个函数 (pool_predictions(predictions)) 合并:
predictions <- lapply(1:5,function(i) {
m <- svy_vglm (
tvt_asd~1+year,cumulative(link="probitlink",parallel=TRUE),yrbs_svyimputationList$designs[[i]]
)
ggpredict(m,"tvt_asd","year")})
仅供参考,yrbs_svyimputationList 是由survey:svydesign() 生成的对象,它包含我运行的5 个插补中的每一个的survey.design 对象。这些应该在 svy_vglm 中连续提供“设计”参数。另外,关于 svy_vglm 家族的争论,这似乎引起了麻烦。 svy_VGAM 文档指向家庭的 VGAM:vglm 文档。在那里,我找到了累积模型的结构如下
cumulative(link="logitlink",parallel=FALSE...)
(我使用的是 probit,而不是 logit,并且我省略了我不需要的参数。)但是当我尝试运行它时,我遇到了一系列错误。先到先得
Error in cumulative(link = "probitlink",parallel = FALSE) :
unused argument (parallel = FALSE)
所以我去掉了并行参数(即使我以后想用它来区分 5 个可能的顺序响应),我得到这个错误:
Error: 'probitlink' is not a supported link for family 'cumulative'.
Supported links are: 'logit','probit','probit_approx','cloglog','cauchit'
这很奇怪,因为 VGAM 文档指定了“probitlink”。所以我把它改成“概率”,我得到了一个错误:
Error in vglm(formula,family,data = surveydata,weights = .survey.prob.weights,:
'family = cumulativeprobitfunction (mu)
link(mu,link = slink)function (eta)
ilink(eta,link = slink)c("mu","disc")intc(-Inf,Inf)c(NA,NA)c("weights","subset","thres","cat")c("ordinal","ordered_thres","thres_minus_eta")logflexible' is not a VGAM family function
我从VGAM族函数列表中复制出来的怎么不是“一个VGAM族函数”?
我希望有人能让我直截了当:我如何检索对汇总、重新加权的复杂调查数据的边际效应?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)