【发布时间】:2017-03-29 05:33:15
【问题描述】:
我有一个包含 100 个对象的列表,我使用它们创建了所有可能的对象对
pairs <- t(combn(my_objects, 2))
但是 A 组的任何对象都不能与 B 组的任何对象组合。 表示如果
group_A <- c(5:10)
group_B <- c(50:55)
应该删除一对 6 和 55,无论它们在哪一行。 5和6的组合是可以的。
如何检查每一行是否有这些“禁止”对之一并将其删除?我尝试了%in%,但我不知道如何将它用于多个对象。
编辑
我真正的问题是这样的: 我有一个 75 个字符的列表,A1 ... A75。它们应该组合成对。但是 group_A (5...10) 之一不应与 group_B (50...55) 之一结合。
第二步:pairs中的一行可以是:A1.A8 - A2.A.12.A51。这对也应该被删除。
我的数据框是:
pairs <- cbind (c("A1", "A9.A3", "A5", "A52.A12", "A8"),
c("A76.A14", "A50", "A2.A7", "A70", "A50.A51"))
group_A <- c("A5", "A6" "A7", "A8", "A9", "A10")
group_B <- c("A50", "A51", "A52", "A53", "A54", "A55")
我的目标 - 从pairsdata 框架中删除 group_A 和 group_B 项的所有组合。这样pairs =
[,1] [,2]
[1,] "A1" "A76.A14"
[2,] "A5" "A2.A7"
[3,] "A52.A12" "A70"
【问题讨论】:
-
请展示一个可重现的例子和预期的输出