環境放射線データベースを使って日本人の日常食中のセシウム137の量の推移を調べてみよう。
「身のまわりなど一般環境」をクリックし,
の順で指定し,「検索」をクリック。結果の1ページが表示されるので,一番下の「この結果をCSV形式で保存する」をクリック。これを次のようにしてRで読み込む(「ファイル名」の部分は自分のダウンロードしたファイル名に変える)。
cs = read.csv("ファイル名", fileEncoding="CP932", as.is=TRUE, na.strings="検出されず")
データは2008年までしかない。table(cs$放射能濃度単位)
の結果は
Bq/g-生 Bq/kg-生 Bq/人日
1 24 8283
であるので,Bq/人日
単位の数値だけに限って解析する。
cs1 = subset(cs, cs$放射能濃度単位 == "Bq/人日")
t = as.POSIXct(cs1$試料採取開始日) # 年月日
yr = cs1$試料採取年度 # 年度
x = cs1$放射能濃度 #「検出されず」はNA
x1 = ifelse(is.na(x), 0, x) # NAを0にする
いろいろプロットしてみる:
par(mgp=c(2,0.8,0))
plot(t, x1, xlab="年", ylab="Bq/人日")
plot(t, x, log="y", xlab="年", ylab="Bq/人日")
チェルノブイリ事故(1986年4月26日)の影響が見える。
年度ごとの中央値をプロット:
plot(1963:2008, sapply(1963:2008, function(i){median(x1[yr == i])}),
type="o", log="y", pch=16, xlab="年", ylab="Bq/人日")
2008年度は「検出されず」が半数以上を占めるため,中央値は求められない。
箱ひげ図のほうがいいかな。
boxplot(sapply(1963:2008, function(i){x1[yr == i]}), ylim=c(0.01,5),
log="y", names=1963:2008, xlab="年", ylab="Bq/人日")
Last modified: