cucumber flesh

Rを中心としたデータ分析・統計解析らへんの話題をしていくだけ

💮「ヘルスケア」からデータをとってきてRで自己健康診断する

「ヘルシープログラマ」を読んだせいか、年のせいか、健康に気を遣うおう、という気持ちになってきた。たとえ生活リズムがボロクソになっていても、気持ちの面では健康に気を遣いっていたい。

先日、長らく使っていたiPhone 4Sを機種変更してiPhone 6Sにした。そのため、ヘルスケアアプリの歩数計の機能が使えるようになった。これが結構楽しくて毎日確認している。確認していると、当然のごとくRで解析したくなってくる。こうした気持ちは全人類共通のものであるにもかかわらず、データをダウンロードしたり、転送したりという昨日はない。Shucks!

というわけでヘルスケアのデータをダウンロードしてくれるアプリを探したらすぐに見つかった。

QS Access

QS Access

  • Quantified Self Labs
  • Health & Fitness
  • Free

http://www.fat32.io/blog/2015/1/21/exporting-data-out-of-healthkitwww.fat32.io

時間か日ごとかの集計を選び、必要な項目を選択すると、テーブルを作成してくれるので、Macに転送するなりする。あとは煮るなり焼くなり。

せっかくなので試しに歩数のデータを表示してみた。描画にはユタニキこと、id:yutannihilation さん作成の{chartist}を使わせていただいた。super cool!

github.com

notchained.hatenablog.com

コード↓

library(readr)
library(dplyr)
library(chartist)

read_delim(file      = "/Users/uri/Downloads/Health Data.csv",
           delim     = ",",
           col_types = cols(
             Start  = col_datetime(format = "%d-%b-%Y %H:%M"),
             Finish = col_datetime(format = "%d-%b-%Y %H:%M")
           )) -> df_health

df_health %<>% 
  dplyr::filter(Start > "2015-09-25") %>% 
  dplyr::mutate(day = paste0("day", row_number())) %>% 
  dplyr::mutate(Steps = as.numeric(`Steps (count)`)) %>% 
  droplevels()
chartist(df_health, day, Steps) + 
  SVG_animate(target = "line", 
              style = "opacity", 
              offset = 0, 
              delay = 200, 
              dur = 4000)

こういう記事を書くきっかけを与えてくれた @dichika さんに感謝。@dichika さんのブログには、以下のものを始め、楽しい記事や参考になる記事がたくさんある。

d.hatena.ne.jp

d.hatena.ne.jp

Enjoy!