R 中向量和列表数据类型之间的主要区别是什么?使用(或不使用)这两种数据类型的优点或缺点是什么?
我希望看到演示数据类型用例的示例。
最佳答案
从技术上讲,列表是向量,尽管很少有人会使用该术语。 “列表”是几种模式之一,其他模式有“逻辑”、“字符”、“数字”、“整数”。您所说的向量是严格的 R 术语中的“原子向量”:
aaa <- vector("list", 3)
is.list(aaa) #TRUE
is.vector(aaa) #TRUE
列表是(向量)的“递归”类型,而原子向量则不是:
is.recursive(aaa) # TRUE
is.atomic(aaa) # FALSE
您可以使用不同的函数处理数据对象,具体取决于它们是递归的、原子的还是具有维度属性(矩阵和数组)。然而,我不确定对不同数据结构的“优点和缺点”的讨论是否是一个足够集中的问题。为了补充汤米所说的,除了能够容纳任意数量的其他向量的列表之外,还可以使用数据帧,它是一种特定类型的列表,具有定义其结构的维度属性。与真正折叠原子对象的矩阵和数组不同,数据框可以保存不同的类型,包括因子类型。
还有一个警告,当存在名称以外的属性时,is.vector
函数将返回 FALSE
。请参阅:what is vector?
关于list - R 中向量和列表数据类型有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8594814/