R语言--list
- list和vector不同,后者存储的数据为同一种mode,list能够存储不一样mode的数据,一个list就像是一个json,一个包涵不少键值对的数据结构
- list的建立方式
1) 带tag的方式:j<-list(name=”Joe”,salary=55000,union=T)
2) 无tag的方式:j<-list(“Joe”,55000,T)
3) vector的mode参数:z<-vector(mode=”list”),以后能够向z赋值
- list中元素的访问:
1) list_name$tag_name
2) list_name[[tag_name]]
3) list_name[[index]]
注意,list中元素的访问须要双层[[]],若是单层[index]或[tag_name]会访问到tag_name(或者index)与值自己,是个子list,而不单单是值;并且,双层[[]]中的只能是单一的tag_name或index,不能是相似[[1:3]]这样访问,而单层能够[1:3],提取出1~3做为子list
- 不像vector在建立以后就没法增长、删除元素,list中的元素是能够动态增减的
- lapply()——list apply,接受两个参数,前者为list(若是是vector会自动转为list),第二个是方法。返回结果为list;sapply()——simplified apply
- list中能够嵌套list
- c()方法有个recursive参数,默认为FALSE,当设置为TRUE的时候,将返回“非”嵌套的结果(很是奇怪!)。如c(list(a=1,b=2,c=list(d=5,e=9)))乃是一个嵌套list,而c(list(a=1,b=2,c=list(d=5,e=9)),recursive=T)则是一个vector
欢迎关注本站公众号,获取更多信息