[問題] shiny renderUI使用請教

作者: ardodo (米蟲)   2015-08-03 15:39:47
[問題類型]:
程式諮詢(我想用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沒有出現
懇請指點,謝謝大家
作者: celestialgod (天)   2015-08-03 17:53:00
=="all"的情況沒有exclude出來....之前的方法不是就可以用了= =?
作者: ardodo (米蟲)   2015-08-03 18:18:00
先前observe可以用,但是我如果要多種條件都要observe的話,我就做不出來。想試試看renderUI會不會比較容易控制這種多重條件下的input與output變化
作者: celestialgod (天)   2015-08-03 18:23:00
這個我沒用過 我不知道多重條件就需要isolate去設定http://pastebin.com/ELd2V9hZ看看是不是你想要的
作者: cywhale (cywhale)   2015-08-03 23:20:00
demox=reactive({ out=demo[your condition selected by..selectInput, ]}), then show demox() in renderTableu use input$model in selectInput itself, but without"selected=" default value, it makes NA problem..u can use another var,e.g brandx=reactive({if(is.null(input$brand) unique(demo$brand)if(input$brand=='all') unique(demo$brand) else input$brand }), then use demo[brand==brandx(),] in abovingdemox() function to filter your criteria..
作者: celestialgod (天)   2015-08-04 00:22:00
cy大大下次也許可以考慮回文,這樣會比較清楚喔
作者: cywhale (cywhale)   2015-08-05 09:03:00
sorry^^本來只回兩句,沒想到後面愈補愈多造成閱讀不便
作者: ardodo (米蟲)   2015-08-05 10:13:00
感謝cel版主回覆,我發現一個小問題想修正若我選擇tax==x並觀察完右側表格後,我想看tax==y並觀察必需要先選擇tax==all,之後才能選tax==y其他選項我也想要有這樣的設定,請問是在isolate裡面的ifelse設定嗎?
作者: celestialgod (天)   2015-08-05 11:27:00
我有注意過這個問題,這個設計的原因是因為你選特定選項時你想刪掉其他不可選的選項,而你可能做多重選取,才不保留該項。你只要不更新你選的選項就可以保留其他選項。像是在tax那個變數中的updateInput_f("tax")刪除就不會更新tax的選項
作者: ardodo (米蟲)   2015-08-05 13:09:00
感謝cel版主的指點,code修改後已可做出我想要的設計http://pastebin.com/MFc9NbXq 分享一下看起來的重點有兩個:1. reactiveValue的設定 2. isolate與observe的搭配
作者: celestialgod (天)   2015-08-05 13:29:00
嗯嗯,我有空研究看看renderUI,再告知你作法。renderUI很難用...放棄了XD原本要試renderUI http://pastebin.com/nzsNh8Ty後來試出上面比較簡單的版本但是你資料量一大,這個處理會很慢因為你每次更新都要複製一次df...
作者: ardodo (米蟲)   2015-08-05 15:34:00
感謝cel版主的幫忙,謝謝囉

Links booklink

Contact Us: admin [ a t ] ucptt.com