Hatena::ブログ(Diary)

My Life as a Mock Quant このページをアンテナに追加 RSSフィード Twitter

2016-03-21

ヘルスプラネットからデータを取得するパッケージを作った

| 10:49 | ヘルスプラネットからデータを取得するパッケージを作ったを含むブックマーク

はじめに

主に俺の健康を管理するために、ヘルスプラネットというタニタの運営するサービスのAPIを叩いてデータを取得するパッケージを作った。

とりあえずinnerscan系の情報

だけが取れるようになっている。

API経由で尿糖・歩数・血圧も取得できるようだが、俺の家にそれ用の計測機器がないので、とりあえず放置。

使い方

パッケージはGithubにしかないので、

install.packages("devtools")
devtools::install_github("teramonagi/healthplanet")

としてインストールする。

そして、ヘルスプラネットの会員登録を済ませて、

を手に入れた上で、以下のように使用することができる。

> access_token <- getToken()
> df <- getInnerScan(access_token)
> df
   sex birth_date heght                date    model basal_metabolic_rate body_age body_fat bone_mass muscle_mass muscle_score visceral_fat_level weight
1 male 1963-03-10   180 2016-03-16 06:49:00 01000099                 1685       43     20.9       3.1       56.70            0                9.5  75.60
2 male 1963-03-10   180 2016-03-17 08:04:00 01000099                 1705       44     21.4       3.1       57.30            0               10.0  76.85
3 male 1963-03-10   180 2016-03-18 05:48:00 01000099                 1677       44     21.2       3.1       56.45            0                9.5  75.55
4 male 1963-03-10   180 2016-03-19 07:11:00 01000099                 1667       44     21.2       3.1       56.15            0                9.5  75.15
5 male 1963-03-10   180 2016-03-20 06:39:00 01000099                 1687       43     20.5       3.1       56.80            0                9.5  75.35
6 male 1963-03-10   180 2016-03-21 05:28:00 01000099                 1675       43     20.7       3.1       56.40            0                9.5  75.00

試しに適当なデータを可視化してみよう。

下記コードで、脂っこいおじさんの体脂肪率可視化できる・・・が・・・これが俺の実データだとは一言も言っていない。

> library("ggplot2")
> ggplot(df, aes(x=as.Date(date), y=body_fat)) + geom_line(size=2) +  scale_x_date(date_labels="%Y/%m/%d")

f:id:teramonagi:20160321104847p:image

コードはこちら

認証周りの処理が一筋縄でいかなかったので、アドホックに動くようにした。

API仕様書はこちら

トラックバック - http://d.hatena.ne.jp/teramonagi/20160321/1458524965