> mylist <- list(1, 2, 3, 4, 5) > mylist [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] 4 [[5]] [1] 5跟向量(vector)不一樣的是,列表中的元素可以是異質 (heterogeneous) 的。
在同一個列表中的各個元素,可以各自是不同的資料型別,如:
> list2 <- list(1, 2, 3, "x", "y", "z") > list2 [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] "x" [[5]] [1] "y" [[6]] [1] "z"我們可以使用索引(index)來取得或參照到列表中某一位置的元表 下列的指令,參照到
list2
中第三個元素:
> list2[[3]] [1] 3鏘鏘鏘!這裡的中括號要有兩個,請記住,是兩個!
我們也可以使用多個索引來取得列表中某一群的元素。
使用下列指令,我們可以取得第1、3、5個元素所組成的列表:
> list2[c(1, 3, 5)] [[1]] [1] 1 [[2]] [1] 3 [[3]] [1] "y"鏘鏘鏘!這裡的中括號只有一個!
我們可以為列表中的元素設定名稱。
> names(list2) <- c("le1", "le2", "le3", "le4", "le5", "le6") > list2 $le1 [1] 1 $le2 [1] 2 $le3 [1] 3 $le4 [1] "x" $le5 [1] "y" $le6 [1] "z"在指定元素名稱之後,要取得某一位置的元素,除了使用索引值之外,也可以使用「元素名稱」當索引來取得:
> list2[["le1"]] [1] 1或使用「list名稱$元素名稱」的方式來取得:
> list2$le1 [1] 1鏘鏘鏘!上列指令中,兩個名稱之間是一個「$」符號。 如果你需要進一步地認識 R,我推薦: