r - 在 R 中求解一个类似于 Excel 中的 Goal Seeker 的函数
问题描述
我已经看到了一个类似的问题,但我不知道该怎么做。也许你可以帮忙。
ES <- function(y, z){-y * (1-pnorm(y/z)) + z * dnorm(y/z)} # = x
ES(906.19, 707.1) #33.47587
我想要的是求解 y,所以 z 和 x (33.4) 是已知的。我已经看到了解决和优化功能,但我无法获得预期的结果。
谢谢!
解决方案
我们可以使用uniroot
来找到ES(y, z) - x
给y
定值的根z = 707.1
和x = 33.4
。
ES <- function(y, z) -y * (1 - pnorm(y / z)) + z * dnorm(y / z)
res <- uniroot(function(x, y, z) ES(y, z) - x, c(0, 1000), z = 707.1, x = 33.4)
的解决方案y
是
res$root
#[1] 906.9494
我们确认E(y, z) = x
ES(res$root, 707.1)
#[1] 33.4
推荐阅读
- php - 如何从 Laravel 控制器发送换行符以在刀片页面消息中显示多行
- python-3.x - 在 Python 3 中使用请求进行的 API 调用返回 HTML 而不是 JSON
- python - pyinstaller,找不到文件回溯错误
- node.js - 如何从 API 请求向客户端发送 pdf
- mysql - SQL STR_TO_DATE
- matlab - 下载的非本地意味着过滤器不起作用
- r - 参数未在 hc_add_series 中命名
- angular - 访问此资源 angular sprig boot 需要完全身份验证
- c# - c#中的函数rejouer
- php - 使用 count(*) 搜索多个表的查询?