列表list

这篇具有很好参考价值的文章主要介绍了列表list。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

列表

列表是将数据组织在一个一维集合中,从这个组织方式来看,它与c()函数是相似的。但是,列表并不是将具体的值组织起来,而是组织R对象,如列表、数据框、矩阵、函数、向量等等。

列表非常好用,因为列表可以存放任何类型的数据,都不会出错,这使其成为R中全能型的存储工具。我们可以使用列表来存储任何类型的数据。在R自定义函数中,如果想要返回多个值,需要对返回结果创建一个list,中文为列表。 

1-创建列表

创建并填充一个列表:

list函数创建列表的方式和c函数创建向量的方式相似,不同的元素用逗号隔开。

创建列表方法1:

> lst <- list(0.5, 0.841, 0.977)
> lst
[[1]]
[1] 0.5

[[2]]
[1] 0.841

[[3]]
[1] 0.977

我自己的理解:可以将列表和c()函数结合来理解列表。c()是用来创建向量的,c意味着combine,将相同的数据类型结合在一起,构成一个向量。列表呢,允许有不同的数据类型,也就是说,构成列表的元素,可以是向量,字符串,数据框,列表。。。,任何R对象都是可以的。c()函数的每个元素只能放字符串、数字等,并且要求c()中的所有元素数据类型必须是一样的,术语为数据同质。可以将c()中的每个元素想象成一个房间,只能放一个东西的房间;将list()中的每个元素可以想象成一个三居室或者别墅,可以放多个东西的大house。

列表的返回值,使用双括号用于提示,现在展示的是列表的第几个元素,在这个元素下面存放的具体数据是什么,上面的这个R代码例子中,列表的每个元素存放的是数字,该列表共有三个元素。

列表的这种双括号索引系统,是因为列表的元素可以是任意一种R对象,这个R对象可能是一个自己有索引系统的向量或者列表。

列表可以包含复杂对象,而不仅仅是基本数据值。

例如:

mods <- list( lm(x ~ y1), lm(x~y2), lm(x~y3))

列表可以存放R的任何对象

> lst <- list(0.5, 0.841, 0.977)
> lst
[[1]]
[1] 0.5

[[2]]
[1] 0.841

[[3]]
[1] 0.977

> lst <- list(3.14, "mod", c(1,4,3), mean)
> lst
[[1]]
[1] 3.14

[[2]]
[1] "mod"

[[3]]
[1] 1 4 3

[[4]]
function (x, ...) 
UseMethod("mean")
<bytecode: 0x00000281e1d69b20>
<environment: namespace:base>

 上面这个例子中,可以看到,这个列表,存放了四个元素,第一个元素是个数字,第二个元素存放了一个字符串,第三个元素中存放了一个向量,第四个元素中存放了函数。

创建列表方法2:

可以先创建一个空的列表,然后将列表相应元素赋值来构造列表。

> lst <- lst()
> lst[[1]]  <- 3.14
> lst[[2]] <- "Moe"
> lst[[3]] <- c(1,1,2,3)
> lst[[4]] <- mean
> lst
[[1]]
[1] 3.14

[[2]]
[1] "Moe"

[[3]]
[1] 1 1 2 3

[[4]]
function (x, ...) 
UseMethod("mean")
<bytecode: 0x00000281e1d69b20>
<environment: namespace:base>

注意:访问列表的元素,一定是列表名+双括号,可以想象成是拿到钥匙,进入这个大house,要往这个大house中存放东西。

列表元素可以明明,list函数允许为每个元素提供名称,c()函数中每个元素也可以提供名称。

> lst <- list(mid=0.5, right=0.84, far.right = 0.977)
> lst
$mid
[1] 0.5

$right
[1] 0.84

$far.right
[1] 0.977

 关于列表的记忆方法,在《R语言入门与实践》4.4节美元符号与双中括号中介绍到,“将列表对象想象成一列火车是十分有用的。使用单中括号相当于选择某节车厢(车头+车厢:还是一列火车,即还是一个列表,从数学集合概念角度理解,可以理解成单中括号得到的是 原始列表的子集,即仍是一个列表),而使用双中括号则相当于选择某节车厢里的的内容。(不带火车头,是里面存放的内容)”

2-访问列表

根据位置访问列表元素

