データ構造の種類
大きく分けて下記の5種類のデータ構造がある。同一のデータ型しか保持できないタイプと、異種のデータ型を保持できるタイプがある。
- 同一データ
- 異種データ
ベクトル
同一のデータ型(数値や文字列)を一次元で格納する。
ベクトルの作り方
c()
を使用する
num <- c(1, 5, 10)
num
[1] 1 5 10
fruits <- c("apple", "mango", "banana")
fruits
[1] "apple" "mango" "banana"
データフレームの操作については下記を参照。 ベクトル
行列
ベクトルを二次元に拡大したもの。ベクトルと同様に同一の型である必要がある。
行列の作り方
matrix()
を使用する。行数、列数はnrow, ncol
で指定する
bingo <- matrix(c(1,3,9,2,5,7,4,8,6), nrow=3, ncol=3)
bingo
[,1] [,2] [,3]
[1,] 1 2 4
[2,] 3 5 8
[3,] 9 7 6
配列
ベクトルをn次元に拡大したもの。
配列の作り方
array()
を使用する。引数dim
で次元を設定する。
cube <- array(1:60, dim=c(3,4,5))
cube
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
, , 2
[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24
, , 3
[,1] [,2] [,3] [,4]
[1,] 25 28 31 34
[2,] 26 29 32 35
[3,] 27 30 33 36
, , 4
[,1] [,2] [,3] [,4]
[1,] 37 40 43 46
[2,] 38 41 44 47
[3,] 39 42 45 48
, , 5
[,1] [,2] [,3] [,4]
[1,] 49 52 55 58
[2,] 50 53 56 59
[3,] 51 54 57 60
リスト
異種のデータを一次元で保持できる。
リストの作り方
list()
を使用する
person <- list(30, "man", c("Tokyo", "Yokohama", "Sendai"))
[[1]]
[1] 30
[[2]]
[1] "man"
[[3]]
[1] "Tokyo" "Yokohama" "Sendai"
データフレーム
Rで様々なデータを格納するのに使用されるデータ構造。異種のデータ型を二次元で保持できる。それぞれの列は長さが一緒である必要がある。
データフレームの作り方
data.frame()
を使用する
name <- c("Taro", "Jiro", "Hanako")
age <- c(26, 18, 20)
brother <- data.frame(name, age)
brother
name age
1 Taro 26
2 Jiro 18
3 Hanako 20
データフレームの操作については下記を参照。 データフレーム