Weitere ähnliche Inhalte
Mehr von wada, kazumi (20)
Rによる大規模データのプロット
- 4. 3万レコードの擬似ミクロデータ
# 「公的統計擬似ミクロデータのRへの読込み」で作成したデータ
# ファイル "giji.Rdata" を使用。この中にあるdt1はデータ自体、
# cd1には漢字変数名等の符号表の情報が収められている。
setwd("c:/test") # データファイルの置き場所を指定
load("giji.RData") # 保存ファイルを開く
attach(dt1) # 変数名の直接参照が可能になる
# 就業・不就業で色分けしたいので状況把握
table(S1_Shuugyou) #1. 就業 2.不就業 V.不詳
プロットに用いたRのコード(1)
S1_Shuugyou
1 2 V
30017 1770 240
就業が3万余、不就業や不詳はかなり少ない
(二人以上の勤労者世帯データのため)
- 5. 3万レコードの擬似ミクロデータ
# fg1を色分けフラグとして使用する
fg1 <- rep(1, length(S1_Shuugyou)) # データ数と同じ長さのフラグ を作り、1をセット
fg1[which(S1_Shuugyou == levels(S1_Shuugyou)[2])] <- 2 # S1_Shuugyouは因子データ
fg1[which(S1_Shuugyou == levels(S1_Shuugyou)[3])] <- 3
par(mfrow=c(1,2)) # 1行2列に画面分割
plot(Youto003, Youto037, col=c("black", "red", "yellow")[fg1],
xlab=cd1$koumoku[which(cd1$namae == "Youto003")],
ylab=cd1$koumoku[which(cd1$namae == "Youto037")], main="擬似ミクロ(実軸)" )
plot(log10(Youto003), log10(Youto037), col=c("black", "red", "yellow")[fg1],
xlab=cd1$koumoku[which(cd1$namae == "Youto003")],
ylab=cd1$koumoku[which(cd1$namae == “Youto037”)] , main=“擬似ミクロ(常用対数
軸)”)
プロットに用いたRのコード(2)
xlabとylabは、cd1に含まれているYouto003及び037に対応する漢字の変数名
をセットしている。
- 6. ちょっとした一つの工夫
数の少ないデータを目立たせる
4.0 4.5 5.0 5.5 6.0 6.5 7.0
4.55.05.56.06.57.0
擬似ミクロ(常用対数軸)
実収入
消費支出
plot(log10(Youto003), log10(Youto037), col=c("black", "red", "yellow")[fg1],
xlab=cd1$koumoku[which(cd1$namae == "Youto003")],
ylab=cd1$koumoku[which(cd1$namae == "Youto037")] , main="擬似ミクロ(常用対数軸)")
points(log10(Youto003[fg1==2]), log10(Youto037[fg1==2]), col="red")
points(log10(Youto003[fg1==3]), log10(Youto037[fg1==3]), col="yellow")
数の少ない色のプ
ロット点を後から再
度描き込むと、数の
多いプロット点に埋
もれず見やすいよ
- 8. 透過プロット
par(mfrow=c(1,1)) # 1行1列に画面分割を戻す
plot(log10(Youto003), log10(Youto037), pch=20,
col=(rgb(r=c(0,1,1)[fg1], g=c(0,0,1)[fg1], b=c(0,0,0)[fg1],
alpha=0.1)),
xlab=cd1$koumoku[which(cd1$namae == "Youto003")],
ylab=cd1$koumoku[which(cd1$namae == "Youto037")] ,
main="全国消費実態調査擬似ミクロ(常用対数軸)")
# 不就業と不詳を際立たせる方法
points(log10(Youto003[fg1==2]), log10(Youto037[fg1==2]), pch=20,
col=(rgb(r=1, g=0, b=0, alpha=0.2)))
# 黄は色のインパクトが最も弱く、データ数が一番少ないので、際立たせるために
# alphaの値を上げている。
points(log10(Youto003[fg1==3]), log10(Youto037[fg1==3]), pch=20,
col=(rgb(r=1, g=1, b=0, alpha=0.4)))
# 位置指定して凡例描込
legend(4.1, 6.9, c("就業", "不就業", "不詳"), col = c(1,2,7),
pch = 21, bg='gray90')
プロットに用いたRのコード(3)