1

我有以下pdf,

f(x)=2(1-x)^2;  2=>x>1

现在我必须cdfr.

#cumulative distribution function

Fx <- function(x){
          (2/3) * (x^3-3*x^2+3*x-1)
      }

R <- runif(100,1,2)

cum_prob <- Fx(R) # determining cumulative probability

但我不知道我应该使用哪个命令来绘制cdf.

hist()&barplot()不适用于 cdf。因为据我所知绘制 cdf,它需要 X 轴上的随机变量值和 Y 轴上的累积概率。

我的变量也是连续的。

4

2 回答 2

2

你可以使用这个:

定义密度:

f <- function(x) (2*(1-x)^2)*(1<x & x<=2)

地块密度:

plot(f,0,3)

绘制 CDF:

plot(Vectorize(function(X)integrate(f,0,X)$value),0,3,add=TRUE)

注:0 和 3 是图中 x 轴的界限;你可以改变它们。另请注意,您的密度未标准化。

在此处输入图像描述

于 2013-09-10T02:28:43.577 回答
2

回复评论中的代码:

fx <- function(x)2*(x-1)^2 
integrate(fx,1,2)
#------------
0.6666667 with absolute error < 7.4e-15
plot(seq(1,2,by=0.01), cumsum(fx(seq(1,2,by=0.01))*0.01 ), type="l" ) 
于 2013-09-10T02:11:07.720 回答