r-statistics-fanの日記

統計好きの現場の臨床医の覚書のようなもの

デング熱の推定感染日をbarplotしてみた。Rで欠損値のあるbarplotをうまく表示する

f:id:r-statistics-fan:20140908213607j:plain

#追記
ぐぬぬ、夕方は無かったのに、今見たら新データが出てる。
新データに更新した。
発症日も訪問日も未定なヒトがいて、コードを書き換える必要が。
一つのデータのせいで、修正に20分もかかったよ。

本日夕方以降に発表のデータにて、8/23-26あたりがかなり増えた感じ。
この辺りのデータ以降はまだimmatureということで、今後変化しうる。
###追記終了


あわせて、
http://www.mhlw.go.jp/bunya/kenkou/kekkaku-kansenshou19/dl/20140905-03-2.pdf
新宿中央公園
http://www.mhlw.go.jp/stf/houdou/0000056808.html
明治神宮外苑又は外濠公園例

も同じbraplot上に表示しようと思った。
しかし、それぞれ長さが違うので、単純に出力できない。

そこで

seq(as.Date("2014-08-01"), len=31, by="day")

で、欠損値のない日付変数"date"を含むdata.frame作成。
次に、それぞれ、dateと各場所での推定感染者数を持つdata.frameを作成

これらをdateでmergeして、最後に欠損値を0fillし、それをbarplotした。

tougou <- merge(temp6, shin, by = "date", all = TRUE)  
tougou <- merge(tougou, soto, by = "date", all = TRUE) 
tougou <- merge(tougou, meij, by = "date", all = TRUE) 
tougou[is.na(tougou)] <- 0

par(oma = c(2, 0, 0, 0))   
col.list = c("#009900AA", "#FF0000AA", "#0000EEAA", "#EEEE00AA")
barplot(rbind(tougou$freq,tougou$shinjuku.wt, tougou$soto.wt, tougou$meij.wt), names.arg = name.date, 
        ylim = c(0, max(tougou$freq)), beside = FALSE, add = FALSE, col=col.list, padj = 1,
        main = "刺された推定日とその日の感染者数推定値")
legend("topleft", legend = c("代々木公園とその周辺", "新宿中央公園","外濠公園", "明治神宮外苑" ),
       bg = "transparent", fill = col.list)

どうやら、8/9からの波では一旦収まるが、8/16からの波以降連続して
感染力のある蚊がヒトを刺し続けている模様。
その後、8/22あたりから、別の場所に飛び火しているようだ。

9/4に代々木公園を閉鎖したらしいので、そこから後は新規感染者が
出ないことを祈る。

本日夕方更新のデータを反映しないバージョン
f:id:r-statistics-fan:20140908194139j:plain


本日夕方更新のデータを反映したバージョン
f:id:r-statistics-fan:20140908213607j:plain