非统计学家在这里试图用Python复制一些代码。
R具有qchisq
功能。
qchisq(c(0.5, 0.1, 0.99), df=1, lower.tail=F)
# [1] 0.4549364231 2.7055434541 0.0001570879
它可以像Python一样在Python中复制:
from scipy.special import chdtri
import pandas as pd
chdtri(1, pd.Series([0.5, 0.1, 0.99]))
# Out[57]:
# 0 0.454936
# 1 2.705543
# 2 0.000157
然而,Rs qchisq
也可以有log.p
标志,这可以让我这样做:
qchisq(-c(0.5, 0.1, 0.99) * log(10), df=1, lower.tail=F, log.p=T)
# [1] 1.00448472 0.06796154 2.66885996
我无法在Python中找到任何方法。我如何实现同样的目标?
答案 0 :(得分:2)
在没有在R中设置参数的情况下尝试重新设置log.p
的效果可能很有用:
qchisq(.5, 1, lower.tail = FALSE)
# 0.4549364
qchisq(-.5, 1, lower.tail = FALSE, log.p = TRUE)
# 0.265258
qchisq(exp(-.5), 1, lower.tail = FALSE)
# 0.265258
对于具有log(10)
的部分:
qchisq(exp(-c(0.5, 0.1, 0.99)*log(10)), df=1, lower.tail=F)
# [1] 1.00448472 0.06796154 2.66885996
似乎是qchisq(exp(x)) == qchisq(x, log.p = TRUE)
。