R语言列表list函数
列表是R语言中的对象,它包含不同类型的元素,比如 - 数字,字符串,向量和另一个列表等。一个列表还可以包含一个矩阵或一个函数作为它的元素。使用list()函数创建列表。
创建一个列表
下面是一个例子来创建一个包含字符串,数字,向量和逻辑值的列表
# Create a list containing strings, numbers, vectors and a logical values.
list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)
print(list_data)
当我们上面的代码执行时,它产生以下结果:
[[1]]
[1] "Red" [[2]]
[1] "Green" [[3]]
[1] 21 32 11 [[4]]
[1] TRUE [[5]]
[1] 51.23 [[6]]
[1] 119.1
命名列表元素
列表元素可以给定它们的名字并且可以使用这些名称来访问。
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3)) # Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list") # Show the list.
print(list_data)
当我们上面的代码执行时,它产生以下结果:
$`1st_Quarter`
[1] "Jan" "Feb" "Mar" $A_Matrix
[,1] [,2] [,3]
[1,] 3 5 -2
[2,] 9 1 8 $A_Inner_list
$A_Inner_list[[1]]
[1] "green" $A_Inner_list[[2]]
[1] 12.3
访问列表元素
列表的元素可以通过在列表中的元素的索引来访问。如遇命名列表也可以使用名称来访问。
我们继续使用在上面例子的列表
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3)) # Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list") # Access the first element of the list.
print(list_data[1]) # Access the thrid element. As it is also a list, all its elements will be printed.
print(list_data[3]) # Access the list element using the name of the element.
print(list_data$A_Matrix)
当我们上面的代码执行时,它产生以下结果:
$`1st_Quarter`
[1] "Jan" "Feb" "Mar" $A_Inner_list
$A_Inner_list[[1]]
[1] "green" $A_Inner_list[[2]]
[1] 12.3 [,1] [,2] [,3]
[1,] 3 5 -2
[2,] 9 1 8
操控列表元素
我们可以添加,删除和更新列表中的元素,如下图所示。我们可以增加或删除而且只能添加到列表的末尾的元素。但是可以更新任何元素。
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3)) # Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list") # Add element at the end of the list.
list_data[4] <- "New element"
print(list_data[4]) # Remove the last element.
list_data[4] <- NULL # Print the 4th Element.
print(list_data[4]) # Update the 3rd Element.
list_data[3] <- "updated element"
print(list_data[3])
当我们上面的代码执行时,它产生以下结果:
[[1]]
[1] "New element" $NULL $`A Inner list`
[1] "updated element"
合并列表
可以把所有的列表传到一个 list()函数合并多个列表成一个列表。
# Create two lists.
list1 <- list(1,2,3)
list2 <- list("Sun","Mon","Tue") # Merge the two lists.
merged.list <- c(list1,list2) # Print the merged list.
print(merged.list)
当我们上面的代码执行时,它产生以下结果:
[[1]]
[1] 1 [[2]]
[1] 2 [[3]]
[1] 3 [[4]]
[1] "Sun" [[5]]
[1] "Mon" [[6]]
[1] "Tue"
转换列表为向量
列表可以被转换为一个向量,以便能用于进一步操纵向量的元素。所有关于向量的算术运算可以在列表被转换为矢量之后被应用。要做到这一点转换,使用unlist() 函数。它以列表作为输入,并产生一个向量。
# Create lists.
list1 <- list(1:5)
print(list1) list2 <-list(10:14)
print(list2) # Convert the lists to vectors.
v1 <- unlist(list1)
v2 <- unlist(list2) print(v1)
print(v2) # Now add the vectors
result <- v1+v2
print(result)
当我们上面的代码执行时,它产生以下结果:
[[1]]
[1] 1 2 3 4 5 [[1]]
[1] 10 11 12 13 14 [1] 1 2 3 4 5
[1] 10 11 12 13 14
[1] 11 13 15 17 19
R语言列表list函数的更多相关文章
- R语言 三个函数sort();rank();order()
R语言入门,弄懂了几个简单的函数,分享一下:R语言排序有几个基本函数: sort():rank():order()sort()是对向量进行从小到大的排序rank()返回的是对向量中每个数值对应的秩or ...
- R语言——基本绘图函数
通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [ ...
- R语言do.call 函数用法详解
虽然R语言有类型很丰富的数据结构,但是很多时候数据结构比较复杂,那么基本就会用到list这种结构的数据类型.但是list对象很难以文本的形式导出,因此需要一个函数能快速将复杂的list结构扁平化成da ...
- [R]关于R语言的绘图函数
1. 首先就是plot(x,y,...) 参数: x: 所绘图形横坐标构成的对象 y: 所绘图形纵坐标构成的对象 type: 指定所绘图形类型 pch: 指定绘制点时使用的符号 cex: 指定符号的大 ...
- R语言矩阵matrix函数
矩阵是元素布置成二维矩形布局的R对象. 它们包含相同原子类型的元素.尽管我们可以创建只包含字符或只逻辑值的矩阵,但是它们没有多大用处.我们使用的是在数学计算中含有数字元素矩阵. 使用 matrix() ...
- R语言(自定义函数、循环语句、管道函数)
学习R语言半年多了,以前比较注重统计方法上的学习,但是最近感觉一些基础知识也很重要.去年的参考资料是<R语言实战>,今年主要是看视频.推荐网易云课堂里的教程,很多资料都是很良心的~ 目前学 ...
- R语言的scale函数
1.数据的中心化 所谓数据的中心化是指数据集中的各项数据减去数据集的均值. 例如有数据集1, 2, 3, 6, 3,其均值为3 那么中心化之后的数据集为1-3,2-3,3-3,6-3,3-3,即:-2 ...
- R语言常用数学函数
语言的数学运算和一些简单的函数整理如下: 向量可以进行那些常规的算术运算,不同长度的向量可以相加,这种情况下最短的向量将被循环使用. > x <- 1:4 > a <- 1 ...
- R语言:常用函数【转】
数据结构 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量list:列表 data.frame:数据框 c:连接为向量或列表len ...
随机推荐
- hbase zookeeper独立搭建
一.zk单独搭建 1.修改配置文件:conf/zoo.cfg tickTime=2000 dataDir=/home/hadoop/data/zookeeper clientPort=2181 ini ...
- WPF文字间距
代码: <ItemsControl ItemsSource="{Binding Info}" FontFamily="微软雅黑" FontSize=&qu ...
- columns数组形式展示不同列数据
function workList() { var status = $("#status1").val(); if (null == status || status == &q ...
- clickonce联机模式
发布时选择该程序只能联机使用,这样本地就不会进行安装. 参考地址:https://blog.csdn.net/dqs78833488/article/details/52513948
- php-fpm 和 nginx 的两种通信方式
在 linux 中,nginx 服务器和 php-fpm 可以通过 tcp socket 和 unix socket 两种方式实现. 一下内容转自:https://blog.csdn.net/qq62 ...
- Java几个基本概念
To xj 编译:test.java->test.class反编译:test.class->test.java打jar包:test.class->test.jar打war包:test ...
- 【经典漏洞案例】NSA黑客工具包——Windows 0day验证实验
还记得今年4月中旬,Shadow Brokers(影子经纪人)黑客组织发布出一份震惊世界的机密文档,其中包含了多个Windows 远程漏洞利用工具,此工具集覆盖大量的Windows服务 器,可以被任何 ...
- Android IPC机制—Binder的工作机制
进程和线程的关系 IPC机制即为跨进程通信,是inter-Process Communication的缩写.是指两个进程之间进行通信.在说进程通信之前,我们的弄明白什么是线程,什么是进程.进程和线程是 ...
- 【javascrpt】——图片预览和上传,兼容IE 9-
下载DEMO:https://github.com/CaptainLiao/zujian/tree/master/Upload 对于现代浏览器来说,要实现图片预览非常简单: 1.fileReader. ...
- VS中工程的“依赖”,“库目录”,“包含目录”
写多了Vs中的工程,就会遇到很多环境配置问题,例如“依赖项”,“库目录”,“包含目录”等等等等. 今天要记录的就是这些的基本含义:我们拿一个例子来看,更加清晰易懂一些: 例如在Opencv3.0+VS ...