R中的分列组合,阶乘的计较
参考了网上的一些资料,获得了下面的一些函数可以做这些事。组合数的计较:从N中选择K个用函数 choose(N,K)阶乘的计较有三种要领:1)factorial(N),最快的要领2) prod(1:N),最慢的要领3) gamma(N+1),也长短常快的算法可以看下面的一个测试:> system.time(replicate(10000000,gamma(101))) 用户 系统 流逝 45.271 0.484 45.754 > system.time(replicate(10000000,factorial(100))) 用户 系统 流逝 43.443 0.336 43.808 > system.time(replicate(10000000,prod(1:100))) 用户 系统 流逝 58.404 0.604 59.035
有了组合的计较和阶乘的计较要领,分列数的计较就简朴了,P(N,K)=choose(N,K) * factorial(K)
参考自统计之都论坛 http://cos.name/cn/topic/8522