繁体   English   中英

评估错误:R Shiny应用程序中找不到对象“输入”

[英]Error in eval: object 'input' not found in R Shiny app

我的ui.R看起来像这样

library(shiny)
library(Sim.DiffProc)

shinyUI(fluidPage(
      titlePanel("Sliders"),

      sliderInput(inputId = "theta",label="Theta:",
                  min=1, max=50, value=5),

      plotOutput("SDE")
    ))

而server.R如下

library(shiny)
library(Sim.DiffProc)


shinyServer(function(input, output)
{
  result<-reactive({
    f<-expression(x*(1-(x/1000))^input$theta*0.5)
    g<-expression(x*(1-(x/1000))^input$theta*0.2)
    snssde1d(drift=f,diffusion=g, M=5, x0=100)
  })

  output$SDE<-renderPlot({
    plot(result(), plot.type="single", col="lightgrey")})

})

我总是收到以下错误:找不到对象“输入”我无法弄清楚是什么问题。 为什么不反应我的θ? 谢谢你的帮助!

因此,正如我提到的,您遇到的问题不是Rshiny。 它是expression的用法。

你在这里做什么

expression(x*(1-(x/1000))^input$theta*0.2)

它基本上输出相同的表达式,而不用输入$ theta代替值5。

您需要做的如下

 f <- as.expression(bquote(x*(1-(x/1000))^.(input$theta)*0.2))

#bquote evaluates the expression enclosed in .()

这个输出

expression(x * (1 - (x/1000))^5 * 0.2)

我希望它能解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM