你睡眠情況怎麼樣?Jawbone Up 數據,R 實現

身邊很多朋友都對 Jawbone Up 對睡眠監控的情況很感興趣,一般會順帶問問:

“你睡眠情況怎麼樣?”。

“好吧,俺計算一下再告訴你。”

下面的文中涉及到如何用 R 畫基於日曆的熱度圖,以及如何將多個圖進行合併的內容。

數據獲取

需要使用的數據是每日的睡眠情況數據。

要獲取這個數據有兩個辦法,最簡單的辦法是從 Jawbone.com 網站下載個人的數據文件。詳情參見個人數據官方下載

還有一種辦法是利用 非官方API 中的 user/%userXid%/trends 方法獲取按日統計數據。

下面的代碼採用 Python 實現,用於從服務器端獲取 Trends 數據。

返回的JSON數據示例如下:


數據預處理

下面的代碼,採用 Python 實現了將 Trends 數據轉換成平面CSV文件。

處理後的數據文件樣本爲:


利用 R 進行數據統計和可視化

下面的代碼實現了數據的讀取、預處理、並構建了基於日曆的熱度圖(calendarHeatmap)

數據顯示樣本:

calendarHeatmap 的實現和使用

calendarHeatmap 將按日聚合數據以熱度圖的形式展現在日曆上。用戶可以指定聚合所使用的計算方法。

對每日睡眠質量的可視化展現。

多圖合併

將睡眠質量的柱狀圖(參見Jawbone Up 數據的按小時統計及可視化)、數據Summary,和基於日曆的熱度圖合併在一張圖上,以更全面的描述睡眠質量:


代碼地址

https://github.com/iascchen/VisHealth/

數據預處理 R/json2csv.py; 可視化展現 R/vischarts.R 。


玩的開心!


Author : iascchen(at)gmail(dot)com

Date : 2013-08-05

新浪微博 : @問天鼓

原文鏈接:http://www.wearable.pw/index.php/archives/281

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章