13

したがって、次のデータがあります。たとえば、「my_data」と呼びます。

Storm.Type
TYPHOON
SEVERE STORM
TROPICAL STORM
SNOWSTORM AND HIGH WINDS

私が望むのは、my_data$Storm.Type の各要素が嵐であるかどうかを分類することですが、熱帯暴風雨を嵐として含めたくありません (個別に分類します)。

Storm.Type                    Is.Storm
TYPHOON                       0
SEVERE STORM                  1
TROPICAL STORM                0
SNOWSTORM AND HIGH WINDS      1

私は次のコードを書きました:

my_data$Is.Storm  <-  my_data[grep("(?<!TROPICAL) (?i)STORM"), "Storm.Type"]

ただし、これは「SEVERE STORM」を嵐として返すだけです (ただし、SNOWSTORM AND HIGH WINDS は除外します)。ありがとうございました!

4

3 に答える 3

3

私も正規表現は得意ではありませんが、何が問題なのですか

ss <- c("TYPHOON","SEVERE STORM","TROPICAL STORM","SNOWSTORM AND HIGH WINDS")
grepl("STORM",ss) & !grepl("TROPICAL STORM",ss)
## [1] FALSE  TRUE FALSE  TRUE

... ?

于 2013-11-22T20:41:49.120 に答える
0

何かのようなもの

x <- my_data$Storm.Type
grep("STORM", x)[!grep("STORM", x)%in%grep("TROPICAL", x)]
于 2013-11-22T20:40:52.663 に答える