了解R中的曲线功能

时间:2019-02-13 23:57:24

标签: r curve

我是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)

返回错误

谢谢!

1 个答案:

答案 0 :(得分:1)

完成时

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

您实际上是在呼叫plot.function。 (请注意plot()?plot?plot.function的自变量不同。)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)

也将返回错误,因为现在确定x+0不是表达式。 x中的变量curve不一定特殊。您可以使用xname参数将变量更改为任意值。