の続きです。
今回は33業種別のデータで、各変数のヒストグラムを描いてみます。
head関数で基になるデータフレームの始めの15行を表示します。
33業種はLevelが5ですから、まずLevelが5だけのデータフレームを作成します。
まずは、Number、会社数のヒストグラムです。hist関数です。
次は、PERです。
あらら、よくわからないヒストグラムになってしまいましたね。大きな値のPERがあるためでしょう。summary関数で見てみましょう。
最大値で875.70というのがあるからですね。PERが50以下の値だけでヒストグラムを描いてみましょう。
次はPBRのヒストグラムです。
次は、Incomeです。
最後はNetAssetです。
Number, PER, PBR, Income, NetAsset、この5つの変数でバラツキが一番大きい変数は何でしょうか?変動係数を計算してみましょう。変動係数は、標準偏差÷平均値です。
apply関数を使って5つの変数の変動係数をいっぺんに計算しましょう。
こうしてみるとPBRが一番バラツキが小さく、以下、Number、NetAsset、PER、Incomeの順番でバラツキが大きくなっていくことがわかります。
5つの変数間の相関関係はどうでしょうか?cor関数で相関係数を算出してみます。
cor関数を使う前に、na.omit関数でNAのある行を削除しています。
NumberとIncome, NetAssetが以外にも0.5以上の相関係数です。あ、以外でもなんでもないですね。会社数が多ければそれだけ利益や総資産は大きくなりますね。
一社当たりのIncome, NetAssetを計算してみましょう。
この一社当たりのIncome, NetAssetのヒストグラムも描いてみましょう。
まずは、Income1です。
NetAsset1のヒストグラムも描いてみます。
Income1とNetAsset1の変動係数も計算しましょう。
Income1, NetAsset1ともにIncome, NetAssetよりもバラツキは小さくなっています。
変数間の相関係数を見てみましょう。
NumberとIncome1, NetAsset1の相関はマイナス0.2ぐらいとなりました。
今回は以上です。
次回は
です。
今回の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)