gpt4 book ai didi

可重现的 saveRDS 环境

转载 作者:行者123 更新时间:2023-12-03 17:30:50 27 4
gpt4 key购买 nike

我正在构建一个 R 包并使用 data-rawdata存储预定义的库 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')) )

最佳答案

非常有趣的问题。有一个奇怪的行为:

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,所以我不知道它是否适合你!
最好的事物!

关于可重现的 saveRDS 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54530493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com