URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。
xtsは時系列データの操作に便利
株価や売上のような時系列データには、日付や時刻が記録されています。このようなデータから特定の期間を抽出したい、もしくは、月ごと、週ごとの集計を求めたいという時に便利なパッケージが xts eXtensible Time Series です。データフレームをxts型に変換する
まず、データフレーム型のデータをxts型のデータに変換します。 例えばこんなデータフレームがあるとします。
> head(data)
time user_id item_code price
1 2013/11/14 19:39 0 s93 2000
2 2013/11/4 22:39 0 s191 1001
3 2013/11/5 13:15 0 s63 2300
4 2013/11/5 13:15 0 35 0
5 2013/11/6 0:20 0 s001 2800
6 2013/11/6 17:37 0 s80001 2300
このデータをxts型に変換します。
> library(xts)
> data.xts <- as.xt
s(read.zoo(data))
パイプ演算子を使ってこのようにも書けます。
> library(xts)
> library(pipeR)
> data.xts <- data %>>%
read.zoo() %>>% as.xts()
こうしてxts型に変換しておくと、こんな操作ができるようになります。
期間を指定してデータを抽出する
data.xts['2013-05-01::2013-05-08']
data.xts['2013-05']
data.xts['2013-05::']
期間を指定して集計
例えば週別の合計を求めてみましょう。> weekly <- apply.weekly(data.xts$price, sum)
> head(weekly)
price
2013-04-07 704402
2013-04-14 246364
2013-04-21 306163
2013-04-28 246358
2013-05-05 582423
2013-05-12 780918
他にもapply.daily、apply.monthlyで日別、月別の集計ができます。
0 件のコメント:
コメントを投稿