2.2.5 列表

2.2.5 列表

列表(list)是R语言中最为复杂的一种数据结构。列表可以理解为广义的向量,它是一些对象的有序集合,可以包含各种类型的对象,甚至是其他列表。在R语言中,可以使用list()函数创建列表:

其中的对象可以是向量、矩阵、数组、数据框和列表。在创建列表的同时,我们还可以为列表中的对象命名,当然也可以在创建完之后使用names()函数对列表对象进行重命名:

提取列表中的元素有几种不同的方式,最常用的方法是使用美元符号“$”,通过列表对象(如向量、矩阵等)的名称来提取列表中的成分。对于提取出来的成分,还可以继续提取里面的元素:

我们还可以使用“[]”来访问列表中的元素。但是需要注意的是,list1[2]返回的是列表中的第二个元素,list1[[2]]返回的是列表第二个元素里的具体成分,即向量b。另外,在列表中还可以使用名称直接访问列表中的成分,list1[[2]]和list1[[“r2”]]是等价的。

列表存储数据的灵活性,使其成为R语言中非常重要的数据结构。列表允许以一种简单的方式组织和重新调用不相干的信息。另外,在R语言中,许多函数的运行结果是以列表的形式返回的。