理解R中的曲线函数

问题描述 投票:0回答:1

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

返回错误

谢谢!

r curve
1个回答
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参数改变变量。

© www.soinside.com 2019 - 2024. All rights reserved.