【发布时间】:2018-09-19 11:50:07
【问题描述】:
如何使用正则表达式模式从 R 数据表中 grep 列。
我需要提取具有字符串 "nbr[0-9]_"* 的列,例如 nbr1_L 或 nbr6_L
names<- c("nbr4","nbr4_L", "nbr5" ,"nbr6_L", "nbr7_L" ,"nbr4_L" ,"nbr4_L")
dt<- data.table(cbind("aa","bb","cc","dd","ff","gg","hh"))
setnames(dt,names)
我在下面尝试过
dt[, .SD, .SDcols = names(dt) %like% "nbr*_*"]
grep('^nbr\\d+\\_\\*$', names(dt), value=TRUE)
【问题讨论】:
-
grep("^nbr[[:digit:]]{1}_.$", names(dt), value=TRUE).
标签: r regex data.table