我目前在RStudio
中有一个list对象,它在环境列表中显示为1.2 GB
。但是,当我使用函数saveRDS
和compress = FALSE
进行保存时,保存的对象的大小显示为近4GB。
报告我的列表对象的大小是错误的还是发生了其他事情?我想,如果一个物体占据了R中的某个空间,它应该在相同的尺寸下保存,而不需要压缩?我了解到Stackoverflow中有一些类似于此的问题,但是似乎没有人解释为什么即使没有压缩也会有所不同。
发布于 2018-06-04 04:08:31
R中对象大小的计算由于需要有效的内存管理而变得复杂。您的列表可能包含在内存中未记帐的元素,因为它们可能是共享资源,但在导出时需要包括它们。object.size
的帮助文件声明:
确切地说,内存分配的哪些部分应该归因于哪个对象不是明确的切分。这个函数只是提供了一个粗略的指示:对于原子向量,它应该是相当精确的,但是不能检测列表中的元素是否是共享的,例如。(考虑到字符向量元素之间的共享,但不考虑单个对象中字符向量之间的共享。)
https://stackoverflow.com/questions/50677815
复制相似问题