有什么区别数据框 and list in R
?什么时候应该使用哪一个?哪个更容易循环?
确切的问题:我必须首先存储 3 个字符串元素,如“a”、“b”、“c”。稍后,对于其中的每一个,我都需要附加 3 个元素;例如,对于“a”,我必须添加“a1”、“a2”、“a3”。后来我必须使用嵌套的 for 循环来访问这些元素。
所以我很困惑使用数据框或列表或其他一些数据类型,我可以在其中首先存储然后附加(每列的类型)?
目前我收到错误,例如“要替换的项目数量不是替换长度的倍数”
这个问题并不像有些人想象的那么愚蠢。我知道很多人都在为这种差异以及在哪里使用什么而苦苦挣扎。总结一下:
列表是迄今为止 R 中最灵活的数据结构。它们可以被视为元素的集合,对每个元素的类、长度或结构没有任何限制。您唯一需要注意的是不要给两个元素赋予相同的名称。这可能会引起很多混乱,并且 R 不会为此给出错误:
> X <- list(a=1,b=2,a=3)
> X$a
[1] 1
数据框也是列表,但它们有一些限制:
- 不能对两个不同的变量使用相同的名称
- 数据框的所有元素都是向量
- 数据帧的所有元素都具有相同的长度。
由于这些限制和由此产生的二维结构,数据框可以mimick矩阵的一些行为。您可以选择行并对行进行操作。您不能对列表执行此操作,因为列表中的行未定义。
所有这些意味着您应该为适合该二维结构的任何数据集使用数据框。本质上,您可以将数据框用于任何数据集,其中列与变量一致,行与广义上的单个观察一致。对于所有其他结构,列表是最佳选择。
请注意,如果您想要嵌套结构,则必须使用列表。由于列表的元素本身可以是列表,因此您可以创建非常灵活的结构化对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)