什么时候应该使用data.frame
,什么时候最好使用matrix
?
两者都以矩形格式保存数据,因此有时会不清楚。
对于何时使用哪种数据类型有什么通用的经验法则吗?
部分答案已包含在您的问题中:如果列(变量)预计为不同类型(数字/字符/逻辑等),则您可以使用数据框。矩阵用于相同类型的数据。
因此,只有当您拥有相同类型的数据时,选择矩阵/data.frame 才会出现问题。
答案取决于您要如何处理 data.frame/matrix 中的数据。如果要将其传递给其他函数,则这些函数的参数的预期类型将决定选择。
Also:
矩阵的内存效率更高:
m = matrix(1:4, 2, 2)
d = as.data.frame(m)
object.size(m)
# 216 bytes
object.size(d)
# 792 bytes
如果您计划进行任何线性代数类型的运算,则矩阵是必需的。
如果您经常按名称引用数据框的列(通过紧凑的 $ 运算符),那么数据框会更方便。
恕我直言,数据框也更适合报告(打印)表格信息,因为您可以单独对每列应用格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)