您好我想创建一个闪亮的用户界面,用户可以在数据集的名称中键入文本框“testdataset”。然后通过单击和操作按钮选择此(示例)分析1或分析2中的特定过程。一旦发生这种情况,我希望文本框显示原始数据集名称加上选择的分析,即“testdataset-analysis1”。我已经构建了下面的示例UI,但我是R的新手,并且不知道如何捕获事件并在UI和服务器之间传递变量并渲染它们。有人可以帮忙吗?
example of what i would like to achieve
库(有光泽)
#====shiny UI
shinyUI(pageWithSidebar(
headerPanel("Shiny action button input "),
sidebarPanel(
textInput(inputId="data1", label = "Input data name"),
actionButton("Ana1", "analysis1"),
actionButton("Ana2", "analysis2")
),
mainPanel(
#
)
))
#====shiny server
shinyServer(
function(input, output) {
output$data1 <- renderText({input$data1})
})
}
)
runApp()#to run application
答案 0 :(得分:3)
这不是一个完整的答案,但尝试自己是好的。通常,使用updateTextInput
更新文本,使用observeEvent
观察按钮上的单击操作,使用input$name
捕获输入值,并使用output$name <- render...
设置输出。您可以在官方的Shiny参考中找到几种updateInput
方法。 http://shiny.rstudio.com/reference/shiny/latest/
例如,在您的服务器代码中
function(session, input, output) {
observeEvent(input$Ana1, {
name <- paste(input$data1, "analysis 1")
updateTextInput(session, "data1", value=name)
}
}