Работая над блестящим приложением / приборной панелью для анализа рисков, в основном реализуя this в блестящем, но я сталкиваюсь с несколькими проблемами с использованием входных значений для имитации их и печати вывода. Когда я запускаю приложение
, я получаю предупреждение ниже:
Приложение работает, но мой окончательный вывод предполагается максимальным значение, но я получаю NA, как показано ниже:
library(shinydashboard)
library(mc2d)
ui <- dashboardPage(
dashboardHeader(title = "EngSec Risk Analysis"),
dashboardSidebar(),
dashboardBody(
# Boxes need to be put in a row (or column)
fluidRow(
column(width = 3,
box(width = NULL,
title = "Loss Event Frequency",
numericInput("loss_event_frequency_min", label = h5("loss event frequency minimum"), value = 2),
numericInput("loss_event_frequency_max", label = h5("loss event frequency maximum"), value = 9),
numericInput("loss_event_frequency_likely", label = h5("loss event frequency likley"), value = 4)
),
box(width = NULL,
title = "Loss Magnitude",
numericInput("loss_magnitude_min", label = h5("loss magnitude minimum"), value = 1000),
numericInput("loss_magnitude_max", label = h5("loss magnitude maximum"), value = 9000),
numericInput("loss_magnitude_likley", label = h5("loss magnitude likley"), value = 4000)
),
actionButton("sample", "Click To Run Simulation")
),
column(width = 9,
box(width = NULL, textOutput("max")),
box(width = NULL ))
)
)
)
server <- function(input, output) {
confidence <- 4 # default in PERT
number_of_runs <- 10000
set.seed(88881111)
LEF <- eventReactive(input$sample, {
rpert(number_of_runs, input$loss_event_frequency_min, input$loss_event_frequency_likely, input$loss_event_frequency_max, shape = confidence)
})
LM <- eventReactive(input$sample, {
rpert(number_of_runs, input$loss_magnitude_min, input$loss_magnitude_likely, input$loss_magnitude_max, shape = confidence)
})
annual_loss_exposure <- eventReactive(input$sample, { LEF() * LM()})
ALE <- eventReactive(input$sample, {
sapply(LEF(), function(e) sum(rpert(e, input$loss_magnitude_min, input$loss_magnitude_likely, input$loss_magnitude_max, shape = confidence)))
})
max_loss <- eventReactive(input$sample, { max(ALE())})
min_loss <- eventReactive(input$sample, { min(ALE())})
output$max <- renderPrint({max_loss()})
}
shinyApp(ui, server)
Любая помощь приветствуется спасибо