2017-11-03 5 views
-3

Rの質問にはおそらく本当にダムのgreplがあります。謝罪、これはとても簡単なように思われるので、私は明らかに何かを見逃しています。データフレームのすべてのN番目の要素と一致する

私は文字data.frameを持っています。それをtestとしましょう。 testのいくつかを以下にプリントアウトされます。ctn_idの第六の文字が7である場合、その結果を表示する:

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セクションに見て、言ってテストを実行します。

私はsubを使用してこれを実行しようとしていますが、特定の要素番号を持つことで少し複雑になります。

+2

私は([ 'substr'] httpsを使用すると、' grepl'が必要だと思う、としません:// STATを。 – bouncyball

+0

私はsubstrの特定の文字を見つけることができますが、私の場合は6番目の文字を7にする必要があります。おそらくsubstr(test $ ctn_id、6、6)です。ここで、6と6は開始点と終了点です。 –

+1

ヘルプファイルを読んだことがありますか?例えば'substr(x = c( 'fooba7haz'、 'fooba8haz')、start = 6、stop = 6)==" 7 "' – bouncyball

答えて

0

文字列の先頭から任意の5つの文字にマッチするgreplを使用して、数7

grepl("^.{5}7", df1$ctnid) 
df1$ctnid[grepl("^.{5}7", df1$ctnid)] 

[1] 503057701271 93050704897 
関連する問題