You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在R语言中提取零膨胀回归模型的p值?

在R中提取零膨胀回归模型的p值

嘿,我来帮你搞定从零膨胀负二项回归模型里提取p值的事儿!从你给出的summary输出来看,模型已经算出了p值,咱们只需要用代码把它们提取出来就行,下面分两种常用方法给你演示:

方法1:直接从summary对象中提取

首先,假设你已经用pscl包拟合好了模型,并且把它存成了model对象:

library(pscl)
# 你的拟合代码
model <- zeroinfl(formula = Walk ~ WalkIndex, data = walkadata, subset = offset(Total_commuters), dist = "negbin")

先生成模型的summary对象:

model_summary <- summary(model)

零膨胀模型分为**计数模型(count component)零膨胀模型(zero component)**两部分,咱们分别提取它们的p值:

  • 提取计数模型的p值(包括截距、WalkIndex和theta的p值):
count_pvals <- model_summary$coefficients$count[, "Pr(>|z|)"]
print(count_pvals)

运行后你会得到像这样的结果(对应你给出的输出):

(Intercept)   WalkIndex  Log(theta) 
      <2e-16       <2e-16       <2e-16 
  • 如果你的模型有零膨胀部分的系数(你的输出里没显示全,可能是截断了),提取零膨胀模型的p值用这行:
zero_pvals <- model_summary$coefficients$zero[, "Pr(>|z|)"]
print(zero_pvals)

方法2:用lmtest包的coeftest函数提取

这个方法更灵活,还能帮你做额外的统计检验,步骤如下:
首先安装并加载lmtest包:

install.packages("lmtest")
library(lmtest)

然后分别对计数和零膨胀部分做系数检验,直接输出包含p值的结果:

# 查看计数部分的系数及p值
coeftest(model, component = "count")

# 查看零膨胀部分的系数及p值
coeftest(model, component = "zero")

如果只需要提取p值,用下面的代码:

count_pvals_coeftest <- coeftest(model, component = "count")[, 4]
zero_pvals_coeftest <- coeftest(model, component = "zero")[, 4]

这样你就能把p值单独提取出来,方便后续的分析或者可视化啦!

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

火山引擎 最新活动