全4970文字

番外編. クロス集計表の作成

 質的データ(直接的に数字で表せないデータ)を扱う際は、クロス集計表の作成が必要な場合があります。クロス集計は2つの列に対して、件数や比率などを算出することです。件数は「table()」関数、比率は「prop.table()」関数で算出できます。

 例えば先ほどのコンビニエンスストアのデータで、「店舗の種類(type)」と「近くの競合店舗数(conflict)」で「件数」を集計したクロス集計表を作ると以下のようになります。

クロス集計表を作成したところ。「table()」関数では件数、「prop.table()」関数では比率の集計ができる
クロス集計表を作成したところ。「table()」関数では件数、「prop.table()」関数では比率の集計ができる
[画像のクリックで拡大表示]

 「prop.table()」関数で、行方向の値の合計を基準に比率を求める場合は、上のように引数 「margin=1」を利用します。また、「round()」は任意の桁数で値を丸める関数です。今回は表示する小数点以下第2位までの数字を「2」桁までと指定しています。

 ここまでの内容で、Rがどんなものか基本を理解できたでしょう。プログラミングになじみがないと最初は戸惑うかもしれませんが、慣れればスムーズにRでデータ分析ができるようになります。Excelで時間をかけてしていた操作を、Rで1行のコードを書くだけで実行できることもあるのです。

 今回はデータの要約統計量や分布など基礎的な操作を中心に紹介しましたが、Rでは回帰分析やクラスター分析、信頼区間の計算など、もっと複雑な処理も簡単に実行できます。RStudioは公式サイトからダウンロードできます。Rを使ったデータ分析に興味が湧いた方は、この機会にぜひ挑戦してみてください。

資格試験問題にチャレンジ

 今回の内容の理解度を、「データ分析実務スキル検定」の問題でチェックしてみましょう。

サンプル問題

 以下のRスクリプトの解釈として不適切なものはどれか。ひとつ選べ。

setwd(“~/MyR”)
mydata <- read.csv(“mydata.csv”, header = TRUE)
head(mydata, 10)
dim(mydata)
summary(mydata)
na.omit(mydata)
(mytable <- table(mydata$Q1, mydata$Q2))
prop.table(mytable, margin = 1)

A) CSVファイルを読み込んでいる
B) 欠損値を除外している
C) Q1という列とQ2という列でクロス表を作成している
D) 読み込んだデータの先頭10行を確認している
E) 読み込んだデータのデータ型を確認している