R语言列表的创建和索引
list()函数可用于创建列表对象。例如:
data<-list(a=c(1,2,3),b=c("one","tow"),c=T,d=c(3i+4,9i-9));data
$a
[1] 1 2 3
$b
[1] "one" "tow"
$c
[1] TRUE
$d
[1] 4+3i -9+9i
在上面的示例中,data是一个list对象,内部元素分别存储于名称为“a”~“d”的4列中。每列内元素的数据类型可以各不相同,而且各列内元素的长度也可以各不同,但是相同列中的元素数据类型相同。对于向量的索引,既可以直接使用列下标:<list对象>[[下标]]的形式,也可以使用列名称:<list对象>[["列名称"]]或<list对象>$列名称的形式。
列表内的元素不仅可以是不同数据类型的向量或数据,也可以是一个列表,即可以使用列表的嵌套来建立更复杂的数据。例如:
data<-list(list("one",2,T),c(1:6),c(T,F,F,F))
data
[[1]]
[[1]][[1]]
[1] "one"
[[1]][[2]]
[1] 2
[[1]][[3]]
[1] TRUE
[[2]]
[1] 1 2 3 4 5 6
[[3]]
[1] TRUE FALSE FALSE FALSE
在上例中,list对象data的第一个元素也是一个list。通过这种方式,可以把各个不同数据类型的元素存储于一个list对象中。
data[[1]]
[[1]]
[1] "one"
[[2]]
[1] 2
[[3]]
[1] TRUE
