我想使用R生成一个随机的20位数字。
我的第一次尝试是
runif(1,10000000000000000000,9999999999999999999)
但这似乎不起作用,因为R将9999999999999999999四舍五入为10000000000000000000.在我下降到15位之前,它似乎不接受“9999”数字:
> 9999999999999999999
[1] 10000000000000000000
> 999999999999999999
[1] 1000000000000000000
> 99999999999999999
[1] 100000000000000000
> 9999999999999999
[1] 10000000000000000
> 999999999999999
[1] 999999999999999
> 99999999999999
[1] 99999999999999
> 9999999999999
[1] 9999999999999
有没有更好的方法来解决这个问题?
答案 0 :(得分:8)
您可以将此数字生成为字符串:
paste( sample( 0:9, 20, replace=TRUE ), collapse="" )
# [1] "40910135645767200675"
答案 1 :(得分:1)
set.seed(1)
sprintf("%20.0f",runif(1,1e19,1e20))
#[1] "33895779682788999168"