R:如何创建删除按钮
我从添加和删除按钮之间的差异中学到了什么 从下面的代码中可以看出,主要区别在于添加和删除按钮如何影响场景行。REMOVE按钮有效地使用scenarios[-lengthscenarios]命令删除最近一个场景,同时使用ADD按钮保持其他代码不变 一个非常简单的一行代码解决方案,但优雅的方法来解决问题。我又学到了很多。谢谢大家R:如何创建删除按钮,r,shiny,R,Shiny,我从添加和删除按钮之间的差异中学到了什么 从下面的代码中可以看出,主要区别在于添加和删除按钮如何影响场景行。REMOVE按钮有效地使用scenarios[-lengthscenarios]命令删除最近一个场景,同时使用ADD按钮保持其他代码不变 一个非常简单的一行代码解决方案,但优雅的方法来解决问题。我又学到了很多。谢谢大家 observeEvent(input$add, { if (!(shock %in% scenarios)) { scenarios <<- sor
observeEvent(input$add, {
if (!(shock %in% scenarios)) {
scenarios <<- sort(c(scenarios, shock))
updateCheckboxGroupInput(session, "scenarios",choices = scenarios,selected = scenarios)
}
observeEvent(input$remove,{
scenarios <<- scenarios[-length(scenarios)]
updateCheckboxGroupInput(session, "scenarios",choices = scenarios,selected = scenarios)
})
这应该做到:
library(shiny)
ui <- fluidPage(
numericInput("shock", "Shock", value = round(runif(1) * 1000), 0),
actionButton("add", "Add"),
actionButton("remove", "Remove"),
checkboxGroupInput("scenarios", "Scenarios", choices = c(), selected = c()),
verbatimTextOutput("o1")
)
scenarios <- c(-100, -50, 0, 50, 100)
server <- function(input, output, session) {
updateCheckboxGroupInput(session, "scenarios",
choices = scenarios,
selected = scenarios)
observeEvent(input$add,{
shock <- isolate(input$shock)
if (!(shock %in% scenarios)) {
scenarios <<- sort(c(scenarios, shock))
updateCheckboxGroupInput(session, "scenarios",choices = scenarios,selected = scenarios)
}
# put a new random value
updateNumericInput(session, "shock", value = round(runif(1) * 1000))
})
observeEvent(input$remove,{
scenarios <<- scenarios[-length(scenarios)]
updateCheckboxGroupInput(session, "scenarios",choices = scenarios,selected = scenarios)
})
output$o1 <- renderPrint({
x <- input$scenarios
str(x)
cat(paste0("length: ", length(x), "\n"))
cat(paste0(x, "\n"))
})
}
shinyApp(ui, server)
嗨,陈!这听起来像是一个家庭作业问题,因此我将尝试引导您找到答案,而不直接告诉您:您在ui中声明移除按钮,但从不在服务器中使用它。你应该在哪里使用它?add输入位于要响应的observeEvent内。所以移除也应该是反应性的,对吗?我明白了我们都有坏老师,所以我完全理解。我发现这些方法非常有帮助,并且遵循一个合乎逻辑的过程。你会发现你需要一次掌握一个概念,这将允许你处理任何你需要的事情。目标不是回答具体问题,而是学习解决问题的工具:你可以在这里问家庭作业问题,只要你表现出你认真思考了问题并自己尝试了解决方案,人们就会帮助你。嗨,我只是想让你意识到这个问题。如果你能编辑你的答案并提供一些解释,那将是很有帮助的。谢谢亲爱的猪排,非常感谢你的帮助。我想知道删除按钮删除输入到震动盒中的特定数据会困难得多。例如,如果键入了31,则“删除”按钮将搜索31,如果可以找到,则将其删除。否则,将显示无法找到错误消息31。第二,你有什么建议我可以在哪里免费在线学习?谢谢你抽出时间。