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 >


コメント