Photo by Leo Mendes on Unsplash
の続きです。
前回はCSVファイルのデータをRに読み込ませました。
今回はデータを分析しやすいように整えます。
やるべきことは3つありました。
1。NAの行を削除する
2。title_code, title, name, time, data_typeを削除する
3。time_codeをYYYYMM形式に直す。
それではまず、NAの行を削除しましょう。
新しく分析用にdfというデータフレームを作成して、filter()関数の中で、is.na()関数を使ってname_codeがNAの行とpriceがNAの行を削除しました。
次は、不要な変数を除外します。
select()関数で不要な変数を除外しました。
最後は、time_codeをYYYYMM形式に直します。
はじめにYYYYMM形式にするカスタム関数を作成しました。str_sub()関数ではじめの4桁と最後の2桁を抽出して、paste0()関数でその二つを結合し、as.numeric()関数で数値型に変換しています。
このカスタム関数とmutate()関数でtime_codeをYYYYMM形式に変換しています。
summary()関数でサマリーを表示しています。name_codeは銘柄コードなので見てもあまり意味はないです。
time_codeを見ると、最小値は200002なので2000年2月からデータがあり、最大値が202204なので、2022年4月までデータがあることがわかります。
priceは最小値が0で最大値が6,002,690です。600万円の物って何でしょうね?
とりあえず、priceのデータがどんなものなのか、ヒストグラムや箱ひげ図などで視覚化してみます。
ほとんどの物は低価格なのですが、ほんの少数が600万円など高い物だとわかります。
そうだ、全部の時間軸(月)でデータがあるものだけに絞り込みます。
時間軸は267あることがわかりましたので、267個データの無い銘柄は欠損していることがわかります。
28個の銘柄が267の時間軸(月)全てそろっていることがわかります。
filter()関数と %in% でname_codeがfullsの中に含まれているものだけに絞り込みました。267*28=時間軸(月)の数*銘柄の数=7476なので、うまくできていることがわかります。
このdf_fullsのサマリーを見てみます。
最高価格6,002,690円の商品はこのデータフレームに残りました。最小価格は9円です。
それでは、このpriceを視覚化しましょう。こんどは対数に変換してから視覚化します。
対数変換したほうが分布がわかりやすいですね。いちいちlog()関数で対数にするのは面倒なので、対数変換した価格を変数に加えましょう。
今回は以上です。
次回は、
です。
はじめから読むには、
です。