#time #character #extract #numeric
Вопрос:
Я пытаюсь очистить переменные времени, однако шаблон/формат, в котором они были сообщены, противоречив. Например, одна запись будет выглядеть как «11 утра», а другая-как «10:30 утра». Кажется, я не могу найти функцию, которая позволит мне учитывать несколько шаблонов.
Например, мой необработанный набор данных выглядит следующим образом:
ID | bedTime |
----------------
1 | 8pm |
2 | 9:30 p.m. |
3 | 10:40pm |
4 | 11:00 PM |
----------------
и я бы хотел, чтобы это выглядело так:
ID | bedTime | AM/PM |
---------------------------
1 | 8 | pm |
2 | 9:30 | pm |
3 | 10:40 | pm |
4 | 11:00 | pm |
---------------------------
Я пробовал использовать extract (), но я могу заставить его работать только с одним типом шаблона, и не смог заставить его работать для тех, у кого есть «.» между буквами. Я вставил код, который использовал ниже.
df <- extract(df, time, into = c("bedTime","AM/PM"), "^(\d :\d )([a-z] )$" "^(\d )([a-z] )$")
Я знаю, как изменить символы верхнего и нижнего регистра с помощью grepl (), но я немного зациклился на том, как удалить эти строки символов из переменных времени.