我需要制作一个矩阵/数据框,其中包含两个向量中元素的所有组合。所有组合都必须是唯一的,并且包含不同的元素。我知道我可以使用以下内容列出所有组合:
a<-c("cat","dog","cow")
b<-c("dog","cow","sheep")
combination<-as.matrix(expand.grid(a,b))
而且我可以使用以下方法删除两个元素相同的条目:
combination1<-combination[combination[,1]!=combination[,2],]
这给出了以下输出:
> combination1
Var1 Var2
[1,] "cat" "dog"
[2,] "cow" "dog"
[3,] "cat" "cow"
[4,] "dog" "cow"
[5,] "cat" "sheep"
[6,] "dog" "sheep"
[7,] "cow" "sheep"
我需要的是检测/删除具有相同字符串但顺序不同的行(第 2 行和第 4 行是“cow,dog”和“dog,cow”。在 R 中是否有一种简单的方法可以做到这一点?我'正在编写一个脚本来测试大麦中基因之间的相互作用,这非常冗长,我想避免两次测试相同的组合。任何帮助将不胜感激。