【发布时间】:2020-02-18 04:15:51
【问题描述】:
我正在开发一个基于模拟的应用程序。我有 2 个初始数字输入对象,“max imp count”和“population size”。根据输入这些数字输入对象的内容,应用程序生成另外 2 个输入对象(实际上作为输出对象)-“select_proportion”和“select_probability”。如果“max imp count”为 3,则应用程序应生成 8 个新输入对象 - 4 个请求比例(proportion0、proportion1、proportion2、proportion3),其中 4 个请求probability0、probability1、probability2 和probability3。我想将这些比例和概率值输入以下列方式工作的示例函数:
1) sample(c(0,input$max_imp, 1), size=input$population, replace=TRUE, prob= 这些取比例值
所有比例括号的二进制值示例:
2) sample(c(0,1), length(proportion_i), replace=TRUE, prob=这些取概率值)
理想情况下,我希望将所有这些都放在一个数据框中,在该数据框中,我有记录所属比例括号的列以及它们是 0 还是 1。
代码:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Simulation"),
dashboardSidebar(
sidebarMenu(
numericInput("max_imp", "max imp count", 0, min = 0, max = 15, step = 1),
numericInput("population", "population size", 1, min = 0, max = 100000, step = 1),
menuItemOutput("menuitem")
)
),
dashboardBody(
uiOutput("select_proportion"),
uiOutput("select_probability")
))
server <- function(input, output) {
output$select_proportion = renderUI(
lapply(0:(input$max_imp), function(i){
numericInput(inputId = "i1", label = paste0("proportion",i), 0, min = 0, max = 1, step = 0.05)}))
output$select_probability = renderUI(
lapply(0:(input$max_imp), function(i){
numericInput(inputId = "i2", label = paste0("probability",i), 0, min = 0, max = 1, step = 0.05)}))
}
# Run the application
shinyApp(ui = ui, server = server)
【问题讨论】:
-
那么问题是什么?
-
我想将 output$select_proportion 中的值作为向量传递给示例函数中的 prob 参数。这将如何实施?
-
将值存储在
reactive表达式中,以便您可以在任意数量的输出中使用它们