r语言列表添加元素 您所在的位置:网站首页 r语言向量增加元素 r语言列表添加元素

r语言列表添加元素

2023-11-16 12:40| 来源: 网络整理| 查看: 265

在这篇博客,你将学习如何在R中使用列表(list)。之前我们提过,列表可包含不同类型的元素,比如数字、字符串、向量、矩阵,甚至列表中也可包含另一个列表。后面你将会知道,数据框(data frame)也是一种列表,只是比较特殊而已。

接下来,你将学习如何创建、访问、修改以及删除列表中的元素

1. 创建列表

在R中,一般用list()函数来创建列表,来看个例子:

> items items $`a` [1] 1 4 7 $b [1] "apple" "orange" $c [1] 3

可以用str()函数来了解其内部结构:

> str(items) List of 3 $ a: num [1:3] 1 4 7 $ b: chr [1:2] "apple" "orange" $ c: num 3

其中a, b和c是各元素的名称(标签),通过它们可以很方便地访问元素。然而,我们也可以不要标签,这种情况下,默认用数字来做索引。

> items2 items2 [[1]] [1] 1 4 7 [[2]] [1] "apple" "orange" [[3]] [1] 3

此外,我们可以通过is.list()或typeof()函数来判断某个变量是否为列表,通过length()函数来获得其长度。

> is.list(items) [1] TRUE > typeof(items) [1] "list" > length(items) ##含有3个元素 [1] 3 2. 访问列表

类似于向量,列表的访问也可以利用整数、逻辑以及字符向量来索引,比如:

> items items[c(1, 3)] ##通过正整数向量来索引 $`a` [1] 1 4 7 $c [1] 3 > items[-3] ##通过负整数来排除第3个元素 $`a` [1] 1 4 7 $b [1] "apple" "orange" > items[c(TRUE, FALSE, TRUE)] ##使用逻辑向量来索引 $`a` [1] 1 4 7 $c [1] 3 > items[c('b', 'c')] ##使用字符向量来索引 $`b` [1] "apple" "orange" $c [1] 3

从上面知道,[ ]返回的还是一个列表,没有返回元素的内容。我们可以使用[[ ]]来获取元素的内容,比如:

> items['a'] ##单个[]返回的还是列表 $`a` [1] 1 4 7 > typeof(items['a']) [1] "list" > items[['a']] ##两个[]返回具体内容 [1] 1 4 7 > typeof(items[['a']]) [1] "double"

我们也可以用$操作符来获取内容,其功能基本上与[[ ]]相同,不过$还支持部分匹配标签,比如:

> x x$bbb [1] "apple" "orange" > x$b ##支持部分匹配,结果与x$bb, x$bbb相同 [1] "apple" "orange" > x[['b']] ##不支持部分匹配 NULL > x$bbb[1] ##结合[ ]获取元素内部具体内容 [1] "apple" > x$bbb[2] ##结合[ ]获取元素内部具体内容 [1] "orange" 3. 修改列表

类似于向量,利用赋值运算可进行列表元素的修改,比如:

> x$c x[['d']] x$a str(x) List of 3 $ bbb: chr [1:2] "apple" "orange" $ c : logi FALSE $ d : chr [1:3] "one" "two" "three" > x[['bbb']] str(x) List of 2 $ c: logi FALSE $ d: chr [1:3] "one" "two" "three"

有关列表的内容就讲到这。

如若有遗漏,后期将会添加至本博客。

感谢您的阅读!想了解更多有关R语言技巧,请关注我的微信公众号“R语言和Python学堂”,我将定期更新相关文章。

http://weixin.qq.com/r/HBxWTiHEuXzGrWUt90kO (二维码自动识别)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有