どらちゃんのポッケ

R・統計・技術メモなど勉強ログ置き場

自分の睡眠状態をRで可視化してみる(FitbitのデータをRで解析2)

Fitbitの睡眠データを解析してみる

Fitbitとは

Fitbitの睡眠データ

  • Fitbitでは、睡眠時間と睡眠の質の両方を計測することができます
  • 取得されるデータは下記の感じ。モーションセンサで取得しているようです。
    • ベッドに入った時間
    • 寝付くまでの時間
    • 目覚めた回数
    • ベッドにいた時間
    • 実際の睡眠時間
  • Webの画面はこんな感じ
    • f:id:sleeping_micchi:20140106224808p:plain

Rのサンプルコード

  • とりあえず、指定した日から今日までのベッドにいた時間、浅い眠りの時間、深い眠りの時間を取得してグラフ化してます
  • githubにあります。前回のものを更新しました。
  • グラフ化すると下記の感じ
    • f:id:sleeping_micchi:20140106224828p:plain

      • 赤が深い眠り、青が浅い眠り。睡眠効率悪い。。。

今回知った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と連携したり、脈拍数とかとれたりできるらしい。
  • スタイリッシュで水泳もできるライフログデバイスMisfit Wearablesもほしい
  • ウェアブルデバイス・ライフログデバイスとか、最近、アツいなー