Переименовать ежемесячные столбцы в R - PullRequest
0 голосов
/ 05 октября 2019

У меня есть месячные данные, где первые шесть столбцов стабильны, но остальные столбцы представляют месяцы и имеют названия соответственно (столбец с именем 01.2019 представляет январь 2019 года и т. Д.). Я хотел бы изменить названия всех этих ежемесячных столбцов (как существующих, так и будущих, поскольку данные будут обновляться ежемесячно), чтобы, например, вышеупомянутый столбец "01.2019" был столбцом "201901". Я уже пробовал несколько вариантов gsub (), но с плохими результатами.

1 Ответ

0 голосов
/ 05 октября 2019

Попробуйте следующее регулярное выражение.

m <- "01.2019"
sub("(\\d{2})\\.(\\d{4})", "\\2\\1", m)
#[1] "201901"

Объяснение.

  1. \\d{2} ровно две цифры, соответствует номеру месяца.
  2. (\\d{2}) первая группа захвата.
  3. \\. символ ., необходимо экранировать, поскольку это метасимвол.
  4. \\d{4} ровно 4 цифры, соответствуетгод.
  5. (\\d{4}) вторая группа захвата.

Затем в шаблоне замены просто поменяйте местами группы захвата, \\2, а затем \\1.

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