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

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

東証一部の規模別・業種別PERとPBRのデータの分析8 - R言語で時系列チャートを作成

 

www.crosshyou.info

 の続きです。

今回は、YearとMonthを合わせて、Timeという変数を作ろうと思います。

というのもstr関数でおおもとのデータフレーム、dfを確認すると、

f:id:cross_hyou:20190430164550j:plain

となっていて、YearとMonthが別々になっているので、横軸を時間にして縦軸をPBRとかでグラフを描くのに不便だからです。

Time = Year + (Month - 0.5)/12 という計算式で作成します。

f:id:cross_hyou:20190430165203j:plain

これでX軸をTimeにして、Y軸を様々な変数にしてチャートが作成できます。

まずは、NumberをY軸にしましょう。

f:id:cross_hyou:20190430165952j:plain

f:id:cross_hyou:20190430170008j:plain

col = df$Levelとして、Levelごとに色を分けてグラフにしました。

全般に右肩上がりですね。

次は、PERを描いてみます。

f:id:cross_hyou:20190430170901j:plain

f:id:cross_hyou:20190430170915j:plain

あら。。。Level5だけしか見えないですね。。Level5を除いてグラフにしましょう。

f:id:cross_hyou:20190430171313j:plain

f:id:cross_hyou:20190430171331j:plain

2014年の途中からPERの分布の様子に違いがありますね。

PBRもLevel5を除いてグラフにしてみます。

f:id:cross_hyou:20190430171834j:plain

f:id:cross_hyou:20190430171846j:plain

PBRは14年の途中で分布の様子が変わったということはないですね。

Incomeはどうでしょうか?

f:id:cross_hyou:20190430172209j:plain

f:id:cross_hyou:20190430172226j:plain

Incomeも2014年の途中から水準がバーンと上がっていますね。

NetAssetはどうでしょうか?

f:id:cross_hyou:20190430172524j:plain

f:id:cross_hyou:20190430172538j:plain

こんなグラフになりました。

今回は以上です。
次回は

 

www.crosshyou.info

 

 

です。

 

今回のR言語のコードです。


# dfをstr関数で確認
str(df)

# Timeという変数を作成
df$Time <- df$Year + (df$Month - 0.5) / 12
head(df$Time)

# Y軸をNumberにしたチャート
plot(df$Time, df$Number, pch = 21, col = df$Level,
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")

# Y軸をPERにしたチャート
plot(df$Time, df$PER, pch = 21, bg = df$Level,
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")

# Y軸をPERにしたチャート(Level5を除く)
plot(df$Time[df$Level != 5], df$PER[df$Level != 5],
pch = 21, bg = df$Level[df$Level != 5],
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")

# Y軸をPBRにしたチャート(Level5を除く)
plot(df$Time[df$Level != 5], df$PBR[df$Level != 5],
pch = 21, bg = df$Level[df$Level != 5],
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")

# Y軸をIncomeにしたチャート(Level5を除く)
plot(df$Time[df$Level != 5], df$Income[df$Level != 5],
pch = 21, bg = df$Level[df$Level != 5],
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")

# Y軸をNetAssetにしたチャート(Level5を除く)
plot(df$Time[df$Level != 5], df$NetAsset[df$Level != 5],
pch = 21, bg = df$Level[df$Level != 5],
main = "Level 黒:1, 赤:2, 緑:3, 青:4, 水色:5")