ベクトル、行列、データフレーム、リスト、配列、テーブルの違い
記載の動機
- Rには複数の要素を格納するために様々なオブジェクトが存在します。
- "配列"など名前を聞いただけではどのような構造なのか想像し難いものも多くあります。
- 特に多言語と比較して別の意味で用いられているオブジェクトを図にしています。
- また、各要素にどのようにアクセスするかも混乱のポイントなので、同じくまとめています。
ベクトル(vector)、行列(matrix)、データフレー>ム(data.frame)、リスト(list)、配列(array)、テーブル(table)の違い
- Rは数学・統計に特化しているだけあり、多数のデータの格納する型に様々な選択肢があり、他の言語から流れてきた人には、戸惑う場合も多いかと思います。
- ここでは大量のデータの格納に用いられることの多い型の違いを図示してみます。
|
# | 型名 | 日本語呼称 | 次元 | 格納されるデータ型の種類 | 備考
|
1 | vector | ベクトル | 1次元 | 1種 |
|
2 | matrix | 行列 | 2次元 | 1種 | 行列は2次元の配列
|
3 | data.frame | データフレーム | 2次元 | 複数種 |
|
4 | list | リスト | - | 複数種 | 複数のオブジェクトを纏めるオブジェクト
|
5 | array | 配列 | 多次元 | 1種 |
|
6 | table | テーブル | 多次元 | int | 格納されるのは頻度値
|
- 下図、吹き出しの中の文字列は要素にアクセスする際の指定子です。
- 当然のことながら、3次元以上の多次元にも対応しています。
- tableはdata.frame等のデータをクロス集計した頻度値を格納するのに使用されます。
参考