我是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之前没有函数(x),为什么?
我关于曲线的第二个问题是为什么
curve(x+0 ,-3.5,3.5,col='BLUE',n=1000)
工作正常但是
curve(x,-3.5,3.5,col='BLUE',n=1000)
返回错误
谢谢!
当你这样做
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
参数改变变量。