在运行闪亮的应用程序中运行闪亮的应用

时间:2013-07-10 14:25:09

标签: r shiny

我环顾四周,似乎无法找到我正在寻找的东西。

我在R闪亮上创建了我的应用程序,一切都很棒。我有12个不同的csv文件,每个文件包含某个月的信息。问题是,每个csv是72000 KB。所以现在,我只在1个月内阅读。 我正在考虑用

之类的东西创建一个server.R
if(datasetInput() == "jan"){
  runApp("/file_for_jan")
}

if(datasetInput() == "feb"){
  runApp("/file_for_feb")
}

等等。 这样,它只在特定月份加载才能查看当前。 这是可能吗? 或者你知道有任何聪明,有效的方法来做这样的事情吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

如果您正确实现了代码,它将加载每个文件一次:

在server.R中:

get.dataset = reactive(function(){
     month = input$month
     read.csv(csv fot this month)
 })

output$plot_whatever = renderPlot(
function(){
    dataset = get.dataset(input$momth)
    ...plot here
})

所以你可以加载所有文件一次,或只加载需求(在这种情况下,第一次调用需要更长的时间)。