**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我在R中运行线性回归模型,相关性非常显著-P值远低于标准2.2e-16。
回归的t统计量为-44.85,自由度为33689。
有没有一种方法可以得到精确的P值,甚至是-log 10(P)?我尝试了几种不同的方法-首先,Rmpfr包对学生的T分布没有很好的支持。
还有这篇文章:Decimal points - Probability value of 0 in Language R,但投票最高的评论中的答案并不完全正确。让我们假设我们使用该帖子中的给定示例:
d <- data.frame(x=rep(1:5,each=10))
set.seed(101)
d$y <- rnorm(50,mean=d$x,sd=0.0001)
lm1 <- lm(y~x,data=d)
由coef(summary(lm1))
可知,P = 9.690173e-203
答案是我们可以从下面得到一个log(P)(这就是我想要的):tval <- coef(summary(lm1))["x","t value"] 2*pt(abs(tval),df=48,lower.tail=FALSE,log.p=TRUE)/log(10)
它给出-404.6294。这个值不是log(P)。如果我们做-log 10(9.690173e-203),答案是202.0137;它不等于404.6294或404.6294/2 = 202.3147。
对此有什么解决方法吗?非常感谢您的帮助。谢谢!
1条答案
按热度按时间xmd2e60i1#
您可以用途:
这与p值的对数完全相似: