説明用です。他のプログラミング言語の連想配列/マップ/ハッシュと同様に使えるわけですが、[ ]と[[ ]]の使い分けがややこしいですね。
# 空リストを作成 lst <- list() # リストを作成 lst <- list("a"=123, "b"=456, "c"=789) # ベクターをリストに変えて、名前をつけてもよい lst <- as.list(c(123, 456, 789)) names(lst) <- c("a", "b", "c") # 1番目だけを抽出したリストを作る sub_1 <- lst[1] # "b"と"c"のリストを作る sub_bc <- lst[c("b", "c")] # 2番目の要素を得る lst[[2]] # 3番目の要素を得る getElement(lst, 3) # "a"の要素を得る lst[["a"]] # "d"を追加する lst["d"] <- 0 # "b"を消す lst["b"] <- NULL # 名前"d"の要素が含まれているか調べる if(!is.null(lst[["d"]])) print("名前dの要素は無い") # 名前のベクトルを得る names(lst) # 要素のベクトルを得る unlist(lst) # リストの長さを得る length(lst) # 全部の要素から17を引いたリストをつくる lst_minus_17 <- lapply(lst, function(x){ x - 17 }) # 全部の要素に31を足したベクトルを得る vector_plus_31 <- sapply(lst, function(x){ x + 31 }) # ベクトルのリストをつくる vlst <- list("a"=c(1, 2, 3), "b"=c(4, 5, 6), "c"=c(7, 8, 9)) # リストの各要素の2番目の値を取り出す sapply(vlst, "[[", 2) # "[["はgetElementでもOK # リストの各要素の3番目の値だけで、リストを作りなおす vlst_sub <- lapply(vlst, "[[", 3)