gpt4 book ai didi

r - 如何根据子字符串匹配选择 R data.table 行(类似于 SQL)

转载 作者:行者123 更新时间:2023-12-03 06:12:52 25 4
gpt4 key购买 nike

我有一个带有字符列的 data.table,并且只想选择其中包含子字符串的行。相当于 SQL WHERE x LIKE '%substring%'

例如

> Months = data.table(Name = month.name, Number = 1:12)
> Months["mb" %in% Name]
Empty data.table (0 rows) of 2 cols: Name,Number

如何仅选择名称包含“mb”的行?

最佳答案

data.table 有一个like 函数。

Months[like(Name,"mb")]
Name Number
1: September 9
2: November 11
3: December 12

或者,%like% 看起来更好:

> Months[Name %like% "mb"]
Name Number
1: September 9
2: November 11
3: December 12

请注意,%like%like() 使用 grepl(返回逻辑向量)而不是 grep (返回整数位置)。这样它就可以与其他逻辑条件结合起来:

> Months[Number<12 & Name %like% "mb"]
Name Number
1: September 9
2: November 11

您还可以获得正则表达式搜索的强大功能(不仅仅是 % 或 * 通配符)。

关于r - 如何根据子字符串匹配选择 R data.table 行(类似于 SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630335/

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