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

R语言:如何获取向量的无重复元素组合(排除同行重复项)

解决方法:过滤expand.grid中的重复元素行

没问题,要实现你想要的效果其实很简单!只需要在生成全组合之后,加一步筛选,把Var1和Var2元素相同的行去掉就好。

直接看代码示例:

test <- c("A","B","C","D")
# 生成所有有序组合
full_combinations <- expand.grid(test, test)
# 过滤掉Var1与Var2元素相同的行
filtered_combinations <- full_combinations[full_combinations$Var1 != full_combinations$Var2, ]
# 查看最终结果
filtered_combinations

运行这段代码后,你就能得到和期望完全一致的输出:

Var1 Var2
2     B    A
3     C    A
4     D    A
5     A    B
7     C    B
8     D    B
9     A    C
10    B    C
12    D    C
13    A    D
14    B    D
15    C    D

简单解释下逻辑:expand.grid(test, test)会生成4×4=16种所有可能的有序组合,我们用full_combinations$Var1 != full_combinations$Var2这个条件,筛选出两个列元素不相等的行,刚好去掉4个元素重复的行(A-A、B-B等),剩下的12行就是你需要的所有“无重复交易”项啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:11:41