Skapa och formatera tider
Precis som när du arbetar med datum kan du använda as.POSIXct() för att konvertera en teckensträng till ett POSIXct-objekt, och format() för att konvertera ett POSIXct-objekt till en teckensträng. Även här finns ett brett utbud av symboler:
%H: timmar som ett decimaltal (00–23)%I: timmar som ett decimaltal (01–12)%M: minuter som ett decimaltal%S: sekunder som ett decimaltal%T: förkortad notation för standardformatet%H:%M:%S%p: AM/PM-indikator
För en fullständig lista över konverteringssymboler, se dokumentationen för strptime i konsolen:
?strptime
Precis som tidigare använder as.POSIXct() ett standardformat för att tolka teckensträngar. I det här fallet är det %Y-%m-%d %H:%M:%S. I den här övningen bortser vi från olika tidszoner.
Den här övningen är en del av kursen
R för medelnivå
Övningsinstruktioner
- Konvertera de två strängarna
str1ochstr2, som representerar tidsstämplar, tillPOSIXct-objekt med namnentime1ochtime2. - Använd
format()för att skapa en sträng fråntime1som endast innehåller minuterna. - Extrahera timmar och minuter från
time2i formatet "timmar:minuter AM/PM". Se uppgiftstexten ovan för rätt konverteringssymboler!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"
# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")
# Convert times to formatted strings