1
数値入力を取得し、2つの式を入力に適用してヒストグラムをプロットしようとしています。エラー - 引数 "inputId"がありません。既定値はありません。
UIサイド
library(shiny)
shinyUI(fluidPage(
actionButton (InputId = "USD", label = "US Bond Return"),
actionButton (InputId = "INR", label = "Indian Bond Return"),
numericInput(InputId = "num", label = "USD given by Investor", value = 0,
min = 1, max = 1000, step = NA, width = NULL), plotOutput("hist")))
サーバー側
library(shiny)
shinyServer(function(input, output) {
rv = reactiveValues(data = input$num)
observeEvent(input$USD, { rv$data <- (input$num * 0.0225) })
observeEvent(input$INR, { rv$data <- (input$num*0.1) })
output$curve <- renderPlot({
hist(rv$data)
})
}
)
ありがとう!そのエラーは解決されましたが、現在は別のエラーが発生しています: - .getReactiveEnvironment()$ currentContext()内のエラー: アクティブなリアクティブなコンテキストなしで操作が許可されていません。 (反応式やオブザーバの内部からしかできないことをしようとしました。) –
このエラーは 'rv = reactiveValues(data = input $ num)'のためです。 'rv = reactiveValues(data = input $ num)'を試してみてください。 – SBista
また、アプリケーションの最初の実行後にボタンをクリックしたときに 'observeEvent'が呼び出されるため、達成しようとしていることはコードからは達成できません。あなたの 'renderPlot({ hist(rv $ data)})'は、アプリケーションの最初の実行中に実行され、再度呼び出されることはありません。光沢のあるアプリの仕組みを理解するには、[this](https://shiny.rstudio.com/reference/shiny/latest/plotOutput.html)を参照してください。また、[Shiny App Tutorial](https://shiny.rstudio.com/tutorial/)は、あなたが学ぶ場所として最適です。 – SBista