连接R脚本与selectizeInput闪亮

时间:2017-07-20 12:44:12

标签: r shiny rstudio

我有一个R脚本(我们称之为myscript.R),它是输入$ year的函数。

一旦我选择shinyapp中的年份,我希望计算机运行" myscript.R" ?

我尝试了以下结构,但它不起作用

fun=function(input,ouput,session){
    year= input$year
}

observeEvent(input$year,{
    fun(input,output,session)
})

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

我不确定脚本中的函数是否真的是你想要的。如果你想让输出依赖于输入,你就是这样做的Shiny:

library(shiny)

ui <- fluidPage(
  selectInput("year","Year: ",choices=c(2000,2001,2002)),
  textOutput("test")
)

server <- function(input, output, session) {

  test_reactive <- reactive({
    year = as.numeric(input$year)
    year = year + 1
    return(year)
  })

  output$test <- renderText({
    test_reactive()
  })
}

runApp(shinyApp(ui, server))

如果你真的想从脚本中调用一个函数,并且在script.R中你有一个函数,比如:

my_function <- function(year)
{
...
}

你应该在服务器功能之上的某个地方source(script.R)进行my_function(year)并在{I}增加1年。{/ p>

希望这有帮助。