我只是好奇,无论解释如何,以长格式或宽格式存储数据是否更有效?我用过 object.size()
来确定内存中的大小,但它们没有显着差异(就大小而言,long 的效率稍高一些),并且该值仅是估计值。
除了原始大小之外,我还想知道哪种格式在用于建模时在操作方面更有效。
最佳答案
两种不同的内存使用情况matrix
es 应该是相同的:
> object.size(long <- matrix(seq(10000), nrow = 1000))
40200 bytes
> object.size(square <- matrix(seq(10000), nrow = 100))
40200 bytes
效率上的任何差异都将因使用 R 的低效率而相形见绌,因此几乎不需要考虑,如果它们甚至可以测量的话。
对于
data.frame
来说,情况就大不相同了。 ,因为它被实现为 list
的 vector
s:> object.size(as.data.frame(long))
41704 bytes
> object.size(as.data.frame(square))
50968 bytes
这样做的时间效率将取决于您究竟想做什么。
关于r - 宽格式数据还是长格式数据效率更高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181069/