2017-08-28 20 views
1

私は新しいRユーザーです。私はいくつかの助けが必要です。その位置に基づいて文字リストの特定の要素を選択する方法

私はこのように見えるのデータフレームがあります。

Type          ID 
pink-blue-blue-green-END     125 
blue-pink-END       145 
green-green-pink-END      489 
green-pink-blue-END      478 
pink-green-green-blue-END    546 

を私は「ピンク」の前にある「青」のすべての行をしたい、結果は

Type          ID 
pink-blue-blue-green-END     125 
green-pink-blue-END      478 
pink-green-green-blue-END    546 

そして私だろうだろう別のヒントを知りたいのです:)私は文字のリスト内のすべての "緑"を削除して、例えば1行目を持つことができます:

pink-blue-blue-END 

あなたの助けをありがとう

答えて

3

grepを使用して、「ピンク」という単語と1つ以上の文字とそれに続く単語「青」を一致させることができます。 gsub

df1$Type <- gsub("green-", "", df1$Type) 
を使用し、 \\bワード第二ケースに対する境界

df1[grepl("\\bpink\\b-.*\\bblue\\b", df1$Type),] 
#      Type ID 
#1 pink-blue-blue-green-END 125 
#4  green-pink-blue-END 478 
#5 pink-green-green-blue-END 546 

を意味することに注意してください

関連する問題