gpt4 book ai didi

r - 如何让 %like% 运算符不区分大小写

转载 作者:行者123 更新时间:2023-12-04 14:24:09 25 4
gpt4 key购买 nike

有没有办法转%like% datatable 中的运算符包不区分大小写?例如 'hello' %like% 'HELlo'会匹配。

最佳答案

不依赖于 data.table 中的定义:

`%like%` <- function (x, pattern) { 
stringi::stri_detect_regex(x, pattern, case_insensitive=TRUE)
}
data.table将其定义为:
function (vector, pattern) 
{
if (is.factor(vector)) {
as.integer(vector) %in% grep(pattern, levels(vector))
}
else {
grepl(pattern, vector)
}
}

您可以覆盖 factor case 如果你喜欢,但它不是一个非常复杂的功能。里面没有“魔法”。

我用 stringi因为它(对于我的工作)比内置的字符串操作更强大,并且在引擎盖下提供了更多的功能。

您还可以将其定义为:
`%like%` <- function (x, pattern) { 
grepl(pattern, x, ignore.case=TRUE)
}

(再次,忽略 factor 案例)如果您愿意。你失去了矢量化 pattern这样做,寿。

取名 %likeic% (例如,忽略大小写)如果您不想压缩 data.table 的定义的 %like% .

关于r - 如何让 %like% 运算符不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41425699/

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