全4970文字

RStudioでコンビニエンスストアの売り上げデータを分析

 ここまでR言語の特徴やメリットを紹介してきましたが、それだけでは実際にどういうものかイメージしづらい人もいるでしょう。そこで「コンビニエンスストアの売り上げに影響を与えている要因」を分析するケースを想定して、実際にRStudioを操作する様子を見ていきましょう。

 図3がコンビニエンスストアの売り上げ、敷地面積、開店時からの経過年数、近くの競合店舗数、駐車場の有無、店舗の種類などをまとめたデータです。CSVファイルにまとめられています。このCSVファイルをRStudioに読み込み、一般的なデータ分析の流れに沿ってR言語で操作・分析してみましょう。

図3●今回の分析に利用するデータの中身。コンビニエンスストアの売上、敷地面積、開店時からの経過年数、近くの競合店舗数、駐車場の有無、店舗の種類などをまとめた
図3●今回の分析に利用するデータの中身。コンビニエンスストアの売上、敷地面積、開店時からの経過年数、近くの競合店舗数、駐車場の有無、店舗の種類などをまとめた
[画像のクリックで拡大表示]

1. 作業ディレクトリーの設定

 データの分析を始める前に、必要なデータのファイルを置いたディレクトリー(=フォルダー)を作業ディレクトリーに設定します。今回はパソコンの「Documents」フォルダー内に作成した「MyR」フォルダ-を作業ディレクトリーにします。「setwd()」という関数で、作業ディレクトリーのパスを指定します。

 なおこの先では、青字の「 > 」から始まる部分が入力したコード(関数など)、その中でも「#」以下は筆者が加えた説明用のコメントに当たります。青字の下に黒字で表示されるのは、コードの実行結果です。

「setwd()」関数で作業ディレクトリーを指定する。このようにカッコ内にフォルダーのパスを入力する
「setwd()」関数で作業ディレクトリーを指定する。このようにカッコ内にフォルダーのパスを入力する
[画像のクリックで拡大表示]

2. データの読み込み

 作業ディレクトリーの設定ができたら、「sales_data.csv」という名前のCSVファイルを読み込みましょう。

 「read.csv()」関数のかっこ内に、読み込みたいCSVファイルを指定します。

 さらに、ここでは「<-」(矢印)を使って「data」という変数にファイルのデータを代入しておきます。すると、以降は変数「data」がこのCSVファイルのデータを指します。なお、かっこ内のファイル名の後ろにある「header = TRUE」は、データの一行目にはデータそのものではなく、データの種類を表す変数名(今回は「id」「sales」「area」など)が保存されているファイルを読み込む際に使います。

 続いて、データが正常に読み込めたか確認するため、先頭から任意の行数分のデータを出力してみましょう。

 「head()」関数のかっこ内に、読み込み済みのデータを表す変数(ここでは「data」)と、何行目までを読み込むか数字を指定します。

 さらに、データに含まれる変数名(列名)も確認しましょう。「colnames()」関数のかっこ内にデータを表す変数「data」を指定すれば、変数名の一覧が表示できます。

「read.csv()」関数でファイルを読み込み、「head()」関数で先頭から10行目までを出力し、「colnames()」関数でデータに含まれる変数名の一覧を表示したところ
「read.csv()」関数でファイルを読み込み、「head()」関数で先頭から10行目までを出力し、「colnames()」関数でデータに含まれる変数名の一覧を表示したところ
[画像のクリックで拡大表示]

3. データの要約統計量の確認

 無事にデータを読み込めていることが分かったら、データの次元数(dimension)を確認します。「dim()」関数のかっこ内にデータを表す変数「data」を指定すると、「[1] 29 7」という値が表示されました。これは今回のデータが「29行7列」あることを表します。

 平均値、中央値、最小値、最大値などデータの分布の状態や特徴をまとめた値のことを要約統計量と呼びます。こうした値は、「summary()」関数でまとめて確認できます。質的変数(直接的に数字で表せない変数)に対しては、それぞれの値の個数が表示されます。今回の例でいうと「type」について、「A」が「13」、「B」が「8」、「C」が「8」含まれていると分かります。

「dim()」関数でデータの行列の数を、「summary()」関数で各変数の平均値や中央値、最大値や最小値などを表示したところ
「dim()」関数でデータの行列の数を、「summary()」関数で各変数の平均値や中央値、最大値や最小値などを表示したところ
[画像のクリックで拡大表示]