Translate

2019年12月25日水曜日

◆レーシング・バーチャート作成の「R」のコードの例です

 インフルエンザの「週別の定点当たり報告数」のレーシング・バーチャートを作成する「R」のコードの例です。ランキングによって、棒グラフの位置が入れ替わるタイプのアニメーションのグラフを作成するためのコードです。

 まず、ランキングの推移の動きを出すためには、データの前処理として、ランキングの列を追加する必要があります。データの数値を表示させるためには、スコア表示用の数字の列を追加する必要があります。
 スコア表示用の数字の列を作成せずに、「geom_text(aes(y=influ,label = sprintf("%4.2f",influ))」といった形で表示させる方法もあるようです。

1)ランキングの推移をグラフのアニメーションに反映させるために、週別のランキングの列を追加します。

df_inftidyra <- df_inftidy %>%  group_by(weeks) %>% mutate(rank = rank(-influ), Val_lab = paste0(" ",influ)) %>% group_by(year) %>%  filter(rank <= 11)


2)整備したデータを基に、グラフを作成します。

grarank <-ggplot(df_inftidyra,aes(x = rank, group = year))+ geom_tile(aes(y=influ/2,height = influ,fill = year,width = 0.8))+labs(y="国立感染症研究所資料から",title="インフルエンザ_定点当たり報告数:Week:{closest_state}") + geom_text(x = -10, y = 48,aes(label = weeks), size = 14, col = "navy") + geom_text(aes(y = 0, label = paste(year, " ")), vjust = 0.2, hjust = 1, size = 8)+ geom_text(aes(y=influ,label = Val_lab, hjust=0),size = 5.5 ) + coord_flip(clip = "off", expand = TRUE) + scale_x_reverse() +  theme_light() +  theme(legend.position = 'none')

3)グラフの外観を整えます

grarank <- grarank + theme(axis.line=element_blank(),
        axis.text.x=element_blank(),
        axis.text.y=element_blank(),
        axis.ticks=element_blank(),
        axis.title.x=element_text(colour="navy", size=18),
        axis.title.y=element_text(colour="navy", size=18),
        legend.position="none",
        panel.background=element_blank(),
        panel.border=element_blank(),
        panel.grid.major=element_blank(),
        panel.grid.minor=element_blank(),
        panel.grid.major.x = element_line( size=.1, color="grey" ),
        panel.grid.minor.x = element_line( size=.1, color="grey" ),
        plot.title=element_text(size=20, hjust=0.5, face="bold", colour="black", vjust=-1),
        plot.background=element_blank(),
        plot.margin = margin(0.5,0.5, 0.5, 3.5, "cm"))

4)アニメーションGIFのファイルを作成します

grarank <- grarank + transition_states(weeks, transition_length = 4, state_length = 1) + ease_aes('sine-in-out')+  enter_fade() +  exit_fade()

gganimate::animate(grarank, nframes = 100, fps = 20, duration = 30, width = 720, height =480, renderer = gifski_renderer("anime_rank.gif"))


 ↓アニメーションを動画ファイルにしたものです。



----------------------------------------------------

---------------------------------------------------
-

2019年12月21日土曜日

◆インフルエンザの流行がさらに加速:インフルエンザの都道府県別の定点当たり報告数の第46週から第50週までの推移(国立感染症研究所のデータから):都道府県別の「コロプレスマップ」です

 2019年第50週(12月9日~12月15日)の、インフルエンザの定点当たり報告数を国立感染症研究所が発表しています。

 第46週から第50週までの、都道府県別の「定点当たり報告数」を、色分け地図にしてみました。インフルエンザの流行が全国的に拡大していることがうかがえます。

 下記の地図はインフルエンザの「定点当たり報告数」を5段階で色分けしたもの(コロプレスマップ)です。全国の広範囲で流行が加速してきている様子がわかります。

なお、最新の概況については、国立感染症研究所のこちらのページで報告されています。

↓インフルエンザの「定点当たり報告数」の19年第46週から第50週までの推移


※塗り分け地図作成の参考ページ:http://ds0.cc.yamaguchi-u.ac.jp/~fukuyo/r-map.html

  都道府県別にインフルエンザの「定点あたり報告数」を地図上で塗り分けするにあたって、色分けの区切りの値の問題が生じます。グラフスケールの取り方の問題のような感じです。スケールの取り方によって、グラフの見やすさや印象は変わってきます。

 合理的で、一貫した基準がないと「恣意的」なものになってしまいます。

 国立感染症研究所のページの都道府県別マップは、「警報・注意報レベル」についてのものです。区切りの基準が一定なので、少ないときは全体的に色が少なく、一定水準を超えて多くなると全体が真っ赤になって、どこが特に多いのかがわからず、色分けの意味が薄れてしまいます。

 そこで、「定点あたり報告数」の塗り分けについては、区分を変動的なものにしてみようと思います。

 上の図の塗り分けは、「定点あたり報告数」についてのものですが、基準として、最新データの「報告数-1」の値について、4分位範囲を「Summary()」で見て、4分位数を利用しています。以前のデータの塗り分けもその区分を用いて、さかのぼって変遷を見られるようにしています。「-1」とするのは、区分の「1」を意識してのものです。報告数が1を超えるかどうかが、流行期入りかどうかの基準になっているようなので、区分の「1」は固定とし、それ以上の部分を変動制にしています。

