宽格式或长格式数据是否更有效?

MKa*_*Kao 5 r matrix memory-efficient dataframe

我很好奇无论解释性如何,以长格式还是宽格式存储数据是否更有效?我已经习惯于object.size()确定内存中的大小,但它们没有显着差异(长度在大小方面稍微有点效率)并且值仅是和估计值.

除了原始大小之外,我还想知道在建模时使用哪种格式更有效.

Mic*_*man 6

两个不同matrixes 的内存使用量应该相同:

> object.size(long <- matrix(seq(10000), nrow = 1000))
40200 bytes
> object.size(square <- matrix(seq(10000), nrow = 100))
40200 bytes
Run Code Online (Sandbox Code Playgroud)

使用R的效率低下会使效率的任何差异相形见绌,因此如果它们甚至可以测量,则几乎不需要考虑.

这种情况是完全不同的data.frame,因为它是一个实现listvectorS:

> object.size(as.data.frame(long))
41704 bytes
> object.size(as.data.frame(square))
50968 bytes
Run Code Online (Sandbox Code Playgroud)

时间效率取决于您想要做什么.