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
歡迎關注本站公眾號,獲取更多信息