看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 使用renderUI製作可依input條件篩選的output table 各位版友好,又來請教shiny的問題了,這次主要的問題是renderUI 我想要我的output table能根據我設計的input篩選而有正確的呈現,而且每一個 篩選條件能彼此呼應 如選擇了brand==a,model只剩下a11,a21,a31可選,若此時先選擇tax==y,則 model只剩下a11,a21可選,此時seller可選擇的條件為A與B可選 [code] http://pastebin.com/PQJARZWm [錯誤說明] 1. 出現以下警告訊息: Warning in run(timeoutMs) : is.na() applied to non-(list or vector) of type 'NULL' 2. 我的renderTable沒有出現 懇請指點,謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.207.246 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1438587589.A.D43.html
celestialgod: =="all"的情況沒有exclude出來.... 08/03 17:53
celestialgod: 之前的方法不是就可以用了= =? 08/03 17:53
ardodo: 先前observe可以用,但是我如果要多種條件都要observe 08/03 18:18
ardodo: 的話,我就做不出來。想試試看renderUI會不會比較容易控制 08/03 18:19
ardodo: 這種多重條件下的input與output變化 08/03 18:19
celestialgod: 這個我沒用過 我不知道 08/03 18:23
celestialgod: 多重條件就需要isolate去設定 08/03 18:24
celestialgod: http://pastebin.com/ELd2V9hZ 08/03 19:23
celestialgod: 看看是不是你想要的 08/03 19:23
cywhale: demox=reactive({ out=demo[your condition selected by 08/03 23:20
cywhale: ..selectInput, ]}), then show demox() in renderTable 08/03 23:21
cywhale: u use input$model in selectInput itself, but without 08/03 23:31
cywhale: "selected=" default value, it makes NA problem.. 08/03 23:32
cywhale: u can use another var,e.g brandx=reactive({if(is.null 08/03 23:42
cywhale: (input$brand) unique(demo$brand) 08/03 23:43
cywhale: if(input$brand=='all') unique(demo$brand) else input$ 08/03 23:44
cywhale: brand }), then use demo[brand==brandx(),] in aboving 08/03 23:46
cywhale: demox() function to filter your criteria.. 08/03 23:46
celestialgod: cy大大下次也許可以考慮回文,這樣會比較清楚喔 08/04 00:22
cywhale: sorry^^本來只回兩句,沒想到後面愈補愈多造成閱讀不便 08/05 09:03
ardodo: 感謝cel版主回覆,我發現一個小問題想修正 08/05 10:13
ardodo: 若我選擇tax==x並觀察完右側表格後,我想看tax==y並觀察 08/05 10:14
ardodo: 必需要先選擇tax==all,之後才能選tax==y 08/05 10:15
ardodo: 其他選項我也想要有這樣的設定,請問是在isolate裡面的 08/05 10:15
ardodo: ifelse設定嗎? 08/05 10:15
celestialgod: 我有注意過這個問題,這個設計的原因是因為你選特定 08/05 11:27
celestialgod: 選項時你想刪掉其他不可選的選項,而你可能做多重 08/05 11:27
celestialgod: 選取,才不保留該項。 08/05 11:27
celestialgod: 你只要不更新你選的選項就可以保留其他選項。 08/05 11:28
celestialgod: 像是在tax那個變數中的updateInput_f("tax")刪除就 08/05 11:29
celestialgod: 不會更新tax的選項 08/05 11:29
ardodo: 感謝cel版主的指點,code修改後已可做出我想要的設計 08/05 13:09
ardodo: http://pastebin.com/MFc9NbXq 分享一下 08/05 13:09
ardodo: 看起來的重點有兩個:1. reactiveValue的設定 2. isolate 08/05 13:12
ardodo: 與observe的搭配 08/05 13:13
celestialgod: 嗯嗯,我有空研究看看renderUI,再告知你作法。 08/05 13:29
celestialgod: renderUI很難用...放棄了XD 08/05 14:43
celestialgod: 原本要試renderUI http://pastebin.com/nzsNh8Ty 08/05 14:47
celestialgod: 後來試出上面比較簡單的版本 08/05 14:47
celestialgod: 但是你資料量一大,這個處理會很慢 08/05 15:06
celestialgod: 因為你每次更新都要複製一次df... 08/05 15:06
ardodo: 感謝cel版主的幫忙,謝謝囉 08/05 15:34