R удаление выбранных символов из строки - PullRequest
0 голосов
/ 09 мая 2018

Извините в случае дублирования, но решения, которые я видел, не решают мою проблему.

У меня есть фрейм данных (df). Одна из его переменных (df $ Year) включает список лет, например:

 > df$Year

 Year
 2001–                       
 2013–                     
 2016–                      
 2003–                      
 2012–2013                      
 2013–                      
 1993–2007, 2010–

В случае нескольких лет я просто хочу сохранить последний (т.е. вместо «1993–2007, 2010– только« 2010 ») и избавиться от« - ». Тем не менее, я пробовал с:

unlist(str_extract_all(df$Year, "[[:digit:]]4$"))

но это, похоже, не работает.

Любой намек?

1 Ответ

0 голосов
/ 09 мая 2018

Мы можем использовать sub для одного вкладыша:

df$Year <- sub(".*(\\d{4})\\–?", "\\1", df$Year)
df$Year

[1] "2001" "2013" "2016" "2003" "2013" "2013" "2010"

Демо

Обратите внимание, что черточки, которые вы используете в диапазонах лет, выглядят как тире (или, может быть, тире), а не как обычный символ ASCII.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...