R统计:排列组合

2020-10-28  本文已影响0人  胡童远

导读

排列数:
从n个不同元素中取出m(m≤n)个元素的所有不同排列的个数。
组合数:
从n个不同元素中取出m(m≤n)个元素的所有不同组合的个数。

一、组合

1 组合数公式

2 R展示所有组合

combn(1:5, 3)

3 R计算组合数

choose(5, 3)

二、排列

1 排列数公式

2 二者关系

只差一个m!

3 R计算排列数

先算阶乘

# 计算m阶乘
factorial(3)

再算排列数=组合数*m!

choose(5, 3) * factorial(3)

三、n个数中取任意个数的组合

1 函数

yield_combine <- function(vec){
  vec <- sort(vec)
  out_list <- list()
  index <- 1
  for(i in 1:length(vec)){
    sub_com <- combn(vec, i)
    for(j in 1:ncol(sub_com)){
      out_list[[index]] <- sub_com[, j]
      index = index +1
    }
  }
  return(out_list)
}

2 三个数中取任意个数组合

yield_combine(1:3)

参考:
排列组合的一些公式及推导(非常详细易懂)

上一篇下一篇

猜你喜欢

热点阅读