1

我对 R 中的 lchoose 函数的理解很简单,就是 lchoose(a,b) = log(choose(a,b))。然而,我发现:

 temp <- 7.9999993
 k <- 8
 choose(temp,k)
 [1] 0
 lchoose(temp,k)
 [1] 0
 log(choose(temp,k))
 [1] -Inf

所以 lchoose 不是选择函数输出的日志。为什么会这样?

4

1 回答 1

2

在离散情况下(即 离散n),choose(n,k)计算一组元素中不同 k 元素子集的数量n,因此如果k > n,那么您正在计算一个集合的子集,该集合的元素比相应的集合更多。由于没有这样的子集,因此答案为零。

一般来说,对于n一个实数,该函数仍然可以计算,但是,该函数在离散值上仍然必须具有相同的含义,因此k>n该函数的值为零。如果你用实数查看二项式函数的定义n见这里),你会发现答案是零,但我希望能以直观的方式解释它。

于 2014-12-13T02:32:17.153 回答