下面是这种情况:更新文本多操作按钮 - R的闪亮
我有一个名为被调用函数生成stories
数据帧说,以下类型的abc()
:
X1 X2 X3 X4 X5
1 a e i m q
2 b f j n r
3 c g k o s
4 d h l p t
现在我已经给在ui.r 5操作按钮说(行动1,...,行动5)
现在,当用户选择操作1我想显示stories[,1]
同样,对于其他类似行动5个显示stories[,5]
要做到这一点我写了If
声明不幸的是这仅产生基于值仅什么是去年我在去年if
条件
下面是server.R代码:
shinyServer(
function(input,output,session){
abc()
terms<-reactive({
if(input$analyse5){
isolate({
withProgress({
setProgress(message = "Analyzing")
stories[,5]
})
})}
if(input$analyse4){
isolate({
withProgress({
setProgress(message = "Analyzing")
stories[,4]
})
})}
if(input$analyse3){
isolate({
withProgress({
setProgress(message = "Analyzing")
stories[,3]
})
})}
if(input$analyse2){
isolate({
withProgress({
setProgress(message = "Analyzing")
stories[,2]
})
})}
if(input$analyse1){
isolate({
withProgress({
setProgress(message = "Analyzing")
stories[,1]
})
})}
})
output$text1<-renderUI({
HTML(paste(h2(terms()[1]),terms()[2],terms()[3],terms()[4],sep='<br/><br/>'))
})
}
)
首先只当我按下第一个动作按钮时,它会触发[a,b,c,d]
如果首先按下任何其他动作按钮,则不会产生任何内容,类似于按下第一个动作按钮后,其他动作按钮不会在故事中显示相应的列,即说动作2不会给出stories[,2]=[e,f,g,h]
inste广告仍是一样的[a,b,c,d]
理想,这意味着按钮都没有反应
下面是供您参考ui.r还有:使用修改后的代码observeEvent
节尝试:
shinyUI(
fluidPage((
titlePanel('Some Headline')),
sidebarLayout(
sidebarPanel(
actionButton("analyse1","Action 1"),
actionButton("analyse2","Action 2"),
actionButton("analyse3","Action 3"),
actionButton("analyse4","Action 4"),
actionButton("analyse5","Action 5")
),
mainPanel(
h4(htmlOutput("text1"))
))))
编辑:
terms<-reactive({
observeEvent((input$analyse5),{
isolate({
withProgress({
setProgress(message = "Loading 5th Article...")
stories[,5]
})
})})
observeEvent((input$analyse4),{
isolate({
withProgress({
setProgress(message = "Loading 4th Article...")
stories[,4]
})
})})
这是改善的情况:早些时候我可以看到所有的动作按钮都在执行simult毫无意义地(每个场景触发的Progress消息)现在我只看到按钮上的按钮进度消息,但是无法获得输出,它仍然是第一个。
请帮助一些代码示例。
更新:当我添加print(stories [,5])或print(stories [,4])时,它会在控制台上打印各个按钮的点击,但不会在Shiny App上。
我建议定义与'reactiveValues'一个对象,然后让每个绑定到'observeEvent',其中的每一个修饰的反应性值适当 – Benjamin
感谢@Benjamin的答复的acroom按钮,我奋力有一点,你能给我写一些可以帮助的虚拟代码吗?再次感谢 –