Shiny apps on Azure + 空氣盒子

LUT
R Ladies Taipei
Published in
4 min readFeb 10, 2017

〔R-basic Series〕R 軟體小故事、安裝與環境介紹

第一次的 R-basic 由第六組打頭陣,帶來的講題涵括了 R 的前世今生。錯過這次聚會的新夥伴們,若是對 IDE/編輯器的選擇有疑問或是安裝卡關,也可以參考簡報資料。

Shiny apps on Azure

主講題由 Kristen 帶來「如何在 Azure 上設置 Shinny」,因為稍晚的閃電秀有人要講空氣品質,因此她以測站的空氣品質比較為例,介紹 Shiny 與 Azure(以及它們之間的糾葛)。

到底什麼時候會想用到這兩個東西呢?當你想畫出下面這張圖(或其他長得跟它很像的圖)的時候:

也就是:如果想用互動式網頁與別人分享用 R 做出的專案、只會 R 語言卻想在最短的時間內架出網站,它們會是你很合適的選擇。

Shiny是一個相當好用的 R 語言網頁開發框架,方便不熟悉 HTML、CSS、JavaScript 的 R 夥伴們在網頁上呈現圖表。架一個 Shiny 專案須包括以下兩個檔案:Ui.R 以及 Server.R。Ui.R 放前端程式碼,也就是說用來決定網站的呈現方式;Server.R 負責後端的資料處理與分析。

Shiny 是怎麼運作的?

若想把 Shiny 專案部署到網路上,有三個建議選項:

  1. 自己架設一個shiny server;
  2. 使用 shinyapps.io 的服務;
  3. 部署到 Github 上。

Kristen 此次以第一個選項為例,示範如何把做好的 Shiny app 部署到微軟的雲端服務平台 Azure上。

至於專案的操作、 Shiny 以及 Azure 的架設詳情,請參考 Kristen 精心製作的簡報檔。

翻玩空氣盒子——監控空氣品質

閃電秀由欣紘帶來關於偵測 PM 2.5 的工具「空氣盒子」介紹,也介紹中研院如何與開源社群 LASS 合作,使用低成本、體積小、高準確度的微型感測器,以求達到可大量、高密度部署的目標。聚會中,大家對於 PM 2.5 在不同時段與地點的濃度變化討論相當熱烈。

有人問,如果想要做一個 app,讓使用者即時查詢目前所在地的空氣品質,要怎麼查詢某特定區域的資料咧?

欣紘表示:資料裡面有地理資訊,可以查離使用者最近的測站資料。

有人問:要怎麼知道哪些人的機器裝在室內/裝反/壞了?

欣紘表示:這就是我們發 PAPER 的地方,鳩咪。

好啦,誤差可能是來自時間維度或是空間維度。原理都是比對鄰近的測站數據,找出可疑的點。

有人問:那我可以帶著去路跑嗎?

欣紘說:其實空氣品質糟的時候去跑步反而更傷身。(但她沒有回答到底可不可以帶去路跑)

做數據分析時,也有一些有趣的發現。像是有次觀察到台北地區多個測站分別在不同時間偵測到峰值:

這波汙染物從土城>>新店>>三重>>松山>>內湖>>南港>>基隆,一路飄過去。汙染所經之處也讓各個觀測站警鈴大響,Just like a wave.後來交叉比對當時的天氣資訊,原來是有陣西南風吹過台北盆地,讓每個居民都吸到濃濃的PM2.5。

欣紘也建議大家需要時可以隨時查看 PM 2.5 的濃度變化,也相當歡迎大家使用 PM 2.5 的開源資料(皆為 json 格式)做分析。

歡迎寫 R 語言/想學 R 語言的女性朋友一起來交流,可以加入我們的臉書社團,也可以在 MEETUP 上瀏覽並報名接下來的聚會主題,期待下次相見:)

本次的簡報檔在此

--

--