назад 'Таким образом, у меня есть следующие данные, скажем, под названием «my_data»:Регулярное выражение в R с отрицательным
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). Спасибо!
Что точка '' в ваше регулярное выражение (я?)? Проблема в том, что вы ищете строку '' STORM ''с предыдущим пространством, поэтому' 'SNOWSTORM'' не подходит. –
Hi Blue. Пока я принимал ответ Бена, вы на самом деле дошли до сути проблемы с MY-кодом. Я хотел бы сделать свой код так, чтобы он не заботился об этом пространстве (поэтому, если STORM находится в THUNDERSTORM или SNOWSTORM, я хочу это, а также STORM самостоятельно). Вы знаете, как я избавлюсь от этого пространства, которое ищет мой код? Точка (? I) - это шанс, что кто-то вошел в STORM как «шторм» или «Шторм» или «sToRm» и т. Д. –