列表(list)是R语言的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表允许整合若干(可能无关的)对象到单个对象名下。
例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。同一个列表中的向量、矩阵和数组的元素必须是同一类型数据。一个数据对象若包含不同的数据类型,则其可以采用列表这种形式
- 列表是可以包含多个不同数据元素的数据对象
- 可以包含向量、矩阵、数据框,甚至是列表
- 列表的各个元素称为列表项,列表项的数据类型可以不同,长度可以不同
列表创建
list函数可以用于创建列表对象
list ( object1, object2, …… )
- > (my.list <- list(stud.id = 34453,
- + stud.name = “张三”,
- + stud.marks = c(14.3,12,15,19)
- > $stud.id
- > [1] 34453
- > $stud.name
- > [1] "张三"
- > $stud.marks
- > [1] 14.3 12.0 15.0 19.0
对象my.list由三个成分组成:第一个是名称为stud.id的数值,第二个是名称为stud.name的字符串,第三个是名称为stud.marks的数值向量
列表索引
语法 |
描述 |
x[n] |
列表显示元素n |
x[[n]] |
列表的第n个元素 |
x[[“name”]] |
名为“name”的元素 |
x$name |
同上 |
列表编辑
列表的编辑与向量的编辑类似,可使用c函数进行合并
可对列表进行合并操作,并可将列表转换为向量,与其他数据结构不同的是,把列表转换为向量时需要用到unlist函数,格式为unlist(x)
-
> #示例列表
- > data <- list(a=c(11,22,33,44),b=matrix(1:10,nrow=2),c=“one,two,three”,d=c(FALSE,TRUE))
-
> data$a <- NULL #删除名称为a的对象
-
> #增加名称为e的对象
- > data1 <- c(data,list(e=c(5,6,7)))
-
> data2 <- c(data,e=list(c(5,6,7))) #与上面等价
-
> unlist(data1) #列表转换为向量
-
> #列表合并
-
> data2 <- list(1,2,3,4) #创建一个新列表
-
> c(data,data2) #列表合并
|
请发表评论