crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

農林水産物の輸出上位20品目のデータ分析3 - R言語のinner_joinを使ってみる。

 

www.crosshyou.info

 の続きです。

前回は政府統計の総合窓口(e-Stat)のサイトのAPIでデータを取得してデータフレームを作成しました。作業の最後のところで、データのデータフレームと品目名、データタイプ名を結合するのにファクターのlevels関数で結合しましたが、inner_join関数を使うともっと簡単にできそうなのでやってみます。

f:id:cross_hyou:20201017091020p:plain

GET関数でAPIでデータを取得して、rawToChar関数とfromJSON関数を使ってデータをR言語で処理しやすいかたちにするところは同じです。

ここから、まずデータ表のデータフレームを作ります。

f:id:cross_hyou:20201017091416p:plain

次に、品目名のデータフレームを作ります。

f:id:cross_hyou:20201017091714p:plain

データタイプのデータタイプを作ります。

f:id:cross_hyou:20201017091943p:plain

df_tableの@cat01がdf_hinmokuの@codeに対応しています。

inner_join関数でdf_tableとdf_hinmokuを結合します。

f:id:cross_hyou:20201017092644p:plain

inner_join(データフレーム1, データフレーム2, by = c("変数1" = "変数2))という関数の構造です。データフレーム1とデータフレーム2を変数1と変数2の値が同じになるように結合します。

このdf3とdf_typeをinner_join関数で結合します。

f:id:cross_hyou:20201017093140p:plain

これで必要なデータが一つにまとまりました。

@cat01は品目コード、@cat03はデータタイプのコード、@unit.xは単位、$はデータの値、@name.xは品目名、@name.yはデータタイプ名、@level.y, @unit.y, @parenCodeはいらないですね。

変数名に@がついていると処理が難しいのでcolnames関数で変数名を整えます。

f:id:cross_hyou:20201017094358p:plain

必要な変数だけをselect関数で抜き出します。

f:id:cross_hyou:20201017094720p:plain

str関数でdf3の構造を確認します。

f:id:cross_hyou:20201017094844p:plain

hinmoku_codeとtype_codeを文字列型からファクター型に、valueを文字列型から数値型に変換します。

f:id:cross_hyou:20201017095303p:plain

これで完成です。

今回は以上です。