自分の睡眠状態をRで可視化してみる(FitbitのデータをRで解析2)
Fitbitの睡眠データを解析してみる
- 前回( http://sleeping-micchi.hatenablog.com/entry/2014/01/03/233520 )、Fitbitから歩数のデータを取得する部分をやりましたが、今回は睡眠データを引っ張ってきました
Fitbitとは
Fitbitの睡眠データ
- Fitbitでは、睡眠時間と睡眠の質の両方を計測することができます
- 取得されるデータは下記の感じ。モーションセンサで取得しているようです。
- ベッドに入った時間
- 寝付くまでの時間
- 目覚めた回数
- ベッドにいた時間
- 実際の睡眠時間
- Webの画面はこんな感じ
Rのサンプルコード
- とりあえず、指定した日から今日までのベッドにいた時間、浅い眠りの時間、深い眠りの時間を取得してグラフ化してます
- githubにあります。前回のものを更新しました。
- グラフ化すると下記の感じ
-
- 赤が深い眠り、青が浅い眠り。睡眠効率悪い。。。
-
今回知ったRの記述方法
- 連続した日付の生成方法
today <- Sys.Date(); dayList <- seq(as.Date("2013-12-18"), as.Date(today), by="days")
"2013-12-18" "2013-12-19" "2013-12-20" "2013-12-21"
- seq()メソッドにby="days"ってすれば、日付した日付が生成できるのねー
- {reshape}パッケージのmelt()メソッド
- ggplot2でグラフ化するときに、データフレームのデータ構造を変形する場合に有効
- 積み上げ棒グラフを描画できる構造に簡単に変更できる
- ヘッダラベルをカテゴリー変数にして、カテゴリ:値の1対1に変形する
- 変形前
dayList totalTimeInBed totalMinutesAsleep wakeTime 16057 402 179 223 16058 362 162 200 変形後
X1 X2 value 35 totalTimeInBed 263 36 totalTimeInBed 596 1 totalMinutesAsleep 179 2 totalMinutesAsleep 162
考察
- 全然、熟睡できてない・・・
- たまに熟睡できるている日があるので、その日の行動パターンをみるか。
- 日記もつけた方が、効率よく考察できそうだ
- ただ、日記は毎日書くのが面倒くさすぎるので、、、、んー。
- これで、3ヶ月くらいしたら、睡眠時間と1日の歩数とで、色々データで遊べそう。
- 異常検知とか、時系列分析とか、勉強しなくては!! - この2つの領域の超入門の良書があれば教えてください!
その他。欲しいもの。
- withingsの体重計は、fitbitと連携したり、脈拍数とかとれたりできるらしい。
- http://www.withings.jp/en/bodyanalyzer
- ちょー欲しい
- withingsって血圧計とか、赤ちゃん監視?とか、ほかにも色々製品だしてるんだねー。
- スタイリッシュで水泳もできるライフログデバイスMisfit Wearablesもほしい
- http://www.misfitwearables.com/?locale=ja
- 水泳対応のウェアブルデバイスってあんまりないから、スイマーの私向きだと思うのです。
- ウェアブルデバイス・ライフログデバイスとか、最近、アツいなー