R言語(リスト)

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
>

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA