我想制作一组从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)
}