You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何获取带指定限制条件的combinations(9,2)组合结果

R语言筛选符合条件的二元组合实现方法

实现步骤

你只需要先生成1-9中任选2个元素的所有升序组合,再按给定条件过滤即可,以下提供两种常用实现方式:

方法1:使用gtools包的combinations函数

首次使用需先安装gtools包,已安装可跳过安装步骤:

# 安装依赖包
install.packages("gtools")
# 加载gtools包
library(gtools)

# 生成1-9取2个的所有升序组合
all_comb <- combinations(n = 9, r = 2, v = 1:9)

# 按三个限制条件筛选
filtered_comb <- all_comb[
  all_comb[,1] > 2 & 
  all_comb[,2] < 7 & 
  (all_comb[,1] + all_comb[,2]) < 11, 
]

# 打印结果
print(filtered_comb)

运行后输出结果如下:

[,1] [,2]
[1,]    3    4
[2,]    3    5
[3,]    3    6
[4,]    4    5
[5,]    4    6

方法2:Base R原生实现(无需安装额外包)

用R自带的combn函数实现相同效果:

# 生成组合并转置为每行对应一个组合的矩阵
all_comb <- t(combn(x = 1:9, m = 2))

# 按条件筛选
filtered_comb <- all_comb[
  all_comb[,1] > 2 & 
  all_comb[,2] < 7 & 
  (all_comb[,1] + all_comb[,2]) < 11, 
]

# 打印结果
print(filtered_comb)

运行结果和方法1完全一致,共5条符合条件的组合,和预期结果匹配。

内容的提问来源于stack exchange,提问作者Oleg Sunok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:09:03