の続きです。
前回は全体のPERとPBRを見てみました。今回は規模別のPERやPBRを見てみましょう。まずは、作業しやすいように、規模別のデータだけに絞り込みます。
まず、head関数でデータフレームのはじめの数行を表示しましょう。
規模別は、Large, Mid, Smallの3種類で、Levelは2ですね。なので、Levelが2だけのデータフレームを作成しましょう。
できました。aggregate関数でType別の平均値を算出します。
PER、PBRともにMidが一番高いですね。PERはSmallが2番目でLargeが一番低く、PBRはLargeが2番目でSmallが一番低いです。
今回は、

Statistics: An Introduction Using R (English Edition)
- 作者: Michael J. Crawley
- 出版社/メーカー: Wiley
- 発売日: 2014/09/23
- メディア: Kindle版
- この商品を含むブログを見る
を参考にして、ANOVA(Analysis of Variance)をやってみます。
規模によって、PERの水準は違うのかどうか?です。
まずは、PERをplot関数でグラフにしてみたいと思います。
その前にTypeには余計なファクタ水準が残っているので整理します。
こうしてファクタ水準をSmall, Mid, Largeの3つだけにしました。
これでplot関数でPERをグラフにします。上記のCrawleyの本を参考にして、Type別に色分けをしてみます。
できました。水平線はそれぞれの規模別の平均値です。
MidがPERの高いときがいくつかありますね。いつでしょうか?
2013年と2014年ですね。
それでは規模によってPERの平均値は有意な差があるのかどうか、aov関数とsummary関数で確かめましょう。
p値は1.5e-14なので0.05よりも小さいです。Small, Mid, LargeではPERの平均値は有意な差があることがわかりました。
plot関数で視覚化します。
今回は以上です。
次回は
です。
以下は今回のR言語のコードです。
# はじめの数行を表示
head(df)
# 規模別だけのデータフレーム
df2 <- df[df$Level == 2, ]
summary(df2)
# Type別の平均値
aggregate(df2[ , c(5:9)], list(Kibo = df2$Type), mean)
# Typeの水準を整理
df2$Type <- as.character(df2$Type)
df2$Type <- factor(df2$Type, levels = c("Small", "Mid", "Large"), ordered = TRUE)
levels(df2$Type)
# PERのグラフ
plot(df2$PER, pch = 21, bg = as.numeric(df2$Type),
main = "Small-Black, Mid-Red, Large-Green")
abline(h = mean(df2$PER[df2$Type == "Small"]))
abline(h = mean(df2$PER[df2$Type == "Mid"]), col = "red")
abline(h = mean(df2$PER[df2$Type == "Large"]), col = "green")
# PERが30以上
df2[df2$PER > 30, ]
# aov関数とsummary関数
summary(aov(df2$PER ~ df2$Type))
# aov関数とplot関数
par(mfrow = c(2, 2))
plot(aov(df2$PER ~ df2$Type))