lst[[n]] #访问列表的第n个元素的内容,返回的是列表第n个元素的内容
lst[n] #返回一个元素的列表,即是lst原始列表的子集

lst[c(1,4,5)] #返回三个元素的列表,即是lst原始列表的子集


#若name是列表某个元素的名字,可以通过美元号和双中括号访问
lst$name
lst[["name"]]

参考:

<R语言经典实例>(原书第2版)(2020年5月出版--机械工业出版社)(这本书不错,简短易懂。)

《R语言入门与实践》(2016年6月出版--人民邮电出版社)(这本书不错,对于初学/理解R对象(向量、数据框、矩阵、列表)非常有帮助!)文章来源地址https://www.toymoban.com/news/detail-615714.html

到了这里,关于列表list的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • list列表可编辑状态

    有时候list需要修改或选择属性,mfc自带的只能显示内容,基本上是不可以修改,为了实现这个功能需求,需要完成一下步骤转换. 第一步记录选择的单元格. 第二步创建一个编辑框CComboBox对象, 设置字体,窗口属性. 第三步获取选中单元格的位置信息. 第四步获取单元格内容信息. 第五

    2024年01月22日
    浏览(25)
  • Golang 列表list

    在 Golang 中,list 是一个双向链表实现,可以用来存储任意类型的元素。本文将对 list 进行详细的介绍,包括创建、初始化、添加元素、删除元素、遍历等操作,并提供相应的示例代码。 在 Golang 中,可以使用 list.New() 函数来创建一个新的 list。例如,以下是一个字符串 list 的

    2024年02月11日
    浏览(27)
  • 4、python列表Lists

    列表和你可以用它们做的事情。包括索引,切片和变异! Python 中的 List 表示有序的值序列: In [1]: 我们可以把其他类型的事情列入清单: In [2]: 我们甚至可以列一个清单: In [3]: 列表可以包含不同类型的变量: In [4]: 可以使用方括号访问单个列表元素。 哪个行星离太阳最近? Pyt

    2024年01月17日
    浏览(33)
  • list 列表控件

    list 控件简单分解就是一个背景页面加上顺序排列的按钮组成,按钮里面 可以包含一个图标和文本,当然,按钮的布局并不是固定的,库也允许用户重 新定义按钮的布局。按钮在添加后如果总大小超过 list 控件大小,可以上下滚 动。list 控件的应用非常广泛 ,最常见的就是

    2023年04月09日
    浏览(24)
  • Python 列表(List)

    目录 访问列表中的值 实例(Python 2.0+) 更新列表 实例(Python 2.0+) 删除列表元素

    2024年02月17日
    浏览(31)
  • dart 学习列表 List

    在 Dart 编程语言中,List 是一种有序的集合数据类型,用于存储一系列项目。它允许您在单个变量中存储多个项目,并提供了许多操作来管理列表中的数据。以下是关于 Dart 中的 List 的一些重要信息: 创建 List: 您可以使用以下方法之一来创建一个 List: 基本操作: List 提供

    2024年02月11日
    浏览(31)
  • 列表list

    列表是将数据组织在一个一维集合中,从这个组织方式来看,它与c()函数是相似的。但是,列表并不是将具体的值组织起来,而是组织R对象,如列表、数据框、矩阵、函数、向量等等。 列表非常好用,因为列表可以存放任何类型的数据,都不会出错,这使其成为R中全能型的

    2024年02月15日
    浏览(30)
  • python的列表list

    一.添加  二.insert添加 三.extend添加  四.删除remove 五.pop()删除 六.pop(索引)  七.del 删除 八.clear清除内容  

    2024年02月05日
    浏览(38)
  • Java List(列表)

    List 是一个有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引,第一个添加到 List 集合中的元素的索引为 0,第二个为 1,依此类推。 List 实现了

    2024年02月14日
    浏览(28)
  • python 一次性删除列表(list)的空白元素(空内容) 或者 一次性删除列表(list)中的指定元素

    看看下述代码: 输出: 当你遇见这种情况,有哪些方法来去除里面的空内容呢(即 \\\'\\\' )? 1.1 删除空内容(方法一) : 输出: 1.2 删除空内容(方法二) : 需要 配合 lambda 表达式 一起使用! 输出: 2.3 删除指定内容 : 输出: 注 :此方法既可以删除空元素,也可以删除指

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包