从分布模拟R施加意外错误

时间:2019-01-26 23:55:00

标签: r lapply

我设置了以下函数,以使用gamma分布来模拟条目列表中的值。但是,当我使用MBBEFD发行版时,会产生错误消息,提示错误:“错误:期望单个值:[extent = 3]”

以下工作正常:

library(actuar)
library(mbbefd)

set.seed(1)
x <- 10e3
Data.1 <- data.frame(
    freq = c(1, 2, 3),
    shape = c(1, 9, 7.5), 
    scale = c(2, 0.5, 1))

compdist.1 <- lapply(Data.1$freq, function(k) rcomppois(x, k, rgamma(Data.1$scale, Data.1$shape), SIMPLIFY = FALSE))

但是,即使发行形式看起来还行,这似乎也不起作用

Data.2 <- data.frame(
    freq = c(1, 2, 3),
    gparam = c(50, 30, 10), 
    bparam = c(0.04, 0.05, 0.06))

plotdist(rMBBEFD(x,Data.2$gparam[1],Data.2$gparam[1]))
plotdist(rMBBEFD(x,Data.2$gparam[2],Data.2$gparam[3]))
plotdist(rMBBEFD(x,Data.2$gparam[3],Data.2$gparam[3]))

compdist.2 <- lapply(Data.2$freq, function(k) rcomppois(x, k, rMBBEFD(Data.2$gparam, Data.2$bparam), SIMPLIFY = FALSE)) 

我想知道是否可以更改lapply语句的形式以使其工作。

谢谢。

0 个答案:

没有答案