fitbit

fitbit Charge HR を買った。2015年12月4日夜に届いたので,さっそく翌日のR研究集会に付けていった。

fitbitのWebサイトやアプリでのデータ閲覧は無料だが,データのダウンロードは有料である。幸い,Rの fitbitScraper というパッケージを使えば,Webサイトからデータをスクレープして取得できる。

install.packages("fitbitScraper")
library(fitbitScraper)

cookie = login(email="メールアドレス", password="パスワード")
steps = get_intraday_data(cookie, what="steps", date="2015-12-05")
distance = get_intraday_data(cookie, what="distance", date="2015-12-05")
floors = get_intraday_data(cookie, what="floors", date="2015-12-05")
active_minutes = get_intraday_data(cookie, what="active-minutes", date="2015-12-05")
calories_burned = get_intraday_data(cookie, what="calories-burned", date="2015-12-05")
heart_rate = get_intraday_data(cookie, what="heart-rate", date="2015-12-05")

これで1日分のデータが取得できる。次は心拍数のプロットである。

t = as.POSIXct(heart_rate$time)
h = ifelse(heart_rate$heart == 0, NA, heart_rate$heart)
plot(t, h, type="l", col="#f39800", lwd=2, xlab="", ylab="",
     xlim=as.POSIXct(c("2015-12-05 06:00","2015-12-05 22:00")),
     las=1, panel.first=grid(NA,NULL))
心拍数

心拍数以外は15分きざみだが,心拍数は5分きざみの数値が得られる。ちなみに,iOSのfitbitアプリでは次のようなグラフになる。

心拍数

睡眠データについては例えば get_sleep_data(cookie, "2016-01-08", "2016-01-10") とすれば1月8〜10日の毎日の(つまり前日夜から当日朝までの)睡眠データが取得できる。取得できるのは睡眠開始時刻・終了時刻・覚醒回数・寝返り回数などである。スマホを使えば,グラフ(画像)で個々の覚醒時刻・寝返り時刻が次のように表示できる:

睡眠