我对 R 非常陌生,所以解决这个问题的方法可能相对简单。我有以下功能来计算普通汽车的停车距离:
distance <- function(mph){(2.0*(mph/60))+(0.062673*(mph^1.9862))}
Run Code Online (Sandbox Code Playgroud)
我正在绘制从 1 mph 到 60 mph 的所有停车距离:
range = distance(1:60)
Run Code Online (Sandbox Code Playgroud)
但我需要标记停止距离等于 120 英尺的位置。我不知道这是如何在 R 中完成的,但我想编写一个函数,其中对于停止距离(x),我得到汽车的最大速度(英里/小时)。我应该使用什么函数,有没有一种简单的方法来检查 distance(x) 的值(如上面所写)是否等于某个值?
一种方法是找出函数 -120 何时等于 0:
distance <- function(mph, dist=0){(2.0*(mph/60))+(0.062673*(mph^1.9862))-dist}
uniroot(distance, c(1, 60), dist=120)
## $root
## [1] 44.63998
##
## $f.root
## [1] -5.088982e-06
##
## $iter
## [1] 6
##
## $estim.prec
## [1] 6.103516e-05
Run Code Online (Sandbox Code Playgroud)
看看它是否有效:
distance(44.63998)
## [1] 120
Run Code Online (Sandbox Code Playgroud)