R语言【基本计数原理与技巧

您所在的位置:网站首页 计算机怎么算阶层 R语言【基本计数原理与技巧

R语言【基本计数原理与技巧

2024-06-14 17:13| 来源: 网络整理| 查看: 265

加法原理定义:做一件事有n种方法,第一类有 m 1 m_1 m1​种方法,第二类有 m 2 m_2 m2​种方法,…第n类有 m n m_n mn​种方法,完成这件事共有 m 1 m_1 m1​+ m 2 m_2 m2​+…+ m n m_n mn​种不同的方法。

乘法原理定义:如果完成一个事件可以分解为n个独立的步骤,每个步骤均有m种实现方式,那么,完成这一事件总共有mxn种方法。

分类问题用加法,分步问题用乘法。

定义 1.1 (阶乘) 阶乘(factorial),即阶乘式的乘法,定义如下: n ! = n × ( n − 1 ) × ( n − 2 ) × . . . × 3 × 2 × 1 n! = n\times(n-1)\times(n-2)\times...\times3\times2\times1 n!=n×(n−1)×(n−2)×...×3×2×1 规定 0! = 1.

有时可能遇到双阶乘(double factorial),其定义为 n ! ! = { n × ( n − 2 ) × . . . × 4 × 2 , n 为 偶 数 ; n × ( n − 2 ) × . . . × 3 × 1 , n 为 奇 数 n!! = \begin{cases} n\times(n-2)\times...\times4\times2, n为偶数; \\ n\times(n-2)\times...\times3\times1, n为奇数\\ \end{cases} n!!={n×(n−2)×...×4×2,n为偶数;n×(n−2)×...×3×1,n为奇数​ 仍规定0!! = 1

在R语言中,计算阶乘的命令为factorial()、例如,求10!的命令为

factorial(10) [1] 3628800

定义1.2 (排列) 排列(permutation)是指从n个不同元素中无放回(without replacement)地抽取r(r ≤ \leq ≤n)个元素所排成的一列(考虑元素的先后次序)此排列的总数为 n P r _nP_r n​Pr​,又记为 P n r P^r_n Pnr​或 A n r A^r_n Anr​(A是排列的另一英文Arrangement的首字母),排列的计算方式如下: n P r = n ! ( n − r ) ! _nP_r = \frac{n!}{(n-r)!} n​Pr​=(n−r)!n!​ 特别地,有 n P n = n ! _nP_n = n! n​Pn​=n!.

定义1.3(组合) 组合(combination)是指从n个不同 的元素中无放回地抽取r(r ≤ \leq ≤n)个元素并成一组(不考虑元素的先后次序),记为 n C r _nC_r n​Cr​或 C n r C^r_n Cnr​或 ( r n ) (^n_r) (rn​)。或者说,组合数其实考虑的是n个不同元素中无放回地抽取r(r ≤ \leq ≤n)个元素,可以构成的不同子集的个数,组合的计算方式如下: n C r = n P r r ! = n ! ( n − r ) ! r ! _nC_r = \frac{_nP_r}{r!} = \frac{n!}{(n-r)!r!} n​Cr​=r!n​Pr​​=(n−r)!r!n!​ 特别地,规定 n C 0 = n C n = 1 _nC_0 = _nC_n = 1 n​C0​=n​Cn​=1.

R中计算组合的命令为choose(n,k),给出的是 n C K _nC_K n​CK​的值,例如,求 10 C 5 _{10}C_5 10​C5​的命令为

choose(10, 5) [1] 252

计算排列的命令,如 10 P 5 _{10}P_5 10​P5​时,可利用关系式 10 P 5 = 10 C 5 × 5 ! _{10}P_5 = _{10}C_5\times5! 10​P5​=10​C5​×5!,输入如下命令:

choose(10, 5) * factorial(5) [1] 30240


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3