Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

通信・放送産業動態調査の分析5 - 数量データをカテゴリカルデータに変換(R言語のcut関数)

今回は、通信放送産業動態調査のデータを「プラス成長」「マイナス成長」の2つのカテゴリカルデータに変換してみましょう。

まずは、csvファイルに保存してあるデータをread.csv関数で読み込み、head関数で始めの6行を表示し、summary関数でデータの要約を表示します。

f:id:cross_hyou:20180712182819j:plain

データが、マイナス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で実行してみます。

f:id:cross_hyou:20180712184540j:plain

table関数を使って、度数を表示しています。全体のデータは、マイナス成長が71回、プラス成長が73回あったとわかります。

このようにして、他のデータもカテゴリカルデータに変換しましょう。

f:id:cross_hyou:20180712185020j:plain

電気通信はプラス成長が75回で全体よりも2回多いです。

f:id:cross_hyou:20180712213000j:plain

放送は、マイナス成長のほうが多いですね。

f:id:cross_hyou:20180712213337j:plain

民放はさらにマイナス成長が多いです。

f:id:cross_hyou:20180712213751j:plain

ケーブルテレビは、プラス成長がかなり多いですね。

f:id:cross_hyou:20180712214224j:plain

TOPIX_CHGはプラス成長が多いです。

もうひとつ、1月から6月を「上半期」として、7月から12月を「下半期」としましょう。breaks=c(-1, 6.5, 12.5)とすればright=FALSE, include.lowest=TRUEは必要ないです。

f:id:cross_hyou:20180712215036j:plain

これで、クロス表作成に必要なカテゴリカルデータを用意しました。

次回はクロス表を作成したいと思います。