该R函数expand.grid返回所提供参数的元素之间的所有可能组合.例如
> expand.grid(c("aa", "ab", "cc"), c("aa", "ab", "cc"))
Var1 Var2
1 aa aa
2 ab aa
3 cc aa
4 aa ab
5 ab ab
6 cc ab
7 aa cc
8 ab cc
9 cc cc
Run Code Online (Sandbox Code Playgroud)
你知道一种直接获得的有效方法(所以没有任何行比较之后expand.grid)只提供所提供的矢量之间的"唯一"组合吗?输出将是
Var1 Var2
1 aa aa
2 ab aa
3 cc aa
5 ab ab
6 cc ab
9 cc cc
Run Code Online (Sandbox Code Playgroud)
编辑每个元素与自身的组合最终可以从答案中丢弃.我实际上并不需要它在我的程序中,即使(数学上)aa aa将是一个元素Var1和另一个元素之间的一个(常规)唯一组合var2.
解决方案需要从两个向量生成元素对(即每个输入向量中的一个 - 以便它可以应用于多于2个输入)