-2

この種のデータを文字マトリックスの列に入れています。V1列にgrep関数を適用して、「OK」、「ERROR」、または「NOISE」の文字列を検出し、それらを新しい列に保存したいと思います。

画像1より

"";"V1"
"img1";"19293.jpg : H344.8º : OK"
"img1";"19293.jpg : 9.6Kt : OK"
"img1";"19293.jpg : 44º31.449H'N : ERROR"
"img1";"19293.jpg : 2º31.238'W : OK"

"img2";"19294.jpg : H344.8º : OK"
"img2";"19294.jpg : 9.6Kt : OK"
"img2";"19294.jpg : 44º31.449H'N : NOISE"
"img2";"19294.jpg : 2º31.238'W : OK"

"img3";"19295.jpg : H344.8º : OK"
"img3";"19295.jpg : 9.6Kt : OK"
"img3";"19295.jpg : 44º31.449H'N : OK"
"img3";"19295.jpg : 2º31.238'W : OK"

...

img nまで

ありがとう!

4

2 に答える 2

2

これを試して:

 data$extracted <- gsub('^.*(OK|ERROR|NOISE)$|^.*$', '\\1', data$V1)

これにより、検索する文字列が確実に保持され、それ以外の場合は空の文字列が使用されます。

于 2013-07-18T13:08:42.380 に答える
1

でデータファイルを読み込みます

x <- read.table( "data.dat", sep = ";", header = TRUE )

の最後の単語で列を追加x$v1

library( stringr )
x$extr <- word( x[,2], -1 )
x
      X                               V1  extr
1  img1         19293.jpg : H344.8º : OK    OK
2  img1           19293.jpg : 9.6Kt : OK    OK
3  img1 19293.jpg : 44º31.449H'N : ERROR ERROR
4  img1      19293.jpg : 2º31.238'W : OK    OK
5  img2         19294.jpg : H344.8º : OK    OK
6  img2           19294.jpg : 9.6Kt : OK    OK
7  img2 19294.jpg : 44º31.449H'N : NOISE NOISE
8  img2      19294.jpg : 2º31.238'W : OK    OK
9  img3         19295.jpg : H344.8º : OK    OK
10 img3           19295.jpg : 9.6Kt : OK    OK
11 img3    19295.jpg : 44º31.449H'N : OK    OK
12 img3      19295.jpg : 2º31.238'W : OK    OK
于 2013-07-18T13:33:17.977 に答える