所以我有以下数据,假设称为“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和HIGH WINDS)。谢谢!
(?i)
的作用是什么?问题在于你要寻找带有前导空格的字符串" STORM"
,所以"SNOWSTORM"
不符合要求。 - Blue Magister