多个操作按钮在R光泽

时间:2016-04-22 15:48:27

标签: shiny

我是R新手,需要你的帮助。我想使用两个操作按钮(是和否)来获取用户对单个问题的反馈(是讽刺吗?)并将响应发送回server.R。但是,这两个操作按钮都不会向服务器发送任何响应。我只是想让server.R知道用户选择了Yes或No中的哪一个。我不明白其背后的原因。下面是我的ui.R和server.R的代码,请提前感谢您的帮助。

Ui.R

library(shiny)

shinyUI(fluidPage(
h3(titlePanel("Sarcasm Detection")),

sidebarLayout(
sidebarPanel(width=6,
  h3("Enter your tweet:"),
  br(),

  textInput("text",""),
  submitButton("Check for Sarcasm"),

  hr(),
  strong(textOutput("text_output")),
  br(),
    p("Is it correct?"),      
   actionButton("yessarcasm","Yes"),
   actionButton("nosarcasm","No")
),
mainPanel(
  verbatimTextOutput("issarcasm")
  ))
))

Server.R

library(shiny)

shinyServer(function(input, output) {

output$text_output <- renderText({

 if(input$text %in% "sar"){
  "Yes, it is sarcastic"
}
else{
  "No, it is not sarcastic"
}

})

output$issarcasm <- renderText({
input$yessarcasm
input$nosarcasm
  if(input$yessarcasm != 0) {
    "User Feedback: Correct Prediction"
    }
  else if (input$nosarcasm != 0) {
    "User Feedback: Incorrect Prediction"
    }
})    
})

1 个答案:

答案 0 :(得分:3)

问题在于CampaignId。文档说明了

  

包含提交按钮的表单不会自动更新它们   当输入改变时输出,而不是等到用户明确   点击提交按钮。

因此,当您有submitButton时,其他输入不再更新,除非您之后按下提交按钮。解决方案是用actionButton替换它,并在服务器代码中使用submitButton

在ui.R

observeEvent
<\ n>在server.R

actionButton("action", "Check for Sarcasm"),