我有一个R脚本(我们称之为myscript.R),它是输入$ year的函数。
一旦我选择shinyapp中的年份,我希望计算机运行" myscript.R" ?
我尝试了以下结构,但它不起作用
fun=function(input,ouput,session){
year= input$year
}
observeEvent(input$year,{
fun(input,output,session)
})
感谢您的回答!
答案 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>
希望这有帮助。