-1

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

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))
4

1 回答 1

3

当您说您没有使用任何附加软件包时,我不相信您:pgumbel()不在base 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))
于 2013-05-25T01:58:35.000 回答