You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何提取MASS包polr模型summary输出中的AIC值

提取polr模型AIC的方法

方法1:直接调用R通用AIC函数

这是最简便的方案,不需要挖掘模型对象结构,直接用R内置的AIC()通用函数传入polr模型对象即可得到和summary输出完全一致的结果:

AIC(mod_polr)
# 对应示例代码输出结果为:6

方法2:手动计算验证

summary打印的AIC值不会预先存在模型或summary对象中,是打印时临时计算得到,计算公式为:

AIC = 残差偏差 + 2 * 模型参数总数
你可以从polr模型对象中直接提取对应字段自行计算:

# 提取模型残差偏差
deviance_val <- mod_polr$deviance
# 统计参数总数:自变量系数个数 + 有序分类截距(阈值)个数
param_num <- length(mod_polr$coefficients) + length(mod_polr$zeta)
# 计算得到AIC
aic_val <- deviance_val + 2 * param_num
aic_val
# 对应示例代码输出结果为:6

为什么找不到AIC的存储字段

polr返回的模型对象、summary(mod_polr)返回的结果对象都没有预先存储AIC值,该值是print.summary.polr方法在输出结果时临时计算生成的,所以你通过str()、attributes()都无法找到对应的存储位置。

内容的提问来源于stack exchange,提问作者theforestecologist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:36:03