rmultinom有大整数

时间:2017-05-01 01:53:17

标签: r statistics

我正在尝试使用rmultinom中的R函数来分配大群体值,并且我遇到了整数溢出问题。

例如,以下内容给出了我的错误:

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 个答案:

答案 0 :(得分:3)

好吧,如果你可以分开它,那么它就可以了。我们可以用100万次测量来完成这项工作

chunksize <- 1000000
chunks <- 7000000000 / chunksize

rowSums(rmultinom(chunks, chunksize, prob=c(.4, .6)))