Мой вопрос: как сохранить вывод, т.е. mydata

 mydata=array(sample(100),dim=c(2,100,4000))

Достаточно быстро?

Я использовал пакет reshape2, как это предлагалось здесь.

 melt(mydata)

А также

 write.table(mydata,file="data_1")

Но на сохранение данных в файл уходит больше часа. Я ищу другие, более быстрые способы выполнения работы.

r
2
Janak 25 Апр 2016 в 14:32

2 ответа

Лучший ответ

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

В любом случае, saveRDS может быть наиболее подходящим для вас. В данном случае более существенная разница заключается в том, что save может сохранять множество объектов в файл за один вызов, в то время как saveRDS, будучи функцией нижнего уровня, работает с одним объектом за раз. .

save и load позволяют сохранить именованный объект R в файл или другое соединение и снова восстановить этот объект. Но при загрузке именованный объект восстанавливается в текущей среде с тем же именем, что и при сохранении.

Вместо этого saveRDS и loadRDS позволяют сохранить один объект R в соединении (обычно файл) и восстановить объект, возможно, с другим именем. Низкоуровневая работоспособность делает функции RDS более эффективными, вероятно, для вашего случая.

2
Community 23 Май 2017 в 11:44

Прочтите текст справки для saveRDS, используя? SaveRDS. Вероятно, это будет лучший способ сохранять и загружать большие фреймы данных.

saveRDS(yourdata, file = "yourdata.Rda")
2
AlternativeHacks 25 Апр 2016 в 11:46