----------------------------------------------------------------------------

【国立感染症研究所の概況コメント】:毎週、上書きされているので、以下のようにちょっと保存しておこうと思います。
2019年 第50週 (12月9日~12月15日) 2019年12月18日現在
 2019年第50週の定点当たり報告数は15.62(患者報告数77,425)となり、前週の定点当たり報告数9.52より増加した。
 都道府県別では山口県(31.94)、北海道(29.76)、宮城県(26.69)、青森県(24.14)、富山県(24.04)、埼玉県(20.84)、大分県(19.60)、福島県(19.41)、熊本県(19.38)、神奈川県(19.17)、新潟県(19.09)、広島県(18.94)、長野県(18.06)、東京都(16.84)、島根県(16.82)、千葉県(16.61)、愛知県(16.53)、秋田県(16.30)の順となっている。全47都道府県で前週の定点当たり報告数より増加がみられた。
 定点医療機関からの報告をもとに、定点以外を含む全国の医療機関をこの1週間に受診した患者数を推計すると約53.5万人(95%信頼区間50.1~56.9万人)となり、前週の推計値(約32.5万人)より増加した。年齢別では、0~4歳が約6.1万人、5~9歳が約14.5万人、10~14歳が約9.8万人、15~19歳が約2.5万人、20代が約2.9万人、30代が約4.7万人、40代が約6.3万人、50代が約3.2万人、60代が約2.0万人、70代以上が約1.6万人となっている。また、2019年第36週以降これまでの累積の推計受診者数は約150.9万人となった。
 全国で警報レベルを超えている保健所地域は52箇所(1道1府18県)、注意報レベルを超えている保健所地域は295箇所(1都1道2府38県)であった。
 基幹定点からのインフルエンザ患者の入院報告数は856例であり、前週(546例)より増加した。全47都道府県から報告があり、年齢別では0歳(60例)、1~9歳(330例)、10代(76例)、20代(5例)、30代(18例)、40代(24例)、50代(30例)、60代(64例)、70代(119例)、80歳以上(130例)であった。
 国内のインフルエンザウイルスの検出状況をみると、直近の5週間(2019年第46~50週)ではAH1pdm09(95%)、AH3亜型(3%)、B型(2%)の順であった。
 詳細は国立感染症研究所ホームページ(https://www.niid.go.jp/niid/ja/flu-map.html)を参照されたい。


----------------------------------------------------

---------------------------------------------------
-

2019年12月20日金曜日

◆インフルエンザの流行が加速中:2019年第50週(12月9日~12月15日)の「定点当たりの報告数」は前週から増加しています

インフルエンザの定点観測データ(定点当たり報告数の推移):第50週(12月9日~12月15日)まで

国立感染症研究所のホームページに、インフルエンザの流行についての週ごとのデータがあります。毎年、第36週(8月末~9月初旬)から翌年の第35週までの1年間が「インフルエンザシーズン」とされていて、「2019-2020年シーズン」は、2019年9月2日から2020年8月30日までです。

国立感染症研究所のホームページから週ごとの「インフルエンザの定点当たり報告数」のデータをダウンロードして、グラフを作成してみました。

「インフルエンザの定点当たり報告数」は、2019年の第50週(12月9日~12月15日)では15.62で、第46~49週から増加傾向にあります。ここ数年と比べて19年は流行の始まりが早くなっています。

「IDWR 2019年第44号、第48号」に「<注目すべき感染症>インフルエンザ」というリポートがあります。今年の流行の始まりが早いことなどがリポートされています。

下のグラフは、第50週のデータ(2009年~2019年)です。2009年は秋から流行が見られ、他の年との違いが大きかったことがわかります。         

2018年、2019年の1月、2月ごろは数が多かったようです。2009年からグラフ化すると、線が多くて見づらいため、2015年からのデータのグラフも作成しています。

36週から50週のデータに絞り、スケールを変えてみました。2019年の第50週は全国で15.62という報告数ですが、第49週からさらに流行が加速していることがわかります。

なお、第37週、第38週で1を超えていたのは、沖縄県での数が多かったからのようです。

----------------------------------------------------

---------------------------------------------------
-