list - R 中向量和列表数据类型有什么区别?

标签 list r vector

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/

相关文章:

python - 选择字典中值列表中的元素

.net - 与列表(字符串)连接

r - 在 Mac OS X Maverick 上启动 Rserve 时出错

python - Shapely:3D 中线和多边形的交点

python-3.x - 合并字典中的两个列表,保留具有多个值的键的重复值

python - 如何分隔列表python 2.7的每一行?

r - 如何删除/更改 R 中绘图 geom_vline 中的标签?

反转默认比例梯度ggplot2

c++ - vector 中 push_back 的问题

c++ - 从 C++ 中的文本文件中打印出空格