下面是這種情況:更新文本多操作按鈕 - 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按鈕,我奮力有一點,你能給我寫一些可以幫助的虛擬代碼嗎?再次感謝 –