选择大值的函数

时间:2015-06-18 16:04:45

标签: r statistics formula

作为我正在计算的公式的一部分,我需要计算大的b因子系数

这就像:

choose(1598,999)

但是R的结果只是inf。有办法解决这个问题吗?或者用某种方式来估算结果?只是我正在尝试使用样本大小为n(1598)和另一个参数的公式 作为p(在这个casw 999中)。

所以我想计算

with n->16000
b->1000
c()->w
c()->w1
    for (k in 2:(n-1)){
      k*(k-1)*chooseZ((n-k),(b-1))->w
    c(w1,w)->w1
    }

虽然没有错误,但结果是错误的:

sum(w1)
Error in sum(w1) : invalid 'type' (raw) of argument
    > head(w1)
    [1] 01 00 00 00 01 00

2 个答案:

答案 0 :(得分:3)

尝试使用chooseZ包中的gmp

library(gmp)
chooseZ(1598,999)
Big Integer ('bigz') :
[1] 24278696426445719206411636658492530369104863587241559663553520984424347733955902209013400793410551248995223418598838685432844582570031038690080807851906250009888240115104285225539059084804496423089545062262737596184912679476923113553162874564650288993564978319447910715500162623621305510917593005744632186322124862050089421200736125546497281717999352152426164243210315176391085915104025111403152439452509792706140328536251214887318149223708091336739500080000

请注意,结果是一个bigz类对象,并且比数字类可以表示的大。

答案 1 :(得分:0)

您可以将print函数与指定的数字一起使用。不知道它是否适用于此。

语法为

print(choose(1598,999),digits = 20)

我认为打印上限是22位数。检查是否有效