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

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

上場企業の温室効果ガス排出のデータの分析3 - 温室効果ガスの排出量の上位企業

www.crosshyou.info

の続きです。

前回までで、データフレームの体裁は整いました。今回からは実際にデータをみていきます。

まず、tCO2, これが温室効果ガスの排出量ですが排出量の多い事業者を確認します。

arrange()関数とdesc()関数で並び替えします。

日本製鉄が一番多い排出量の企業です。太平洋セメント、出光興産、東ソー、住友大阪セメントという会社がその他の上位企業です。

これらはtypeが事業所なので、事業所以外の企業でもみてみましょう。

日本航空が一番多く温室効果ガスを排出しています。ここで目を惹くのが、荷主として日本製鉄と出光興産が表示されていることです。一つの企業は事業所としての排出量と荷主としての排出量の2つの排出量を開示していることがあるのですね、これは知らなかったです。

type別の統計量を確認しましょう。group_by()関数とsummarize()関数を使います。

航空輸送は2つしか観測数がありませんから、2021年の日本航空と2023年の日本航空だけなのですね。

今回は思い切って、旅客輸送、航空輸送、貨物輸送をまとめて輸送にしてしまいましょう。

cvというのは変動係数です。事業所のcvがとても大きいので、バラツキ度合いがとても大きいということですね。

事業所のtCO2のヒストグラムを描いてみます。

あらら、ほとんどが一番左の棒の中に入ってしまいました。棒の数を増やしてみます。

う~ん、棒の数を100に増やしましたが、変わらないですね。日本製鉄や太平洋セメントなどの排出量が他と比較して大きすぎるのですね。。

今度は、輸送のヒストグラムを描いてみます。

輸送のヒストグラムも一番左の棒が一番多い分布ですね。

荷主のヒストグラムはどうでしょうか?

荷主も一番左の棒が一番多い分布ですね。

恐らく、tCO2は対数正規分布に近い分布なのでしょう。

対数変換してヒストグラムを描いてみます。

まずは、事業所からです。

輸送のヒストグラムはどうでしょうか?

最後は荷主のヒストグラムです。

やはり、tCO2は対数正規分布に近い分布ですね。

ですので、l_tCO2という名前の対数変換した変数を作っておきましょう。

それと、tCO2が0というのはおかしいので、それがどの会社かをみてみます。

飲食店のチムニーですね。これはデータフレームから削除しておきます。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

はじめから読むには、

www.crosshyou.info

です。

今回のコードは以下になります。

#
# tCO2の多い事業者
df |> 
  arrange(desc(tCO2))
#
# 事業所以外でtCO2の多い企業
df |> 
  filter(type != "事業所") |> 
  arrange(desc(tCO2))
#
# type別の統計量
df |> 
  group_by(type) |> 
  summarize(
    n = n(),
    min = min(tCO2),
    median = median(tCO2),
    mean = mean(tCO2),
    max = max(tCO2),
    sd = sd(tCO2),
    cv = sd(tCO2) / mean(tCO2)
  )
#
#
# 旅客輸送、航空輸送、貨物輸送をまとめて輸送にする
df <- df |> 
  mutate(type = if_else(type %in% c("旅客輸送", "航空輸送", "貨物輸送"),
                        "輸送",
                        type))
#
# 再度、type別の統計量
df |> 
  group_by(type) |> 
  summarize(
    n = n(),
    min = min(tCO2),
    median = median(tCO2),
    mean = mean(tCO2),
    max = max(tCO2),
    sd = sd(tCO2),
    cv = sd(tCO2) / mean(tCO2)
  )
#
# 事業所のtCO2のヒストグラム
df |> 
  filter(type == "事業所") |> 
  ggplot(aes(x = tCO2)) +
  geom_histogram(color = "white")
#
# 棒の数を増やす
df |> 
  filter(type == "事業所") |> 
  ggplot(aes(x = tCO2)) +
  geom_histogram(color = "white", bins = 100)
#
# 輸送のtCO2のヒストグラム
df |> 
  filter(type == "輸送") |> 
  ggplot(aes(x = tCO2)) +
  geom_histogram(color = "white")
#
# 荷主のtCO2のヒストグラム
df |> 
  filter(type == "荷主") |> 
  ggplot(aes(x = tCO2)) +
  geom_histogram(color = "white")
#
# 対数変換してヒストグラム:事業所
df |> 
  filter(type == "事業所") |> 
  ggplot(aes(x = log10(tCO2))) +
  geom_histogram(color = "white")
#
# 対数変換してヒストグラム:輸送
df |> 
  filter(type == "輸送") |> 
  ggplot(aes(x = log10(tCO2))) +
  geom_histogram(color = "white", bins = 10)
#
# 対数変換してヒストグラム:輸送
df |> 
  filter(type == "荷主") |> 
  ggplot(aes(x = log10(tCO2))) +
  geom_histogram(color = "white")
#
# tCO2の対数変換の値を作る
df <- df |> 
  mutate(l_tCO2 = log10(tCO2)) |> 
  relocate(year, code, tCO2, l_tCO2)
df
#
# tCO2が0の会社
df |> 
  filter(tCO2 == 0)
#
# tCO2が0の会社を削除
df <- df |> 
  filter(tCO2 != 0)
summary(df$tCO2)
summary(df$l_tCO2)
#

(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは、Natural scenery landscape, deep green forest, close up of red hibiscus flowers, blue sky, small white clouds, photo です。)