I am trying to reformat times that are currently in a character format. I'm trying to make them uniform. Right now they look like this:
[1] "1:00PM" "1:10 PM" "1:10PM" "1:20 PM" "1:30 PM" "1:30PM"
[7] "1:40 PM" "10:00AM" "10:10 AM" "10:10AM" "10:30 AM" "10:30AM"
[13] "10:45 AM" "10:45AM" "10:50 AM" "10:50AM" "10AM" "11:00AM"
[19] "11:10 AM" "11:10AM" "11:40 AM" "11:40AM" "11AM" "12:00PM"
[25] "12:05 PM" "12:10 PM" "12:10PM" "12:25PM" "12:30 PM" "12:30PM"
[31] "12:45 PM" "12:45:30 PM" "12:45PM" "12:50 PM" "12PM" "1PM"
[37] "2:00PM" "2:10 PM" "2:10PM" "2:20PM" "2:30 PM" "2:30PM"
[43] "2:35 PM" "2:45 PM" "2:45PM" "2:55 PM" "2PM" "3:00PM"
[49] "3:05 PM" "3:10 PM" "3:10PM" "3:20 PM" "3:20PM" "3:25 PM"
[55] "3:25PM" "3:30 PM" "3:35 PM" "3:35PM" "3:45 PM" "3:45PM"
[61] "3PM" "4:00PM" "4:10 PM" "4:10PM" "4:30 PM" "4:30PM"
[67] "4:35 PM" "4:35PM" "4PM" "5:00PM" "5:10 PM" "5:10PM"
[73] "5:20 PM" "5:30 PM" "5:30PM" "5:35 PM" "5:35PM" "5:40 PM"
[79] "5:40PM" "5:45 PM" "5:50 PM" "5:50PM" "6:00PM" "6:05PM"
[85] "6:10 PM" "6:10PM" "6:15PM" "6:30 PM" "6:30PM" "6PM"
[91] "7:00PM" "7:10 AM" "7:10 PM" "7:10AM" "7:10PM" "7:30PM"
[97] "7:35 PM" "7:35PM" "7:45 PM" "7:45PM" "7AM" "7PM"
[103] "8:00AM" "8:10 AM" "8:10AM" "8:25 PM" "8:25PM" "8:50 PM"
[109] "8AM" "9:00AM" "9:10 AM" "9:10AM" "9:15 AM" "9:15AM"
[115] "9:20 AM" "9:30 AM" "9:30AM" "9:35AM" "9:40 AM" "9:40AM"
[121] "9:45 AM" "9:45AM" "9AM"
I want all times to be in this format:
1:00PM instead of 1PM
12:45PM instead of 12:45:30 PM
So basically HH:MM appended with AM or PM
Eventually I would like to convert the times from character format into POSIXct format. But that is only possible with a uniform character format. To be more specific: how would you use gsub
to change "3PM" into "3:00PM" and likewise change "12:45:30 PM" into "12:45PM", as an example?
I have a hard time wrapping my head around some of the Regular Expression Syntax in gsub
- especially how to reference a specific position, say position 4 in a character string.