Google Sheets是否有对应R语言qpois()的泊松分布分位数函数?
Google Sheets 中泊松分布分位数的计算方法
Google Sheets 目前没有内置的泊松分布分位数函数(对应R语言中的qpois()),不过你可以通过以下两种方式实现需求:
方法一:自定义函数(Google Apps Script)
通过编写简单脚本创建等效的QPOIS函数:
- 打开目标Google Sheets文档,点击菜单栏「扩展程序」→「Apps 脚本」
- 在脚本编辑器中粘贴以下代码:
function QPOIS(p, lambda) { if (p < 0 || p > 1) throw new Error("p必须在0到1之间"); if (lambda <= 0) throw new Error("lambda必须大于0"); let k = 0; let cumulativeProb = 0; while (cumulativeProb < p) { cumulativeProb += POISSON.DIST(k, lambda, false); if (cumulativeProb >= p) break; k++; } return k; }
- 保存脚本(命名为任意名称,比如PoissonQuantile),返回表格后即可像内置函数一样使用:
=QPOIS(0.90, 5)
该公式会返回8,和R语言qpois(p=0.90,lambda=5)的结果一致。
方法二:现有函数组合计算
如果不想使用脚本,可以用INDEX、MATCH和POISSON.DIST组合实现:
在单元格中输入以下公式:=INDEX(ROW(A1:A20)-1, MATCH(TRUE, ARRAYFORMULA(POISSON.DIST(ROW(A1:A20)-1, 5, TRUE)>=0.90), 0))
ROW(A1:A20)-1生成从0开始的整数序列(可根据lambda大小调整范围,比如扩大到A1:A30确保覆盖足够大的k值)POISSON.DIST(..., TRUE)计算每个k对应的累积概率MATCH找到第一个累积概率≥0.90的位置,INDEX返回对应的k值
内容的提问来源于stack exchange,提问作者Homer Jay Simpson
相关产品推荐
相关产品推荐

