統計解析フリーソフト「R」で統計学に入門する21 【データ構造を学ぼう】

こんにちは、ミントです

「R」でデータをあつかう時に、これまでこんなオブジェクトを作成しました

kudamono <- c(“りんご” , “みかん”, “バナナ”)

のような感じで作っていました

りんご、みかん、バナナを kudamono として、ひとまとまりで表現されています

このように、データをひとかたまりに表現したとき、そのデータの構造を、「データ構造」と呼びます

世の中にはさまざまなデータがありますが、Rで統計処理していくには、適切なデータ構造に入れてから解析をおこなう必要があります

というわけで、Rによる統計解析に必須の「データ構造」をサクッとまとめてみました

本記事の概要

「R」には、どんなデータ構造があるの?

具体的なデータ構造は、以下の5種類があります

(1)、ベクトル

(2)、行列

(3)、配列

(4)、データフレーム

(5)、リスト

へぇ~こんなにあるの~って方から、

プログラミングの経験者なら、ベクトルと配列って一緒じゃないの??

って方など、さまざまな印象をもたれるかもしれません

それぞれについての詳細はおいおい説明しますので、ここではこの5つが何なのか、簡単につかんでみましょう~

 

「R」のデータ構造をサクッと学んでみる

ベクトル、行列、配列、データフレーム、リストについて、どんなものかをサクッと紹介します

作り方や使い方など、詳細はおいおい説明しますので、ここではどんなものかをつかんでもらえればオッケーです

 

ベクトル

ベクトルは、複数の要素をまとめて表現したものです

Rのデータ構造ベクトルvector

この例では、おにぎりの具のたらこ・シャケ・梅干しをひとまとまりとして、onigiri というオブジェクトに収納しています

この「c( ) 関数」を使ってベクトルを表現します

注意点としては、ベクトルの中の要素(たらこ、シャケ、梅干し)は、すべて同じ型でなければなりません

c (“たらこ”, 2,  “バナナ”)

のように、文字型と数値型をいっしょに入れることはできません

 

行列

行列のイメージは、表です

 身長体重
Aくん17567
Bさん16251

こんな表があったときに、数字の部分だけ使いたいとします

行列を作成するには、「matrix( ) 関数」を使います

Rで行列を作成する

結果のピンク文字をみると、表の数値を再現できています

このように、表のデータをRで使うときに行列のデータ構造が使えます

 

配列

配列というと、プログラミングの経験がある方は、ベクトルのことを思い浮かべるかもしれません

Rでの配列は少し違います

たとえば、以下のように、身体検査の結果で、1組、2組があったとします

 1組身長体重
Aくん17567
Bさん16251
 2組身長体重
Cくん17272
Dさん15344

これをRに取り込んでみましょう

array ( ) 関数」をつかいます

Rで配列arrayをつくる

ピンク文字のように、表のデータが再現できました

このようなデータ構造をRでは「配列(array)」と呼んでいます

 

データフレーム

データフレームは、ベクトルや行列と似ています

ベクトルや行列は、同じ型のデータだけしか扱えませんが、データフレームでは文字と数値など、異なる型のデータを混在させて格納することができます

 身長体重
Aくん17567
Bさん16251

この表をつくってみましょう~

data.frame ( ) 関数」をつかいます

Rでデータフレームを使うdataframe1

行列のところで作った、オブジェクト「身体検査」を、データフレームに変換しています

中身をみてみると、数字の部分は再現できてますが、行と列の名前が違っています

そこで、行と列の名前を変えてみましょう~

列名の変更には、「colnames ( ) 関数」をつかいます(カラム(列)の名前です)

Rでデータフレーム列名を変えるdataframe2

行名の変更には、「rownames ( ) 関数」をつかいます(ロウ(行)の名前です)

Rでデータフレームの行名変更dataframe3

これで表が再現できましたね

このように、データフレームは、数値や文字を混在させたデータも扱うことができます

 

リスト

リストは、ベクトルや行列、配列、リストなど、型が異なるデータを、1つのオブジェクトとしてまとめて扱うことができるデータ構造です。データフレームは行数や列数が固定されていますが、リストはそういう制限もなく、さらに柔軟なデータ構造です

list ( ) 関数」をつかいます

Rでリストを作成する

「身体検査リスト」オブジェクトには、2つのベクトル(Aくん、Bさん)(身長、体重)と、身体検査の行列データが格納されています。ベクトルには文字が、行列には数値が入っていて、リストでは異なるデータ型のデータをまとめて扱えます

 

なんかむずかしそうだなぁ~

なんて思われた方、だいじょうぶです

それぞれの詳しい作り方・使い方は、次の機会にきちんと説明します

今回はこんなもんなんだ~くらいにイメージをつかんでもらったらオッケーです 🙂

というわけで、Rの5つのデータ構造について、かけ足で説明しました

 

 

Rでの、ベクトルのつくり方はこちら↓

こちら無料で読めます↓