我在R问题中可能是一个非常愚蠢的grepl
。道歉,因为这看起来应该很容易 - 我显然只是遗漏了一些东西。
我有一个字符data.frame,我们称之为test
。部分test
打印在下方:
userid st_dt_tm ctnid
PULCHNT 11/1/2017 16:54 503050724908.00
PULCHNT 11/1/2017 17:47 503057701271.00
KNIGHTJ 11/1/2017 22:13 503050726708.00
CACEREB 11/1/2017 16:59 503050719729.00
CONCEPM 11/1/2017 19:33 503050725209.00
HWHITAK 11/1/2017 23:08 93050704897.00
OPOKUGE 11/1/2017 11:11 503040703209.00
NIEMIES 11/1/2017 11:59 503050700514.00
CACEREB 11/1/2017 13:23 503050710931.00
FOSTERV 11/1/2017 20:22 503050715018.00
我想查看数据框的ctn_id
部分并执行测试说:如果ctn_id
的第6个字符是7,则显示结果。
我一直在尝试使用sub
执行此操作,但具有特定的元素编号会让我觉得有点复杂。
答案 0 :(得分:0)
使用grepl
匹配字符串开头的任意五个字符,然后匹配数字7
grepl("^.{5}7", df1$ctnid)
df1$ctnid[grepl("^.{5}7", df1$ctnid)]
[1] 503057701271 93050704897