【发布时间】:2021-09-16 10:45:12
【问题描述】:
我正在尝试逐行比较数据框 d1 中的 2 列与数据框 d2 中的 2 列。为了说明我创建虚拟数据集的问题:
d1 <- data.frame(
a = c(1,2,3),
b = c(4,5,6)
)
d2 <- data.frame(
a = c(2,0,2),
b = c(5,5,6)
)
理想情况下,我想标记d1 中的所有行,我可以在d2 的至少一行中找到匹配项,所以想要的结果是:
data.frame(
a = c(1,2,3),
b = c(4,5,6),
flag = c(0,1,0)
)
这是我尝试过的:
for (i in 1:nrow(d1)) {
for (j in 1:nrow(d2)) {
test[i,j] = ifelse(d1$a[i] == d2$a[j] & d1$b[i] == d2$b[j], 1, 0)
}
}
for 循环是最好的解决方案
【问题讨论】:
-
因为 d2 中没有 a=3 和 b=6 的行