我想使用
scipy.stats.probplot
将以下代码从 R 翻译为 Python。
qqplot(-log10(ppoints(1000)), -log10(p_value)
这是 p 值与负对数刻度的均匀分布相比的 Q-Q 图。我正在追求类似以下的东西。 (我知道还有其他库可以实现此目的,但我正在寻找
probplot
的答案。)
probplot(-np.log10(p_values_data), dist="uniform", sparams=(0, 1), plot=plt)
这不能正常工作,因为 x 轴是统一的。这里,
plt
是由于import matplotlib.pyplot as plt
。我发现了帖子here等,但我没有找到任何关于修改dist
参数以适应-log10(uniform)
的信息。
如何使用
probplot
获得此图?
您可以手动转换数据,以便将它们与均匀分布进行比较:
transformed_data = -np.log10(p_values_data)
expected_quantiles = stats.uniform.ppf(np.linspace(0.001, 0.999, len(transformed_data)))
然后是您已经提供的命令