如何从r的有序回归中获得优势比的p值

  • 本文关键字:回归 r p-value ordinal
  • 更新时间 :
  • 英文 :


我正试图使用r从有序回归中获得我的比值比的p值。

我之前在log赔率上构造了p值,像这样

scm <- polr(finaloutcome ~ Size_no + Hegemony + Committee, data = data3, Hess = TRUE)
(ctable <- coef(summary(scm)))

计算并存储p值

p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
## combined table
(ctable <- cbind(ctable, "p value" = p))

我创建了这样的比值比:

ci <- confint.default(scm) 
exp(coef(scm))
## OR and CI 
exp(cbind(OR = coef(scm), ci))

然而,我现在不确定如何为比值比创建p值。使用前面的方法,我得到:

(ctable1 <- exp(coef(scm)))
p1 <- pnorm(abs(ctable1[, "t value"]), lower.tail = FALSE) * 2
(ctable <- cbind(ctable, "p value" = p1))

但是我得到错误:error in ctable1[, "t value"]: incorrect number of dimensions

优势比输出样本:

<表类>大小Hegem委员会tbody><<tr>9.992240 e-016.957805 e-021.204437 e-01

我通常使用lm或glm来创建模型(mdl <- lm(…)或mdl <- glm(…))。然后我在对象上使用summary来查看这些值。除此之外,你还可以使用尺子和扫帚。我推荐《R for Data Science》这本书。有一个关于建模和使用Tidymodels包的很好的解释。

我也经历过同样的困难。

我最后使用了打扫包中的tidy函数:https://broom.tidymodels.org/reference/tidy.polr.html

library(broom)
tidy(scm, p.values = TRUE)  

如果你的分类变量有两个以上的级别,或者缺少值,这还不起作用。

最新更新