今回は、通信放送産業動態調査のデータを「プラス成長」「マイナス成長」の2つのカテゴリカルデータに変換してみましょう。
まずは、csvファイルに保存してあるデータをread.csv関数で読み込み、head関数で始めの6行を表示し、summary関数でデータの要約を表示します。
データが、マイナス100以上0未満を「マイナス成長」に0以上100未満を「プラス成長」に変換します。
こういうときは、cut関数を使います。例えば、全体データを変換するには、
C全体 <- cut(data$全体, breaks=c(-100, 0, 100), labels=c("マイナス成長", "プラス成長"), right=FALSE, include.lowest=TRUE)とします。
breaks=c(-100, 0, 100)で区切る値の基準を、-100, 0, 100に設定しています。
labels=c("マイナス成長", "プラス成長")ではじめの区切りを「マイナス成長」に、つぎの区切りを「プラス成長」に設定しています。
right=FALSEで-100以上0未満、0以上100未満と設定しています。もしもright=TRUEだと-100より大きく0以下、0より大きく100以下となります。
include.lowest=TRUEで0以上100以下となります。
実際にRで実行してみます。
table関数を使って、度数を表示しています。全体のデータは、マイナス成長が71回、プラス成長が73回あったとわかります。
このようにして、他のデータもカテゴリカルデータに変換しましょう。
電気通信はプラス成長が75回で全体よりも2回多いです。
放送は、マイナス成長のほうが多いですね。
民放はさらにマイナス成長が多いです。
ケーブルテレビは、プラス成長がかなり多いですね。
TOPIX_CHGはプラス成長が多いです。
もうひとつ、1月から6月を「上半期」として、7月から12月を「下半期」としましょう。breaks=c(-1, 6.5, 12.5)とすればright=FALSE, include.lowest=TRUEは必要ないです。
これで、クロス表作成に必要なカテゴリカルデータを用意しました。
次回はクロス表を作成したいと思います。