我是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"
}
})
})
答案 0 :(得分:3)
问题在于CampaignId
。文档说明了
包含提交按钮的表单不会自动更新它们 当输入改变时输出,而不是等到用户明确 点击提交按钮。
因此,当您有submitButton
时,其他输入不再更新,除非您之后按下提交按钮。解决方案是用actionButton替换它,并在服务器代码中使用submitButton
。
在ui.R
observeEvent
<\ n>在server.R 中
actionButton("action", "Check for Sarcasm"),