【问题标题】:R data.table i = MYVAR != %like% "something|somethingelse|somethingmore",R data.table i = MYVAR != %like% "something|somethingelse|somethingmore",
【发布时间】:2013-10-03 02:05:19
【问题描述】:

我有一个 data.table 查询的通用表单,我可以在其中子集我的数据以仅查看与 %like% 语句匹配的值,它看起来像

DT[Var %like% "x|y|z", .N,]

对于排除值的一般操作符

i = x != "somevalue",

如何将这些组合起来以忽略听起来 %like% 某个值的值,而只返回与这些请求不匹配的集合。

这里的上下文是一个包含客户数据的大型数据库,并试图删除不需要的数据,因此这个列表比我感兴趣的列表要小得多。

【问题讨论】:

  • 你能说明你对%like%的定义吗?
  • 在 R 中,您通常可以用通常的方式构建复合条件,例如 (cond1) & (!cond2);这也适用于i...
  • 我已经删除了实际的 char 值,但它看起来像这样 DT[Var != %like% "valuex|orthis|orthistoo", .N,]
  • 哦,对不起,我没有意识到 %like% 是在 data.table 包中定义的。我想你在找DT[!(var %like% 'expr')]
  • 干杯@Frank 谢谢!那成功了。应该看起来像DT[!(Var %like% "valuex|orthis|orthistoo"), .N,]

标签: r data.table


【解决方案1】:

我想你正在寻找

DT[!(var %like% 'expr')]

有关其他逻辑运算符的信息可以在同一帮助页面上找到;在控制台中输入?`!`打开它。

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 2014-06-28
    • 1970-01-01
    • 2012-05-12
    相关资源
    最近更新 更多