看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢 [軟體熟悉度]: 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教學,也希望可以推薦給我。 非常謝謝大家。 ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.164.249 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1515946547.A.6D4.html
cywhale: source(file, local=TRUE) file也可以指定在相對子目錄下 01/15 01:16
cywhale: x <- reactiveValues(dt=data.frame(), str="")之後在a.R 01/15 01:19
cywhale: x$dt=YourTable;x$str=YourStr..用法像list but reactive 01/15 01:20
cywhale: renderTable(x$dt)..教學看Rstudio官網有gallery code.. 01/15 01:22
adam100830: x <- reactiveValues(dt = data.frame(),str ="") 01/15 21:39
adam100830: x$dt = YourTable;x$str=YourStr等是都放在server.R中 01/15 21:39
adam100830: 嗎? 下面這樣對嗎?(server.r) 01/15 21:39
adam100830: https://i.imgur.com/qekOoI3.jpg 01/15 21:39
adam100830: 然後指定變數是放在a.R嗎? 01/15 21:39
adam100830: https://i.imgur.com/rj0Fheh.jpg 01/15 21:39
adam100830: 因為都沒有噴錯也沒出現東西?想請問我是不是有弄錯 01/15 21:39
adam100830: 如果我想將ui.R的變數放到a.R中,a.R處理完再把圖拿出 01/15 21:39
adam100830: 來放到server.R和ui.R中使用該怎麼辦? 01/15 21:39
cywhale: shiny reactivity應在observe() or observeEvent完成 01/15 22:34
cywhale: 或者利用reactive(), eventReactive()回傳reactive變數值 01/15 22:35
cywhale: 也可以,建議若不清楚可參考一下網路上眾多範例便會明白 01/15 22:36
cywhale: 比如observe({x$val<-YourFunc(input$control); ....}) 01/15 22:39
cywhale: ui.R server.R是可以有global變數,但通常ui.R就是給 01/15 22:42
cywhale: client端的control,和server端聯繫就用input$ or session 01/15 22:43
cywhale: 如果你的a.R try_fun是像圖中這樣呼叫,不會有reactivity 01/15 22:45
cywhale: 所以你的資料若一次性就算完,根本也不用reactive變數.. 01/15 22:48