Vytváření objektů časových řad v R
Časovou řadu si můžeš představit jako vektor nebo matici čísel doplněnou o informaci o tom, kdy byla tato čísla zaznamenána. V R se tato informace ukládá do objektu ts. Ve většině cvičení budeš pracovat s časovými řadami, které jsou součástí existujících balíčků. Pokud ale chceš pracovat s vlastními daty, je důležité vědět, jak objekt ts v R vytvořit.
Podívejme se na příklad usnim_2002 níže, který obsahuje čisté úrokové marže amerických bank za rok 2002 (zdroj: FFIEC).
> usnim_2002
usnim
1 2002-01-01 4.08
2 2002-04-01 4.10
3 2002-07-01 4.06
4 2002-10-01 4.04
> # ts(data, start, frequency, ...)
> usnim_ts = ts(usnim_2002[, 2], start = c(2002, 1), frequency = 4)
Funkce ts() přijímá tři argumenty:
dataje nastaveno na vše zusnim_2002kromě sloupce s datem — ten nepotřebujeme, protože objekttssi informaci o čase ukládá samostatně.startje zadáno ve formátuc(rok, perioda)a označuje čas prvního pozorování. Leden odpovídá periodě 1; stejně tak duben odpovídá 2, červenec 3 a říjen 4. Perioda tedy odpovídá čtvrtletí roku.frequencyje nastaveno na 4, protože data jsou čtvrtletní.
V tomto cvičení načteš data časové řady ze souboru xlsx pomocí funkce read_excel() z balíčku readxl a uložíš je jako objekt ts. Soubor xlsx i balíček jsou již načteny do tvého pracovního prostředí.
Toto cvičení je součástí kurzu
Forecasting v R
Pokyny k cvičení
- Pomocí funkce
read_excel()načti data ze souboru"exercise1.xlsx"do proměnnémydata. - Zavolej
head()namydatav R konzoli a prohlédni si první řádky dat. Všimni si dat — v roce 1981 jsou čtyři pozorování, což odpovídá čtvrtletním datům s frekvencí čtyři řádky za rok. První pozorování neboli počáteční datum jeMar-81, tedy první ze čtyř řádků pro rok 1981, přičemž březen odpovídá první periodě. - Vytvoř objekt
tss názvemmytspomocí funkcets(). Nastav argumentydata,startafrequencypodle toho, co jsi zjistil/a.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Read the data from Excel into R
___ <- ___("exercise1.xlsx")
# Look at the first few lines of mydata
___
# Create a ts object called myts
myts <- ts(___[___], start = c(___, ___), frequency = ___)