如何在stargazer中为multinom模型自定义ci.custom置信区间?
解决stargazer中multinom模型ci.custom参数的适配问题
问题核心在于multinom模型的confint()返回三维数组(结构为「系数行 × 置信区间列 × 对比组维度」),而stargazer的ci.custom要求传入二维矩阵的列表——每个矩阵对应一组对比系数的置信区间(行是系数,列是上下限)。只需把三维数组拆分成对应对比组的二维矩阵列表即可解决:
具体步骤
- 先计算并保存模型的置信区间:
ci_m1 <- confint(m1)
- 将三维数组拆分为多个二维矩阵,每个矩阵对应一个对比组的置信区间:
# 按对比组维度拆分,生成对应数量的二维矩阵 ci_list <- lapply(1:dim(ci_m1)[3], function(i) ci_m1[,,i])
- 将拆分后的列表传入
ci.custom参数:
stargazer(m1, type = "text", ci.custom = ci_list)
补充说明
multinom作为多分类逻辑回归,会为基准组之外的每个类别生成一组系数,因此confint()的结果会多一个对比组维度。拆分后,ci_list中的每个元素都是符合stargazer要求的二维矩阵(行数=自变量数,列数=2,对应置信区间上下限),就能正常输出自定义置信区间了。
内容的提问来源于stack exchange,提问作者jrdavalos
相关产品推荐
相关产品推荐

