在R中更新来自两个不同来源的numericInput可以通过以下步骤实现:
shiny
包,可以使用以下命令进行安装:install.packages("shiny")
app.R
文件,并在其中引入shiny
包:library(shiny)
app.R
文件中创建一个shinyApp
函数,用于定义应用程序的UI和服务器逻辑:shinyApp(
ui = fluidPage(
# 在这里定义UI组件
),
server = function(input, output) {
# 在这里定义服务器逻辑
}
)
numericInput
函数创建两个输入框,分别来自两个不同的来源:numericInput("input1", "输入1", value = 0)
numericInput("input2", "输入2", value = 0)
observeEvent
函数监听两个输入框的变化,并更新另一个输入框的值:observeEvent(input$input1, {
updateNumericInput(session, "input2", value = input$input1)
})
observeEvent(input$input2, {
updateNumericInput(session, "input1", value = input$input2)
})
完整的app.R
文件如下所示:
library(shiny)
shinyApp(
ui = fluidPage(
numericInput("input1", "输入1", value = 0),
numericInput("input2", "输入2", value = 0)
),
server = function(input, output) {
observeEvent(input$input1, {
updateNumericInput(session, "input2", value = input$input1)
})
observeEvent(input$input2, {
updateNumericInput(session, "input1", value = input$input2)
})
}
)
这样,当输入框1的值发生变化时,输入框2的值会被更新为输入框1的值;同样地,当输入框2的值发生变化时,输入框1的值会被更新为输入框2的值。
领取专属 10元无门槛券
手把手带您无忧上云