R Shiny:在 UI 中使用无功输出
R Shiny: using a reactive output in UI
我正在构建一个闪亮的应用程序,它将按用户定义的切点对人口计数进行求和。可以是 0-100 之间的任意数量的切点。
我的想法是让用户定义他们想要的年龄类别的数量,然后让他们输入范围。为此,我安装了包 shinyMatrix
.
理想情况下,我希望矩阵中的行数等于用户定义的切割数,但这需要 UI 函数中的反应值。
ui <- shinyUI(fluidPage(
sidebarLayout(sidebarPanel(
numericInput("breaks", "Enter number of age groups", 0, min= 1, max= 100),
matrixInput("grid", value= matrix(NA,6,2, dimnames = list(NULL, c("lower", "upper"))),
rows = list(extend = TRUE),
cols = list(names = TRUE)),
actionButton("calc", "Calculate")
),
mainPanel(
h4("Population Sum by group"),
dataTableOutput("table")
)
)
))
所以 matrixInput
中的 6 应该是 output$breaks
您可以在服务器端使用 updateMatrixInput
来更新“网格”,将行数设置为 input$breaks
observeEvent(input$breaks, {
updateMatrixInput(session,inputId = "grid",
value = matrix(NA,input$breaks,2,dimnames =list(NULL,c("lower","upper"))))
})
我正在构建一个闪亮的应用程序,它将按用户定义的切点对人口计数进行求和。可以是 0-100 之间的任意数量的切点。
我的想法是让用户定义他们想要的年龄类别的数量,然后让他们输入范围。为此,我安装了包 shinyMatrix
.
理想情况下,我希望矩阵中的行数等于用户定义的切割数,但这需要 UI 函数中的反应值。
ui <- shinyUI(fluidPage(
sidebarLayout(sidebarPanel(
numericInput("breaks", "Enter number of age groups", 0, min= 1, max= 100),
matrixInput("grid", value= matrix(NA,6,2, dimnames = list(NULL, c("lower", "upper"))),
rows = list(extend = TRUE),
cols = list(names = TRUE)),
actionButton("calc", "Calculate")
),
mainPanel(
h4("Population Sum by group"),
dataTableOutput("table")
)
)
))
所以 matrixInput
中的 6 应该是 output$breaks
您可以在服务器端使用 updateMatrixInput
来更新“网格”,将行数设置为 input$breaks
observeEvent(input$breaks, {
updateMatrixInput(session,inputId = "grid",
value = matrix(NA,input$breaks,2,dimnames =list(NULL,c("lower","upper"))))
})