12/02/02 16:52:09.32
>>380
無理やりの処理だが、こんなんじゃ駄目?
mypois <- function(n=50,sum=150,adjtimes=10){
myvec <- rep(0,times=n)
mysum <- 0
for(i in 1:adjtimes){
mysum <- sum(myvec)
myvec <- myvec + sign(sum-mysum)*rpois(n,abs(sum-mysum)/n)
myvec[myvec < 0] <- 0
if( abs(sum-mysum) == 0 ){ break }
}
return(myvec)
}
> x <- mypois(50,150)
> x
[1] 3 2 3 2 5 3 4 5 4 0 1 1 5 4 6 3 5 5 0 4 4 3 4 5 4 7 1 4 1 2 1 2 3 2 1 3 7 2
[39] 0 2 2 3 0 1 3 6 3 4 2 3
> sum(x)
[1] 150