2017-05-01 18 views
1

Rrmultinom関数を使用して大規模な母集団値を配布しようとしていますが、整数のオーバーフローに関する問題がありました。例えば、以下は、私は、このエラーを大きな整数を持つrmultinom

を与える:

rmultinom(1, 7000000000, prob = c(0.4,0.6)) 

Error in rmultinom(1, 7000000000, prob = c(0.4, 0.6)) : 
    invalid second argument 'size' 
In addition: Warning message: 
In rmultinom(1, 7000000000, prob = c(0.4, 0.6)) : 
    NAs introduced by coercion to integer range 

私は.Machine$integer.max= 2147483647よりも大きな整数を使用していますので、これは知っているが、誰もがカウントの精度を失うことなく、回避策を知っているん?

+1

、たとえば、のチャンクでそれを行うことができます「prob」。これらのランダムサンプルを生成することは、追求するのに便利なことですか? – Marius

答えて

2

もしそれを分けることができればうまくいくでしょう。私たちは、私は任意のランダムな値は、あなたが `に与える「真」の割合に非常に近く、非常に終わるしようとしていると思うだろう百万測定このような大規模な人口サイズの

chunksize <- 1000000 
chunks <- 7000000000/chunksize 

rowSums(rmultinom(chunks, chunksize, prob=c(.4, .6))) 
関連する問題