我正试图使用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
优势比输出样本:
我通常使用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)
如果你的分类变量有两个以上的级别,或者缺少值,这还不起作用。