1.4 データ構造(3)リスト
ベクトルは単一のデータ型しか保持できませんが、異なるデータ型のベクトルの集まりを1つのオブジェクトとして扱えるデータ構造をリストといいます。リストは、ベクトルだけでなく、別のリストも要素として持つことができます。
<- 2013
season <- c("楽天", "西武", "ロッテ", "ソフトバンク", "オリックス", "日本ハム")
pacific <- c("巨人", "阪神", "広島", "中日", "DeNA", "ヤクルト")
central <- list(pacific = pacific, central = central, season = season)
npb npb
## $pacific
## [1] "楽天" "西武" "ロッテ" "ソフトバンク" "オリックス"
## [6] "日本ハム"
##
## $central
## [1] "巨人" "阪神" "広島" "中日" "DeNA" "ヤクルト"
##
## $season
## [1] 2013
リストを新たに作成するにはlist()
関数を用います。引数は、要素の参照名 = オブジェクト
をカンマ区切りで列挙します。リストのオブジェクト名の後に$要素の参照名
をつけて実行すると、指定したリストの要素を直接参照できます。例えば、
$pacific npb
## [1] "楽天" "西武" "ロッテ" "ソフトバンク" "オリックス"
## [6] "日本ハム"
また、npb[[1]]
のようにすれば、要素番号でリストの要素を参照することもできます。
2]] npb[[
## [1] "巨人" "阪神" "広島" "中日" "DeNA" "ヤクルト"
以下のようにして、文字列として参照名を指定することもできますが、この場合の結果はリストとなります。
"central"] npb[
## $central
## [1] "巨人" "阪神" "広島" "中日" "DeNA" "ヤクルト"
typeof(npb["central"])
## [1] "list"
統計計算などを行うRの関数の多くは、その結果をリストの形式で返します。リストの要素の参照名の一覧を見るにはnames()
関数を用います。
names(npb)
## [1] "pacific" "central" "season"
また、リストの構造を見たい場合は、str()
関数を用います。
str(npb)
## List of 3
## $ pacific: chr [1:6] "楽天" "西武" "ロッテ" "ソフトバンク" ...
## $ central: chr [1:6] "巨人" "阪神" "広島" "中日" ...
## $ season : num 2013