par*_*tje 5 r binary-reproducibility r-package
我正在构建一个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')) )
Run Code Online (Sandbox Code Playgroud)
非常有趣的问题。有一个奇怪的行为:
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')) )
Run Code Online (Sandbox Code Playgroud)
我的输出在第一个相同的中为 FALSE,但在第二个中为 TRUE。我不清楚为什么。另外我使用 save.image 而不是 save,所以我不知道它是否适合你!最好的!
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |