如何在 R 中訪問巢狀列表元素?
有時,列表包含在另一個列表中,但我們要訪問巢狀的列表的元素。由於這些元素是某個列表的一部分,因此無法直接訪問,首先我們需要訪問更寬廣的列表,然後訪問包含該元素的列表才能獲得實際元素。
示例
設想列表 x1、x2、x3、x4 和 x4,以及包含這些列表的 Total_List −
> x1<-c(list(1:5),list(6:10),list(11:15))
> x2<-c(list(letters[1:5]),list(letters[6:10], list(letters[11:15])))
> x3<-c(list(c("India","Australia"),list("Canada"),list(c("Russia","Malaysia"))))
> x4<-c(list("Europe"),list(c("Asia","America"),list(c("Africa","Antartica"))))
> x5<-c(list("Red"),list("Green"),list("Yellow"),list(c("White","Pink")))
> Total_Lists<-list(x1,x2,x3,x4,x5)列印 Total_Lists −
> Total_Lists [[1]] [[1]][[1]] [1] 1 2 3 4 5 [[1]][[2]] [1] 6 7 8 9 10 [[1]][[3]] [1] 11 12 13 14 15 [[2]] [[2]][[1]] [1] "a" "b" "c" "d" "e" [[2]][[2]] [1] "f" "g" "h" "i" "j" [[2]][[3]] [[2]][[3]][[1]] [1] "k" "l" "m" "n" "o" [[3]] [[3]][[1]] [1] "India" "Australia" [[3]][[2]] [[3]][[2]][[1]] [1] "Canada" [[3]][[3]] [[3]][[3]][[1]] [1] "Russia" "Malaysia" [[4]] [[4]][[1]] [1] "Europe" [[4]][[2]] [1] "Asia" "America" [[4]][[3]] [[4]][[3]][[1]] [1] "Africa" "Antartica" [[5]] [[5]][[1]] [1] "Red" [[5]][[2]] [1] "Green" [[5]][[3]] [1] "Yellow" [[5]][[4]] [1] "White" "Pink"
現在,要訪問 x1、x2、x3、x4 和 x4 中的第一個元素,我們可以使用以下程式碼 −
> lapply(Total_Lists,'[[',1) [[1]] [1] 1 2 3 4 5 [[2]] [1] "a" "b" "c" "d" "e" [[3]] [1] "India" "Australia" [[4]] [1] "Europe" [[5]] [1] "Red"
類似地,要訪問 x1、x2、x3、x4 和 x4 中的第三個元素,我們只需將 1 更改為 3,如下所示 −
> lapply(Total_Lists,'[[',3) [[1]] [1] 11 12 13 14 15 [[2]] [[2]][[1]] [1] "k" "l" "m" "n" "o" [[3]] [[3]][[1]] [1] "Russia" "Malaysia" [[4]] [[4]][[1]] [1] "Africa" "Antartica" [[5]] [1] "Yellow"
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP