3

我以这种方式用 R 创建了两个函数:

 esp<-function(x) x*dexp(x,lambda)

然后 :

 esp2<-function(R) integrate(esp,0,R)

我可以绘制第一个,但是当我尝试绘制第二个时,我得到一个错误:

'expr' did not evaluate to an object of length n 

通过一些研究,我必须使用 sapply 函数或矢量化函数。但首先,我不知道为什么,其次它不起作用。

4

1 回答 1

4

您需要Vectorize它,因为它curve需要这样一个函数来计算绘图数据。它不起作用,因为integrate输出一个复杂的对象。因此,您需要隔离输出的相关部分:

esp2 <- function(R) integrate(esp,0,R)$value
plot(Vectorize(esp2))
于 2013-06-26T10:44:22.193 回答