2014-02-12 2 views
1

В моем файле R первая задача считывается в 24 файлах excel с каждой из них 8 вкладок. Это занимает некоторое время, потому что необходимо выполнить обычную сортировку и имя столбца и т. Д.Как избежать чтения данных каждый раз, когда вы запускаете свою программу R

Что представляет собой лучшая стратегия для продолжения работы без постоянного чтения в файле?

Один из вариантов, о котором я могу думать, заключается в том, чтобы сохранить рабочее пространство и открывать его каждый раз, когда вы выполняете аналитическую работу, но есть ли другие и, возможно, лучшие варианты?

спасибо.

+1

Это экономит рабочее пространство, вы можете настроить с помощью save.image ("file.file"), если не в рабочем каталоге. – Ananta

ответ

4

Вместо сохранения всего рабочего пространства сохраните только данные, которые вы прочитали. Давайте попробуем прочитать некоторые данные из файлов xls и назовем их data1, data2 и data3. Для того, чтобы сохранить их просто выполнить

СОХРАНИТЬ (data1, data2, data3, файл = "filename.Rdata")

и загрузить их выполнения

нагрузки ("filename.Rdata «)

это добавит data1, data2 и data3 к рабочему пространству.

Кстати, он работает для любых объектов в R, включая списки, функции и все, что вы хотите, а не только data.frames.

+0

Если у вас есть 24 data.frames, вы обязательно должны поместить их в список или среду и сохранить это. – Roland

+0

Все ежемесячные файлы excel хранятся в одном фрейме данных, который я хочу сохранить для будущей работы по анализу. –

0

Я согласен с предыдущим ответом, вот маленькая хитрость, чтобы расширить его для создания какой-то кэш, что особенно интересно при чтении данных из источников в Интернете и т.д.

# load data 
if (file.exists("cache/my_data.RData") { 
load("cache/my_data.RData") 
} else { 
# read.csv, do whatever pre-processing 
# connect to a remote db ... 
save(my_object,file="cache/my_data.RData") 
} 

Обратите внимание, что это работает также с функций или графиков, как сказал @Rufo.

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