[问题] 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