R:データの形式
Rで使用する主なデータの形式は以下の5つです。
- ベクトル
- マトリックス
- データフレーム
- 配列
- リスト
それぞれが具体的にどのような形式なのか順番に見ていきましょう。
例にはRをインストールしたときに含まれているデータセットirisを用います。
これは、セトサ、バーシカラー、バージニカという3種類のアヤメの花について、それぞれ50標本の、ガク片の長さ、ガク片の幅、花弁の長さ、花弁の幅を計測した150標本のデータです。
Rにて、
>iris
と記入しenterをおせば、データセットの中身の確認ができます。
1. ベクトル
ベクトルは1行で表されるデータです。
ガク片の長さ | ガク片の幅 | 花弁の長さ | 花弁の幅 |
---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 |
この情報を例えばsample1という変数に代入するには、cを用います。
>sample1 <- c(5.1,3.5,1.4,0.2)
これらデータのラベルも追加することができます。
>names(sample1) <- c("ガク片の長さ","ガク片の幅","花弁の長さ","花弁の幅")
ラベルを追加したあとにsample1と打ち込みenterを押すと、
ガク片の長さ | ガク片の幅 | 花弁の長さ | 花弁の幅 |
---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 |
2. マトリックス
例として、まず次のようなsample2のデータを作成します。
ガク片の長さ | ガク片の幅 | 花弁の長さ | 花弁の幅 |
---|---|---|---|
7.0 | 3.2 | 4.7 | 1.4 |
まずはsample2のベクトルを作成します。
>sample2 <- c(7.0,3.2,4.7,1.4)
次に先ほど作成したsample1と結合します。
>rei.matrix <- rbind(sample1,sample2)
このrbindは1つのベクトルを行要素として結合します。
列要素として結合させたいときは、cbindを用います。
では、rei.matrixの中身を確認します。
>rei.matrix
ガク片の長さ | ガク片の幅 | 花弁の長さ | 花弁の幅 | |
---|---|---|---|---|
sample1 | 5.1 | 3.5 | 1.4 | 0.2 |
sample2 | 7.0 | 3.2 | 4.7 | 1.4 |
3. データフレーム
表形式のデータの中に数値や文字列など異なるデータが混在しているときはデータフレームを用います。
re.matrixにあやめの種類のデータを追加します。
rei.matrixのデータは数値、アヤメの種類のデータは文字列なので、データフレームを用います。
まずは、rei.matrixに加える種類のデータを作成します。
種類 <- c(setosa,versicolor)
これをrei.matrixに加えます。
rei.FD <- data.frame(cbind(rei.matrix , 種類)
ここでrei.FDと記入しenterを押すとrei.FDの中身を確認できます。
>
ガク片の長さ | ガク片の幅 | 花弁の長さ | 花弁の幅 | 種類 | |
---|---|---|---|---|---|
sample1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
sample2 | 7.0 | 3.2 | 4.7 | 1.4 | versicolor |
4. 配列
複数のデータ表を、1つのオブジェクトとしてまとめたものを配列(array,分割表)といいます。
> (AR1 <- array(LETTERS[1:24],c(2,4,3)))
, , 1
[,1] [,2] [,3] [,4]
[1,] "A" "C" "E" "G"
[2,] "B" "D" "F" "H"
, , 2
[,1] [,2] [,3] [,4]
[1,] "I" "K" "M" "O"
[2,] "J" "L" "N" "P"
, , 3
[,1] [,2] [,3] [,4]
[1,] "Q" "S" "U" "W"
[2,] "R" "T" "V" "X"
5. リスト
リストは、ベクトル、行列、配列、リストなどの異なるデータ型のデータを1つのオブジェクトとして扱うことが 可能なオブジェクトです。リスト関数listを用いて作成します。
>L1 <- list(c(1:8),c("A","B"),matrix(1:12,2,6))
6. データ型式の確認
データオブジェクトの属性は、関数classを用いて確認することが出来ます。
以上