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日の毎日の(つまり前日夜から当日朝までの)睡眠データが取得できる。取得できるのは睡眠開始時刻・終了時刻・覚醒回数・寝返り回数などである。スマホを使えば,グラフ(画像)で個々の覚醒時刻・寝返り時刻が次のように表示できる: