R语言的使用

来源:互联网 发布:阿里云动态ip 编辑:程序博客网 时间:2024/09/21 06:37
  1. list和vector不一样,后者存储的数据为同一种mode,list可以存储不同mode的数据,一个list就像是一个json,一个包涵很多键值对的数据结构
  2. 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赋值
  3. 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
  4. list中插入:
    1. list_name[[tag_name]]<-element
  5. 不像vector在创建之后就无法增加、删除元素,list中的元素是可以动态增减的
  6. lapply()——list apply,接受两个参数,前者为list(如果是vector会自动转为list),第二个是方法。返回结果为list;sapply()——simplified apply
  7. list中可以嵌套list
  8. 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
0 0