Vytváření a formátování časových údajů
Podobně jako při práci s daty můžeš použít as.POSIXct() pro převod řetězce znaků na objekt POSIXct a format() pro převod objektu POSIXct zpět na řetězec znaků. K dispozici máš celou řadu symbolů:
%H: hodiny jako desetinné číslo (00–23)%I: hodiny jako desetinné číslo (01–12)%M: minuty jako desetinné číslo%S: sekundy jako desetinné číslo%T: zkrácený zápis pro typický formát%H:%M:%S%p: indikátor AM/PM
Úplný seznam konverzních symbolů najdeš v dokumentaci strptime přímo v konzoli:
?strptime
Funkce as.POSIXct() používá pro porovnávání řetězců znaků výchozí formát %Y-%m-%d %H:%M:%S. V tomto cvičení se rozdílnými časovými pásmy nezabýváme.
Toto cvičení je součástí kurzu
Intermediate R
Pokyny k cvičení
- Převeď dva řetězce reprezentující časové razítko,
str1astr2, na objektyPOSIXcts názvytime1atime2. - Pomocí
format()vytvoř ztime1řetězec obsahující pouze minuty. - Z
time2extrahuj hodiny a minuty ve formátu „hodiny:minuty AM/PM". Správné konverzní symboly najdeš v textu zadání výše!
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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