如何制作广义beta分布图?

时间:2013-05-24 22:45:40

标签: r plot beta

我试图通过以下方式使用R(软件)绘制beta-gumbel分布图, 真实的想法是,在beta版本的pdf中,我们使用gumbel的cdf而不是插入x。但我无法得到正确的情节。

x <- seq(-3, 3, length=100)
Fx = pgumbel(x,loc=0,scale=1)
y = dbeta(Fx,shape1=0.5,shape2=0.5)
plot(x, y, type="l", lty=2, xlab="x value", ylab="Density",ylim=c(0,1))

1 个答案:

答案 0 :(得分:3)

当你说你没有使用任何附加软件包时,我不相信你:pgumbel()不在基础R中。library("sos"); findFn("pgumbel")在各种地方找到它,我使用过evd包。

这里有一些小问题。

library("evd")

主要的是你需要length=100而不是by=100(它为你提供单元素x向量):

x <- seq(-3, 3, length=100)

实际计算没问题:

Fx = pgumbel(x,loc=0,scale=1)
y = dbeta(Fx,shape1=0.5,shape2=0.5)

您需要更改ylim才能看到正在发生的事情。但是,我还认为你需要做一些事情来解释差异dx,以便获得一个适当的密度函数(更像是StackExchange而不是StackOverflow问题)。

par(las=1,bty="l")  ## my personal preferences
plot(x, y, type="l", lty=2, xlab="x value", ylab="Density",ylim=c(0,40))