2013-07-10 2 views
2

Я осмотрелся, и я не могу найти то, что ищу.запустить блестящее приложение в бегущем блестящем приложении

Я создал свое приложение на R блестящем и все отлично работает. У меня есть 12 различных файлов csv, каждый из которых содержит информацию за определенный месяц. Проблема в том, что каждый csv составляет 72000 КБ. Так что прямо сейчас, у меня есть только чтение за 1 месяц. Я думал о создании server.R с чем-то вроде

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

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

и так далее. Таким образом, он загружается только в конкретный месяц, чтобы посмотреть в настоящее время. Возможно ли это? Или вы знаете какой-нибудь умный, эффективный способ сделать что-то вроде этого?

Спасибо!

+0

Вы можете попытаться загрузить все ваши файлы в память, например, добавить индикатор выполнения «... please wait - load data». – Fernando

ответ

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

Так что вы можете загрузить все файлы один раз, или загрузить только спрос (в этом случай, первый вызов займет больше времени).

Смежные вопросы