2011年6月1日水曜日

鉱工業生産指数のグラフ化

今日2011年5月31日発表の鉱工業生産指数のグラフをします。

データは、http://www.meti.go.jp/statistics/tyo/iip/result/h2afdldj/csv/ha2hsm2j.csv です。2003年から、450種類の品目についての付加価値額の月次データみたいです。

ii.data <- read.csv(“http://www.meti.go.jp/statistics/tyo/iip/result/h2afdldj/csv/ha2hsm2j.csv”, skip=2)

これは、担当者の方が、クロステーブルにしてくれているので、縦持ちデータに戻します。


あと、名前とかを少し調整


names(ii.data)[1:3] <- c("pid","pname","weight")
names(ii.data) &lt;- sub("X","",names(ii.data))
ii.data.long &lt;- melt(ii.data, id=c("pid","pname","weight"))
> head(ii.data.long)
pid pname weight variable value
1 10000100 銑鉄 15.1 200301 99.1
2 10000200 フェロアロイ 4.4 200301 92.8
3 10000300 粗鋼 33.6 200301 99.1
4 10000400 鋼半製品 46.8 200301 99.0
5 10000500 鋼矢板 2.6 200301 93.7
6 10000600 H形鋼 14.3 200301 113.3

こんな感じで、品目の月別データが縦持ちになる。

450品目もあるので、上位10種類だけにする。

 

そのまえにデータの整理。データの欠損を除外しておく。

> ii.data.long$value <- as.numeric(ii.data.long$value)
> ii.data.long <- subset(ii.data.long, !is.na(value))

で、付加価値を加重して、上位の10個を取り出す


> ii.sm <- ddply(ii.data.long, .(pid,pname), function(x)sum=sum(x$value*x$weight))
> head(arrange(ii.sm, -V1))
pid pname V1
1 10024800 普通乗用車 27185218
2 10024700 小型乗用車 9958034
3 10050100 電力 7944634
4 10025500 駆動伝導操縦装置部品 5739092
5 10019800 携帯電話 5710318
6 10009200 半導体製造装置 5020582

pim10 &lt;- arrange(ii.sm, -V1)[1:10,"pid"]
> pname10 <- arrange(ii.sm, -V1)[1:10,"pname"]
> pname10
[1] 普通乗用車 小型乗用車
[3] 電力 駆動伝導・操縦装置部品
[5] 携帯電話 半導体製造装置
[7] 普通トラック シャシー・車体部品
[9] ショベル系掘削機械 モス型半導体集積回路(ロジック)
450 Levels: 18リットル缶 A重油 B・C重油 DVD−ビデオ ... 冷凍・冷蔵ショーケース

やっぱり、自動車関係の付加価値額が上位にくるな、、、

んで、元データも上位10個に絞って、因子を絞って、並びを変える


 

> ii.data.10 <- subset(ii.data.long, pname %in% pname10)
> ii.data.10 <- droplevels(ii.data.10)
> levels(ii.data.10$pname) <- pname10
ggplot(ii.data.10, aes(variable,value,colour=pname))+geom_line()+facet_grid(pname~., scale="free_y")

 

image


2009年以降で見ると、

ggplot(subset(ii.data.10, variable>"2008-12-31"), aes(variable,value,colour=pname))+geom_line()+facet_grid(pname~., scale="free_y")

 

image







半導体好調っぽいけど、在庫を見ないといかんな、、、


在庫率見たら、在庫率のウェイトの数字が謎だ。

0 件のコメント:

コメントを投稿