R for data science

保存R对象到磁盘

2019-10-01  本文已影响0人  新云旧雨

笔记说明

《Modern R with the tidyverse》做的笔记。

保存对象

使用saveRDS()可以保存任何对象。
首先构造一个list对象:

my_list <-  list("this is a list", list("which contains a list", 12), c(1, 2, 3, 4), matrix(c(2, 4,  3, 1, 5, 7), nrow = 2)) 
str(my_list)
## List of 4
##  $ : chr "this is a list"
##  $ :List of 2
##   ..$ : chr "which contains a list"
##   ..$ : num 12
##  $ : num [1:4] 1 2 3 4
##  $ : num [1:2, 1:3] 2 4 3 1 5 7
saveRDS(my_list, "object/my_list.RDS")
my_list <- readRDS("object/my_list.RDS")  
str(my_list)
## List of 4
##  $ : chr "this is a list"
##  $ :List of 2
##   ..$ : chr "which contains a list"
##   ..$ : num 12
##  $ : num [1:4] 1 2 3 4
##  $ : num [1:2, 1:3] 2 4 3 1 5 7

这个技巧的用处在于:有时得到一个分析过程中的中间结果需要很长的时间,比如在一个模拟数据上建立一个复杂模型,数据模拟可能需要几个小时才能完成。这种情况下我们可以把模型保存起来,这样可以避免下次使用时重复之前的数据模拟和建模的过程从而节省时间。(我做毕设时每次再分析时都要重新读取原始数据然后运行一遍代码建立模型,好蠢啊TAT)
另外,用这种方式保存数据集也是一个不错的方法。用saveRDS()保存数据集时可以使用compress = TRUE选项,这样可以节省保存用的空间。注意采用这种方式保存的数据集只能用R来读取。

上一篇下一篇

猜你喜欢

热点阅读