crosshyou

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

東証一部の規模別・業種別PERとPBRデータの分析7 - R言語でヒストグラムを描く

 

www.crosshyou.info

 の続きです。

今回は33業種別のデータで、各変数のヒストグラムを描いてみます。

head関数で基になるデータフレームの始めの15行を表示します。

f:id:cross_hyou:20190430114445j:plain

33業種はLevelが5ですから、まずLevelが5だけのデータフレームを作成します。

f:id:cross_hyou:20190430114734j:plain

まずは、Number、会社数のヒストグラムです。hist関数です。

f:id:cross_hyou:20190430115149j:plain

f:id:cross_hyou:20190430115203j:plain

次は、PERです。

f:id:cross_hyou:20190430115359j:plain

f:id:cross_hyou:20190430115412j:plain

あらら、よくわからないヒストグラムになってしまいましたね。大きな値のPERがあるためでしょう。summary関数で見てみましょう。

f:id:cross_hyou:20190430115620j:plain

最大値で875.70というのがあるからですね。PERが50以下の値だけでヒストグラムを描いてみましょう。

f:id:cross_hyou:20190430115908j:plain

f:id:cross_hyou:20190430115921j:plain

次はPBRのヒストグラムです。

f:id:cross_hyou:20190430120120j:plain

f:id:cross_hyou:20190430120134j:plain

次は、Incomeです。

f:id:cross_hyou:20190430120327j:plain

f:id:cross_hyou:20190430120341j:plain

最後はNetAssetです。

f:id:cross_hyou:20190430120518j:plain

f:id:cross_hyou:20190430120530j:plain

Number, PER, PBR, Income, NetAsset、この5つの変数でバラツキが一番大きい変数は何でしょうか?変動係数を計算してみましょう。変動係数は、標準偏差÷平均値です。

apply関数を使って5つの変数の変動係数をいっぺんに計算しましょう。

f:id:cross_hyou:20190430121856j:plain

こうしてみるとPBRが一番バラツキが小さく、以下、Number、NetAsset、PER、Incomeの順番でバラツキが大きくなっていくことがわかります。

5つの変数間の相関関係はどうでしょうか?cor関数で相関係数を算出してみます。

f:id:cross_hyou:20190430122418j:plain

cor関数を使う前に、na.omit関数でNAのある行を削除しています。

NumberとIncome, NetAssetが以外にも0.5以上の相関係数です。あ、以外でもなんでもないですね。会社数が多ければそれだけ利益や総資産は大きくなりますね。

一社当たりのIncome, NetAssetを計算してみましょう。

f:id:cross_hyou:20190430123033j:plain

この一社当たりのIncome, NetAssetのヒストグラムも描いてみましょう。

まずは、Income1です。

f:id:cross_hyou:20190430123250j:plain

f:id:cross_hyou:20190430123301j:plain

NetAsset1のヒストグラムも描いてみます。

f:id:cross_hyou:20190430123549j:plain

f:id:cross_hyou:20190430123602j:plain

Income1とNetAsset1の変動係数も計算しましょう。

f:id:cross_hyou:20190430125247j:plain

Income1, NetAsset1ともにIncome, NetAssetよりもバラツキは小さくなっています。

変数間の相関係数を見てみましょう。

f:id:cross_hyou:20190430125557j:plain

NumberとIncome1, NetAsset1の相関はマイナス0.2ぐらいとなりました。

今回は以上です。

次回は

 

www.crosshyou.info

 

です。

 

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

# はじめの15行を表示
head(df, 15)

# 33業種だけのデータフレームを作成
df7 <- df[df$Level == 5, ]
head(df7, 15)

# Numberのヒストグラム
hist(df7$Number)

# PERのヒストグラム
hist(df7$PER)

# PERのサマリー
summary(df7$PER)

# 50以下のPERのヒストグラム
hist(df7$PER[df7$PER <= 50])

# PBRのヒストグラム
hist(df7$PBR)

# Incomeのヒストグラム
hist(df7$Income)

# NetAssetのヒストグラム
hist(df7$NetAsset)

# 変動係数の計算
apply(df7[ , c(5:9)], 2, sd, na.rm = TRUE) /
apply(df7[ , c(5:9)], 2, mean, na.rm = TRUE)

# 5つの変数間の相関関係
df8 <- na.omit(df7) #df8は33業種でNAの無いデータフレーム
round(cor(df8[ , c(5:9)]), 3)

# 一社当たりのIncomeとNetAsset
df8$Income1 <- df8$Income / df8$Number
df8$NetAsset1 <- df8$NetAsset / df8$Number

# Income1のヒストグラム
hist(df8$Income1)

# NetAsset1のヒストグラム
hist(df8$NetAsset1)

# Income1の変動係数
sd(df8$Income1) / mean(df8$Income1)

# NetAsset1の変動係数
sd(df8$NetAsset1) / mean(df8$NetAsset1)

# 変数間の相関係数
round(cor(df8[ , c(5:11)]), 3)