讀寫Binary format
save()
、save.image()
、serialize()
的用法#隨便做兩個data frame來存 > x <- data.frame(foo = 1:4, bar = c("a", "b", "c", "d")) > y <- data.frame(i = c("e", "f"), j =1:2 ) #把x、y存到test裡面,file參數之前的都視為要儲存的物件 > save(x, y, file = "D:\\test") #或是省略物件參數,用save.image()把工作環境內定義的Object全部存起來 save.image("D:\\test") #再把x、y載回來 > load("D:\\test")
serialize()
、unserialize()
的用法大概是serialize(Oject, connection),就是把Object二進位後指定給某資料流(connection)的意思,如果connection填NULL就直接輸出到console。
#把(list(1,2,3)序列化並賦值給x #如果不用<-導向給x就會出現在stdout,亦即輸出console > x <- serialize(list(1,2,3), NULL) #可以看到這時候x儲存的是二進位資料 > x [1] 58 0a 00 00 00 02 00 03 03 02 00 02 03 00 00 00 00 13 00 00 00 03 00 00 00 0e 00 00 00 01 3f f0 00 00 00 00 00 00 00 [40] 00 00 0e 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 01 40 08 00 00 00 00 00 00 #x儲存的二進位資料經過unserialize還原成可讀資料。 > unserialize(x) [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3