R语言学习笔记—组合数
组合数:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。
代码:
str_comb <- function(vector){ n <- length(vector) num=0 #保留所有组合的个数 col=1 #用作循环叠加 for (i in 1:n) { num=num+choose(n,i) } #计算组合个数 comb_matrix <- matrix(,nrow = num,ncol = 1) #用矩阵保存组合结果 for (j in 1:n) { comb_res <- combn(vector,j) #产生长度为j的组合 m <- ncol(comb_res) #计算组合所在列数,即组合个数 for (l in 1:m) { comb_matrix[col,1] <- paste(comb_res[,l],collapse = ',')#字符组合函数 col=col+1 if(col==num)break#当组合数量达到最终个数后,跳出循环 } } return(comb_matrix) } a <- c('A','B','C','D') str_comb(a)
运行结果:
> str_comb(a) [,1] [1,] "A" [2,] "B" [3,] "C" [4,] "D" [5,] "A,B" [6,] "A,C" [7,] "A,D" [8,] "B,C" [9,] "B,D" [10,] "C,D" [11,] "A,B,C" [12,] "A,B,D" [13,] "A,C,D" [14,] "B,C,D" [15,] "A,B,C,D"
参考来源:https://www.cnblogs.com/rhongp/p/6383815.html
2018-04-30 22:51:32
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!