【发布时间】:2022-12-08 01:54:26
【问题描述】:
我正在尝试过滤 data.table 的一些文本,寻找与 dplyr::filter 类似的方法(出于效率原因,我正在使用 data.table 方法)。
但是,data.table 中的过滤过程只返回找到完全匹配的字符串。相反, dplyr::filter 返回找到模式的行,而不仅仅是当它是精确模式时。
请参阅下面的示例。
df <- data.frame (first = c("value_1 and value_2", "value_2", "value_1", "value_1"),
second = c(1, 2, 3, 4))
dt.output <- setDT(df)[first %in% c("value_1") ]
filter.output <- dplyr::filter(df, grepl("value_1", first))
dt.output 仅返回唯一包含 value_1 (3, 4) 的行。
filter.output 返回包含value_1 (1, 3, 4) 的行
是否可以使用 data.table 过滤文本,同时返回与 dplyr::filter 相同的结果?
df <- data.frame (first = c("value_1 and value_2", "value_2", "value_1", "value_1"),
second = c(1, 2, 3, 4))
dt.output <- setDT(df)[first %in% c("value_1") ]
filter.output <- dplyr::filter(df, grepl("value_1", first))
【问题讨论】:
标签: r text data.table