gpt4 book ai didi

r - 为什么对象在保存/加载到/从 RData 后变得不同?

转载 作者:行者123 更新时间:2023-12-04 23:56:28 34 4
gpt4 key购买 nike

我有一个大 ExpressionSet对象 ( Bioconductor ) 命名为 eset .你能解释为什么会发生这种情况吗?为什么保存/加载后对象的副本与原始副本不同?

> e2=eset
> identical(e2,eset)
[1] TRUE
> save(e2,file="test.RData")
> rm(e2)
> e2 # just to check the removal
Error: object 'e2' not found
> load("test.RData")
> identical(e2,eset)
[1] FALSE

还有其他方法可以检查两个对象的身份吗?

如果需要,我将在 Windows 7 下使用 R 2.15.1。

最佳答案

环境是少数 R 对象类型之一(连接是另一种),其保存和加载不是完全相反的。

e <- new.env()
f <- e
identical(e,f)
# [1] TRUE
save("f", file="f.Rdata")
rm(f)
load("f.Rdata")
identical(e,f)
# [1] FALSE

ExpressionSet 对象包含 assayData插槽,类 AssayData ,它被描述为“定义为 listenvironment 的类联合的容器类”。虽然我没有 eset 安装在我的电脑上,我猜是 assayData eset 的插槽和 e2引用不同的环境,导致 identical(eset, e2)返回 FALSE .

关于r - 为什么对象在保存/加载到/从 RData 后变得不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687552/

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