我正在构建R包,并使用data-raw
和data
存储预定义的RxODE
模型库。效果很好。
但是,生成的.rda
文件在每一代都发生变化。一些模型包含R环境,并且序列化似乎包含“创建时间”时间戳。这意味着每次重新生成data/
目录时,所有文件都已更改...
是否可以通过某种方式将R环境的序列化修改为可重现?
storeFile <- function(file) {
env <- new.env()
fun <- function(x) {x+3}
environment(fun) <- env
save('fun', file = file, ascii=TRUE)
}
storeFile('fileA.rda')
storeFile('fileB.rda')
message("Files are identical? ", identical(readLines('fileA.rda'), readLines('fileB.rda')) )
答案 0 :(得分:0)
非常有趣的问题。有一种奇怪的行为:
storeFile <- function(file) {
env <- new.env()
fun <- function(x) {x+3}
environment(fun) <- env
save.image(file = file, ascii=TRUE)
}
storeFile('fileA.rda')
storeFile('fileB.rda')
message("Files are identical? ", identical(readLines('fileA.rda'), readLines('fileB.rda')) )
storeFile('fileA.rda')
storeFile('fileB.rda')
message("Files are identical? ", identical(readLines('fileA.rda'), readLines('fileB.rda')) )
我的输出在第一个相同时为FALSE,但在第二个相同时为TRUE。我不清楚为什么。 另外,我使用的是save.image而不是save,所以我不知道它是否适合您! 最好!