从R中的for循环中的多个分布生成值集

时间:2018-04-24 21:04:38

标签: r for-loop distribution mixture

我想制作一组从3个不同分布派生的新值的矢量/数据列表,其中两个是lnorm,1是混合均匀分布。我需要将每个这些分布的生成值加总为一个值(v1 + v2 + v3),以便将分布拟合为3个分布的总和。

我的代码没有将分布总和汇总到一个数据集中(带有函数:list),我不确定代码的UnivarMixingDistribution函数部分是否有效?我希望它生成一个值并将其保存到xv3中并将其添加到另外两个值中。

显示的错误是:

In e[i] <- list(v1, v2, xv3) :
  number of items to replace is not a multiple of replacement length

代码:

e <- list(mode="vector",length=n)
for(i in 1:1000){
    v1=rlnorm(n, mean, sd) #simulate values for lnorm distribution
    v2=rlnorm(n, mean, sd)
    v3=myMixv4<-UnivarMixingDistribution(Unif(Min=, Max=), #1st distribution
                                         Unif(Min=, Max=), #2nd distribution
                                         mixCoeff=c((ND/n),
                                                    (Detected/n)))
    rmyMixv3<-r(myMixv3)
    xv3 <- rmyMixv3(1)
    e[i] <- list(v1,v2,xv3)
}

0 个答案:

没有答案