切片與調整期間頻率
下一步要把氣溫資料和上一章的航班資料合併。
回想一下,上一章的航班資料是 2010 到 2015 年,且以「每月」為期間;相對地,你的氣溫資料是 2007 到 2015 年,且以「每日」為期間。合併之前,應先對資料做切片,並把期間頻率調整為每月。
若要轉換 xts 物件的期間頻率,你可以使用 to.period(),它能快速把資料轉成較低頻率的期間。預設情況下,此指令會在整個期間上產生特定欄位(也就是 Open-High-Low-Close,簡稱 OHLC),這在財務分析很實用,但不一定適用所有情境。
在這裡,你應將參數 OHLC 設為 FALSE。這麼做不會在月資料中產生 OHLC 欄位,而是從每個期間擇一列代表整個期間。你可以用 indexAt 參數指定要取哪一列。
temps_xts 資料,以及(上一章的)flights_xts 資料都已在你的工作環境中可用。
本練習屬於課程
個案研究:在 R 中分析城市時間序列資料
練習說明
- 將
temps_xts物件切片,只保留 2010 到 2015 年的觀測值。將結果儲存為temps_xts_2。 - 使用
to.period()把每日氣溫資料轉成每月期間頻率。記得指定要轉換的期間("months")。同時將OHLC設為FALSE,以避免產生新的 OHLC 欄位。最後,把indexAt參數設為"firstof",以選取每個月的第一筆觀測。 - 連續呼叫兩次
periodicity(),比較你新的每月氣溫資料與上一章flights_xts資料的期間頻率與持續時間。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Subset your temperature data to include only 2010 through 2015: temps_xts_2
temps_xts_2 <- ___["___/___"]
# Use to.period to convert temps_xts_2 to monthly periodicity
temps_monthly <- to.period(___, period = "___", OHLC = ___, indexAt = "___")
# Compare the periodicity and duration of temps_monthly and flights_xts
periodicity(___)
periodicity(___)