我安静的新手Rshiny。我想捕获用户输入的信息(变量)并将它们传递给python脚本,我将在R本身中调用它。但最初我需要服务器代码的帮助,我在反应代码部分没有做正确的事情。
我的代码到现在为止:
library(shiny)
ui <- fluidPage(
headerPanel(
titlePanel("RADP CR Prediction Tool"),
br(),
tags$head(tags$script(src = "message-handler.js")),
textInput('Region', label = 'Enter the region'),
textInput('Regulatory', label = 'Enter the regulatory status'),
textInput('Description', label = 'Enter the description for the CR'),
br(),
br(),
actionButton("goButton", "Go!"),
mainPanel(
# Output: Formatted text for caption ----
h3(textOutput("caption", container = span)),
# Output: Verbatim text for data summary ----
verbatimTextOutput("summary"),
# Output: HTML table with requested number of observations ----
tableOutput("view")
)
)
server <- function(input, output, session) {
region_input=reactive(input$Region)
regulatory_input <- reactive(input$Regulatory)
description_input <-reactive(input$Description)
observeEvent(input$do, {
session$sendCustomMessage(type = 'testmessage',
message = 'Thank you for clicking')
})
}
shinyApp(ui, server)
当我运行代码时,它会给出错误:意外符号: “) 服务器“
我需要使用regulatory_input,description_input和region_input作为R变量,以便我可以进行进一步的分析。
答案 0 :(得分:0)
你错过了一个括号。您关闭了mainPanel
和headerPanel
,但fluidPage
函数的括号不合适。
你可以通过将光标放在第25行的)
之后在RStudio中看到这一点,你会看到(
中的开放headerPanel(
被突出显示。您也可以选择代码,然后点击ctrl I
进行缩进。您将看到server
函数位于fluidPage函数的“内部”。
这可能看起来很小,但关注这样的细节对编程至关重要。根据我的经验,10次中有9次,当某些东西不能正常工作时,我会忘记这样的小事。
至于标题中的问题,您输入的值已经在变量中:input$ID_OF_INPUT
。就像使用任何其他变量一样使用它。没有理由用以下内容复制值:variable <- reactive({input$id})
。只需使用input$id
,只要您使用variable
。