R言語続きです。リストはいろんなオブジェクトを格納できます。
(+は入力継続のプロンプトです)
> lis = list( + a=1:10, + b=array(1:12,c(3,4)), + c=matrix(1:4,nrow=2,ncol=2), + d=data.frame(c("あなご","いくら","うに"),c(300,400,500)), + e=table(sample(1:10,10))) >
このように、ベクトル、配列、行列、データフレーム、表、ごちゃまぜで格納できます。
参照は配列のようにアクセスできます。1はじまりです。
> lis[1] $a [1] 1 2 3 4 5 6 7 8 9 10 > lis[2] $b [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6 9 12 > lis[3] $c [,1] [,2] [1,] 1 3 [2,] 2 4 > lis[4] $d c..あなご....いくら....うに.. c.300..400..500. 1 あなご 300 2 いくら 400 3 うに 500 > lis[5] $e 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 1 1 1 1 1 >
[]で参照するときは、リストが返ります。
> is.list(lis[1]) [1] TRUE > is.list(lis[2]) [1] TRUE > is.list(lis[3]) [1] TRUE > is.list(lis[4]) [1] TRUE > is.list(lis[5]) [1] TRUE >
元のオブジェクトを取得するには、[[]]を使います。
> is.vector(lis[[1]]) [1] TRUE > is.array(lis[[2]]) [1] TRUE > is.matrix(lis[[3]]) [1] TRUE > is.data.frame(lis[[4]]) [1] TRUE > is.table(lis[[5]]) [1] TRUE >
コメント