了解 R 中的曲线函数

Understanding curve function in R

我是 R 的新手,正在努力更好地理解它的工作原理。

我不明白为什么函数曲线我们不需要写函数(x),我的意思是例如我们需要写的情节

 plot(function(x) pnorm(x,0,1),-3.5,3.5,col='BLUE',n=1000)

但是如果我们使用曲线,我们必须只写

  curve(pnorm(x,0,1),-3.5,3.5,col='BLUE',n=1000)

pnorm 前没有 function(x),为什么?

我关于曲线的第二个问题是为什么

curve(x+0 ,-3.5,3.5,col='BLUE',n=1000) 

工作正常但是

curve(x,-3.5,3.5,col='BLUE',n=1000)

returns 一个错误

谢谢!

当你

plot(function(x) pnorm(x,0,1),-3.5,3.5,col='BLUE',n=1000)

您实际上是在呼叫 plot.function。 (注意 ?plot?plot.functionplot() 的参数差异。)plot.function 需要一个函数作为它的第一个参数,而 curve 需要一个表达式:

# expr: The name of a function, or a call or an expression written as
#       a function of ‘x’ which will evaluate to an object of the
#       same length as ‘x’.

对于你的第二个问题,curve 似乎将 x+0 识别为一个表达式,但仅使用 x 它正在寻找名为 x 的对象(因此错误)。如果您将 x 分配给 x=5,那么

curve(x+0 ,-3.5,3.5,col='BLUE',n=1000)

也会 return 一个错误,因为现在肯定 x+0 不是一个表达式。 curve 中的变量 x 不一定是特殊的;您可以使用 xname 参数将变量更改为任何值。