2016-02-11 45 views
2

我正在处理大的data.frame(例如,500k行/观察值,2500列/特征)。每个功能都是Boolean,所以只有两个值是可能的TRUE/FALSE逻辑变量的内存大小

注意到一个非常高的内存使用情况后,我检查了以下内容:

myVar = TRUE 
class(myVar) 
# [1] "logical" 
object.size(myVar) 
# 48 bytes 

我已经习惯了char尺度的bool期从C采取8Bit = 1Byte。有人能详细说明这种大规模的开销来自哪里,还是我做错了什么?

+2

** R **中没有变量,一切都是向量(或列表)。 –

回答

2

如下比较:约Memory更多信息由哈德利

object.size(logical()) 
# 48 bytes 

object.size(TRUE) 
# 40 bytes 

看帖子。

每个长度为0的矢量占用40个字节的内存。