Попытка создать калькулятор будущих значений с блестящим приложением в R и получить ошибку: аргумент 1 (тип 'закрытие') не может быть обработан 'кошкой' - PullRequest
0 голосов
/ 20 мая 2018

Это код, который у меня есть на файле моего сервера:

shinyServer(function(input, output) {
  output$P = renderText(input$Slider1)
  output$n = renderText(input$numeric1)
  output$r = renderText(input$numeric2/100)

futureValue <- reactive({
   principal <- output$P
   numberOfPeriods <- output$n
   rate <- output$r
   fvalue <- principal*(((1+rate)^numberOfPeriods-1)/rate)
   return(fvalue)
   })

output$fv <- renderText(futureValue)

})

Код для главной панели в файле пользовательского интерфейса:

sidebarPanel(
h4("Select Monthly Investment Amount:"),
sliderInput("Slider1","Select Monthly Investment Amount:", 100, 1000, 
100),    
numericInput("numeric1", "Select Number of Payments:", value = 12, min 
= 6, max = 60, step = 1),
numericInput("numeric2", "Select Interest Rate Percentage:", value = 
3.0, min = 0.1, max = 5.0, step = 0.1)  

mainPanel
(
    h4("Monthly Investment Amount:"),
    textOutput("P"),

    h4("Number of Periods:"),
    textOutput("n"),

    h4("Interest Rate:"),
    textOutput("r"), 

    h4("Under the given circumstances, the future value of your 
    investment is:"),

    textOutput("fv")
)

Все работает, кроме последней части, где я 'м, выполняя расчеты по будущей стоимости.Кто-нибудь сможет сказать мне, что я делаю неправильно?

1 Ответ

0 голосов
/ 20 мая 2018

Привет реактивы - это функции, а не переменные

output$fv <- renderText(futureValue() ) 

и изменение реактивной функции следующим образом

futureValue <- reactive({ 
  principal <- input$Slider1     
  numberOfPeriods <- input$numeric1 
 rate <- input$numric2 
 fvalue <-principal*(((1+rate)^numberOfPeriods-1)/rate) 
 return(fvalue) })

должно решить ее.

Надеюсь, это поможет!

...