gpt4 book ai didi

r - 根据 id 向量中的匹配进行过滤

转载 作者:行者123 更新时间:2023-12-05 03:28:59 24 4
gpt4 key购买 nike

我正在寻找一个简单问题的 data.table 解决方案。我有这样的数据:

library(data.table)
data <- data.table(
id = c(1,1,2,3,3),
code = c("A1","A3", "B1", "A2", "B2")
)

我希望找到其中包含代码的唯一 ID

codes1 <- c("A1", "A2", "A3")

codes2 <- c("B1", "B2", "B3")

在两个单独的行上:可能的匹配项是那些唯一 ID,其代码与 codes1 codes2 中的元素匹配,对于第一行该唯一 ID 和与 codes1 codes2 中元素匹配的代码,用于该唯一 ID 的第二行(但如果代码包含在第一行codes1,第二行必须是codes2,反之亦然)

所以我想结束这个:

data_want <- data.table(
id = c(1,2,3),
match = c(0,0,1)
)

最佳答案

我们可以将 %in%any 一起使用

library(data.table)
data[, .(match = +(any(codes1 %in% code) & any(codes2 %in% code))), by = id]

-输出

      id match
<num> <int>
1: 1 0
2: 2 0
3: 3 1

关于r - 根据 id 向量中的匹配进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71116978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com