r - 宽格式数据还是长格式数据效率更高?

标签 r matrix dataframe memory-efficient

我只是好奇,无论解释如何,以长格式或宽格式存储数据是否更有效?我用过 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 来说,情况就大不相同了。 ,因为它被实现为 listvector 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/

相关文章:

r - 如何使用ggplot2绘制表格

r - 使用 plyr 计算跨组的年同比变化的初学者提示

python - 我如何抵消 Pandas dayofyear 以便开始日期是 10 月 1 日而不是 1 月 1 日?

python - Pandas :计算有条件的连续行

r - qplot() 中的行为可能不一致?

javascript - Shiny 的加载微调器显示得太频繁

r - .Rprofile 未在 cron 下调用

xcode - 将 OpenGL 4x4 矩阵转换为旋转角度

matlab - 有没有一种方法可以生成一个矩阵,其中每个元素都定义为 10+row_index + column_index 而无需 for 循环?

matlab - MATLAB 中的向量和矩阵有什么区别?