Vytváření a formátování dat
Pro vytvoření objektu Date z textového řetězce v R použij funkci as.Date(). Řetězec musí odpovídat formátu definovanému pomocí sady symbolů (příklady odpovídají 13. lednu 1982):
%Y: čtyřciferný rok (1982)%y: dvouciferný rok (82)%m: dvouciferný měsíc (01)%d: dvouciferný den v měsíci (13)%A: den v týdnu (Wednesday)%a: zkrácený den v týdnu (Wed)%B: měsíc (January)%b: zkrácený měsíc (Jan)
Následující příkazy v R vytvoří stejný objekt Date pro 13. leden 1982:
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
Všimni si, že první řádek nepotřebuje argument format, protože R ve výchozím nastavení porovnává řetězec s formáty "%Y-%m-%d" nebo "%Y/%m/%d".
Kromě vytváření dat můžeš data také převádět na textové řetězce s jiným zápisem. K tomu slouží funkce format(). Vyzkoušej následující řádky kódu:
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
Toto cvičení je součástí kurzu
Intermediate R
Pokyny k cvičení
- V kódu jsou pro tebe připraveny tři textové řetězce představující data. Převeď je na data pomocí
as.Date()a přiřaď je do proměnnýchdate1,date2adate3. Kód prodate1je již připraven. - Pomocí funkce
format()extrahuj z dat užitečné informace jako textové řetězce. Z prvního data vyber den v týdnu. Z druhého data vyber den v měsíci. Z třetího data vyber zkrácený název měsíce a čtyřciferný rok oddělené mezerou.
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 dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"
# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")
# Convert dates to formatted strings
format(date1, "%A")