[問題] shiny呼叫local端R檔

作者: adam100830 (jumbo100830)   2018-01-15 00:15:45
[問題類型]:
程式諮詢
[軟體熟悉度]:
Shiny新手
[問題敘述]:
問題1 :
我試寫了一個網站,在server.R的地方呼叫了另一個R(a.R),但之前一直在local端跑都沒發現問題,後來放上shinyapp.io才發現問題。
不知道如果我如果要把網頁放上網,我的a.R要怎麼呼叫才行,之前我都使用source(a.R),那我的server.R放上網要怎麼呼叫local端的a.R檔?
問題2 :
我ui.R的要輸出表格,也想要輸出圖片,而圖片和表格都在a.R檔計算好了,可是server.R在寫的時候就要指定輸出的形式是什麼,如:output$x <- renderTable(...)。
我的a.R中有表格(table1)、圖(pic1)、字串(string1 )
我嘗試過使用
output$x <- renderTable(a.R) #表格#table1
output$y <- renderPlot(a.R) #圖#pic1
output$z <- renderText(a.R) #字串#string1
結果失敗,他只會輸出表格,我想是因為我的a.R最下面一個變數是表格(pic1)的關係。
ui.R同時想輸出a.R裡面的多樣東西的時候怎麼使用呢?
因為剛接觸用法很多都不熟悉,還請各位指點。
如果大家有什麼推薦的shiny教學,也希望可以推薦給我。
非常謝謝大家。
作者: cywhale (cywhale)   2018-01-15 01:16:00
source(file, local=TRUE) file也可以指定在相對子目錄下x <- reactiveValues(dt=data.frame(), str="")之後在a.Rx$dt=YourTable;x$str=YourStr..用法像list but reactiverenderTable(x$dt)..教學看Rstudio官網有gallery code..
作者: adam100830 (jumbo100830)   2018-01-15 21:39:00
x <- reactiveValues(dt = data.frame(),str ="")x$dt = YourTable;x$str=YourStr等是都放在server.R中嗎? 下面這樣對嗎?(server.r)https://i.imgur.com/qekOoI3.jpg然後指定變數是放在a.R嗎?https://i.imgur.com/rj0Fheh.jpg因為都沒有噴錯也沒出現東西?想請問我是不是有弄錯如果我想將ui.R的變數放到a.R中,a.R處理完再把圖拿出來放到server.R和ui.R中使用該怎麼辦?
作者: cywhale (cywhale)   2018-01-15 22:34:00
shiny reactivity應在observe() or observeEvent完成或者利用reactive(), eventReactive()回傳reactive變數值也可以,建議若不清楚可參考一下網路上眾多範例便會明白比如observe({x$val<-YourFunc(input$control); ....})ui.R server.R是可以有global變數,但通常ui.R就是給client端的control,和server端聯繫就用input$ or session如果你的a.R try_fun是像圖中這樣呼叫,不會有reactivity所以你的資料若一次性就算完,根本也不用reactive變數..

Links booklink

Contact Us: admin [ a t ] ucptt.com