【发布时间】:2021-09-02 16:43:01
【问题描述】:
我有一个要检查的向量 A = (34, 70) 位于一个非常大的矩阵(10700 x 3)中,因此 34 在第一列,70 在第二列,它们“在一起” “在同一行。使它复杂化的,让我难过的是,我需要对大约 2000 对数字和超过 20 个样本执行此操作。我能做到这一点的最快方法是什么?
【问题讨论】:
我有一个要检查的向量 A = (34, 70) 位于一个非常大的矩阵(10700 x 3)中,因此 34 在第一列,70 在第二列,它们“在一起” “在同一行。使它复杂化的,让我难过的是,我需要对大约 2000 对数字和超过 20 个样本执行此操作。我能做到这一点的最快方法是什么?
【问题讨论】:
一个选项是match
match(asplit(m1[, 1:2], 1), asplit(a1, 1))
#[1] 1 NA NA 1 2 NA
m1 <- cbind(c(34, 23, 35, 34, 42, 49), c(70, 24, 32, 70, 43, 234), 25)
a1 <- cbind(c(34, 42), c(70, 43))
【讨论】: