web-dev-qa-db-ja.com

Rの記号の後にテキストを抽出する

sample1 = read.csv("pirate.csv")
sample1[,7] 
[1] >>xyz>>hello>>mate 1
[2] >>xyz>>hello>>mate 2
[3] >>xyz>>mate 3
[4] >>xyz>>mate 4
[5] >>xyz>>hello>>mate 5
[6] >>xyz>>hello>>mate 6

最後の>>以降のすべての単語を含む配列を抽出して作成する必要があります。

これを行う方法?

また、(a)o qwerty、(b)mate1および(c)pirate1を次の文字列から異なる変数に抽出するにはどうすればよいですか?

p= '>>xyz- o qwerty>>hello>>mate1>>sole pirate1'

ありがとう

12
Looper
x <- c('>>xyz>>hello>>mate 1', '>>xyz>>hello>>mate 2', '>>xyz>>mate 3', ' >>xyz>>mate 4' ,'>>xyz>>hello>>mate 5')
sub('.*>>', '', x)
#[1] "mate 1" "mate 2" "mate 3" "mate 4" "mate 5"
13
Sotos

そのデータをRデータフレームに既に読み込んでいるとすると、次のようにstringrパッケージを使用できます。

library(stringr)
str_extract(df$mystring, '\\S+$')

たとえば、次のような文字列があるとします。

s <- '>>hello1>>hola1>>ahoy mate1'

あなたが得る:

str_extract(s, '\\S+$')
[1] "mate1"
3
Gopala