gpt4 book ai didi

R data.table %like% 与逻辑 AND

转载 作者:行者123 更新时间:2023-12-04 10:56:21 24 4
gpt4 key购买 nike

我正在尝试构建一个作为搜索引擎的 Shiny 应用程序。
我正在根据搜索关键字返回一个 data.table:

DT <- data.table(field = c("A_B_C","A_C_D","A_D_A","B_A_D","B_C_F","B_D_K"))

DT[field %like% "A|B"]

以上返回所有包含 A OR B 的字段。
如果我想要 A & B:
DT[field %like% "A"][field %like% "B"]

是否有一种语法可以让我对任意数量的关键字执行上述操作。
就像是:
DT[field %like% "A & B & C"]

最佳答案

如果只有两个元素,分别比较,然后做&并对数据集进行子集

DT[field %like% "A" & field %like% "B"]
# field
#1: A_B_C
#2: B_A_D

如果要比较的字符串很多,请使用 ReduceMap .
DT[Reduce(`&`, Map(`%like%`, list(field), c("A", "B")))]
# field
#1: A_B_C
#2: B_A_D

关于R data.table %like% 与逻辑 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40130863/

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