高山流水分享 http://blog.sciencenet.cn/u/friendpine 走在科学路上的一位无名侠客,只是静静的走着.........

博文

R中的排列组合,阶乘的计算

已有 33288 次阅读 2011-6-2 10:04 |个人分类:统计学与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


https://wap.sciencenet.cn/blog-54276-450738.html

上一篇:对于bootstrap的一些粗浅认识-2
下一篇:《Linear models with R 》学习笔记之一
收藏 IP: 159.226.118.*| 热度|

1 田灿荣

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-15 17:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部