首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在r中绘制累积分布函数

在r中绘制累积分布函数
EN

Stack Overflow用户
提问于 2013-09-10 09:45:22
回答 2查看 3K关注 0票数 1

我有以下的pdf文件,

代码语言:javascript
运行
复制
f(x)=2(1-x)^2;  2=>x>1

现在我必须在r中绘制随机变量的cdf

代码语言:javascript
运行
复制
#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轴上的累积概率值。

我的变量也是连续的。

EN

回答 2

Stack Overflow用户

发布于 2013-09-10 10:11:08

响应评论中的代码:

代码语言:javascript
运行
复制
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" ) 
票数 2
EN

Stack Overflow用户

发布于 2013-09-10 10:28:44

您可以使用以下命令:

定义密度:

代码语言:javascript
运行
复制
f <- function(x) (2*(1-x)^2)*(1<x & x<=2)

打印密度:

代码语言:javascript
运行
复制
plot(f,0,3)

绘图CDF:

代码语言:javascript
运行
复制
plot(Vectorize(function(X)integrate(f,0,X)$value),0,3,add=TRUE)

注:0和3是曲线图中x轴的限制;您可以更改它们。还要注意你的密度不是标准化的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18709543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档