iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
1
Data Technology

你都在公司都在幹啥R? R語言資料分析經驗分享系列 第 21

【21】當老闆眼睛blink blink地問:哦?這看起來很方便,那我們公司的資料怎麼在shiny 上呈現?

昨天跑了shiny 的程式碼時,有提到他分成ui 和server 兩大塊,今天我們就來實作這兩個檔案,首先,你必須在資料夾內新增兩個R script 檔。

https://ithelp.ithome.com.tw/upload/images/20180107/20107299dkn8j3I8IQ.png

ui script的部分非常簡單,headerPanel 顯示標題,tableOutput 用來顯示表格資料。

library(shiny)

shinyUI(fluidPage(

  headerPanel("用戶資料表"),
  tableOutput('userTable')
 
))

Server script 這邊,我們直接執行shinyServer 這個函式,韓式裡面放另一個匿名函式(Closure),有兩個參數input 與output ,input 是網頁上元件的參照值,比如說昨天的例子,使用者拉著bar 調整數字時,這邊可以從input 裡拿到更新後的值,output 則是當你在server 運算完結果時,你可以把結果存進這個參數裡,ui 在顯示資料時,就是根據你的output 拿取對應的資料,因此,在這邊我們這樣定義

library(shiny)

shinyServer(function(input, output) {
    
    user = read.csv("input/user.csv", stringsAsFactors=FALSE)
    output$userTable <- renderTable(user)
    
})

用read.csv 拿取資料,然後將結果存在output$userTable。

最後在R的 command裡輸入runApp() ,就可以看到結果了!

runApp()

結果:

https://ithelp.ithome.com.tw/upload/images/20180107/20107299oq1djgbAPJ.png

之後的介紹會有越來越多客製化的部分,就慢慢為大家介紹shiny !

Ref
day21


上一篇
【20】當老闆嘟著嘴問:前面幾天你展示了很多資料分析手法,但是公司很多人不會寫程試,你有辦法嗎?
下一篇
【22】當老闆疑惑地問:所以我可以在這個網頁調整參數,那有哪些參數可以調?
系列文
你都在公司都在幹啥R? R語言資料分析經驗分享30

尚未有邦友留言

立即登入留言