首页 > 解决方案 > 公式中的数学问题,寻找直接的数学函数

问题描述

在已知 x、p 和 s 的情况下,我试图在 R 中解决这个问题: Find N such as qnorm(p, N, s)=q

示例:查找 N 例如30==qnorm(0.05, N, 3)

我的解决方案:

x<-seq(30, 50, 0.1)
y<-qnorm(0.05, x, 3)
plot(x,y)

看情节,解在35左右。我可以按照这个试验方法细化答案。

我的问题是:是否有解决此问题的直接功能?

标签: mathplotformulacalculation

解决方案


这里的关键是意识到qnorm(0.05, N, 3)与 相同qnorm(0.05, 0, 3) + N,因为所有mean参数所做的就是将整个分布向左或向右移动。因此,如果我们30 = qnorm(0.05, N, 3)重新排列它,我们会得到:

N <- 30 - qnorm(0.05, 0, 3)

N
#> [1] 34.93456

或者概括地说:

inv.qnorm <- function(goal, sd, p) goal - qnorm(p, 0, sd)

与使用序列查找方法相比,这为我们提供了更高的精度、速度和内存使用率的答案。


推荐阅读