【发布时间】:2018-01-24 06:23:36
【问题描述】:
我想选择DT1 中与模式flux 匹配的列,然后只保留与预定义向量vec1 中的值相似的行
样本数据
library(data.table)
DT1 <- structure(list(flux_1 = c(1, 6, 2, 9, 5),
FileName = c("prac_1", "prac_2", "prac_3", "prac_4", "prac_5")),
.Names = c("flux_1", "FileName"),
class = c("data.table", "data.frame"),
row.names = c(NA, -5L))
DT1
flux_1 FileName
1: 1 prac_1
2: 6 prac_2
3: 2 prac_3
4: 9 prac_4
5: 5 prac_5
vec1 <- c(6, 2)
以下代码有效,但我需要明确指定flux_1。
DT1[ flux_1 %in% vec1]
flux_1 FileName
1: 6 prac_2
2: 2 prac_3
我在想这样的事情,但没有成功
DT1[, .SD, .SDcols = names(DT1) %like% "flux"] %>%
.[. %in% vec1]
Empty data.table (0 rows) of 1 col: flux_1
感谢任何建议!谢谢!
【问题讨论】:
标签: r dplyr data.table pattern-matching