R语言合并不同长度两组组合输出225组彩票号码的实现方法
R实现两组组合配对生成225注完整号码
- 注意两个前置修正点:
- R基础包没有
comb函数,所有组合生成统一使用combn()即可 - 你提供的6选2号码池存在重复值
14,如果是无重复选号场景需要先去重,若需要保留重复值可删除代码中的unique()
- R基础包没有
- 完整可运行代码:
# 生成6选4的所有组合 pool_4 <- c(16, 28, 5, 9, 13, 26) comb_4_list <- combn(pool_4, 4, simplify = FALSE) # 生成6选2的所有组合 pool_2 <- unique(c(32, 29, 14, 6, 3, 14)) comb_2_list <- combn(pool_2, 2, simplify = FALSE) # 生成两组的所有配对(笛卡尔积) all_match <- expand.grid(group4 = comb_4_list, group2 = comb_2_list) # 合并每组配对的号码并排序,得到完整投注组合 full_bets <- apply(all_match, 1, function(row) { sort(c(row$group4, row$group2)) }) # 转成数据框方便查看/导出 full_bets_df <- as.data.frame(do.call(rbind, full_bets)) colnames(full_bets_df) <- paste0("num_", 1:6) # 输出所有225组组合 print(full_bets_df)
- 运行说明:代码执行后
full_bets_df共225行,每行对应一组完整的6位投注号码,已经按从小到大排序,符合常规彩票号码展示规则。如果需要导出为csv文件,可补充运行write.csv(full_bets_df, "all_bets.csv", row.names = FALSE)。
内容的提问来源于stack exchange,提问作者Salchipapas
相关产品推荐
相关产品推荐

