R語言--list

  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. 不像vector在建立以後就沒法增長、刪除元素,list中的元素是能夠動態增減的
  5. lapply()——list apply,接受兩個參數,前者爲list(若是是vector會自動轉爲list),第二個是方法。返回結果爲list;sapply()——simplified apply
  6. list中能夠嵌套list
  7. 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
相關文章
相關標籤/搜索