2

我环顾四周,似乎找不到我要找的东西。

我在 R Shiny 上创建了我的应用程序,一切都很好。我有 12 个不同的 csv 文件,每个文件都包含某个月份的信息。问题是,每个 csv 是 72000 KB。所以现在,我只能在 1 个月内阅读它。我正在考虑用类似的东西创建一个 server.R

if(datasetInput() == "jan"){
  runApp("/file_for_jan")
}

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

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

谢谢!

4

1 回答 1

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
})

因此,您可以一次加载所有文件,或者只加载需求(在这种情况下,第一次调用将花费更长的时间)。

于 2013-07-10T14:54:09.220 回答