我正在尝试使用序数逻辑回归(特别是 MASS 包中的 polr)计算一组生物标志物的优势比和相关 p 值。我一直在使用 epiDisplay 包中的 'ordinal.or.display()' 函数来查看回归结果,但请注意显示的 p 值与我手动计算的值之间存在差异……大约是两倍当我使用正态分布计算它时很大。我是否遗漏了特定于序数逻辑回归的某些内容,或者这是 epiDisplay 函数的问题?
我尝试查看 epiDisplay 包的文档(https://cran.r-project.org/web/packages/epiDisplay/epiDisplay.pdf),但没有找到任何解释 p 值是如何计算的. 非常感谢任何帮助或其他知识!
#the model using polr from MASS
#generating artifical outcome var from mt cars
mtcars <- mtcars
mtcars$outcome <- round(runif(nrow(mtcars))*5)
myMod <-polr(ordered(outcome) ~ factor(am)+ factor(carb)+ wt,
data = mtcars,
Hess = TRUE)
summary <- summary(myMod)
(ctable <- coef(summary(myMod)))
p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
## combined table: p = 0.624
(ctable <- cbind(ctable, "p value" = p))
ordinal.or.display(myMod) #p value = 0.312
我希望 p 值是相同的——epiDisplay 可能不会乘以 2 吗?