始める無料で始める

読みやすさのための積み上げ順序の調整

前のプロットでは、はしか(measles)とおたふく風邪(mumps)以外の病気をすべて「other」カテゴリにまとめました。つまり、はしかやおたふく風邪に比べると「other」の推移は重視しないと考えられます。

このため、作成したプロットには問題があります。棒が「measles」が上、「mumps」が中、「other」が下の順に積み上がっているため、はしかの割合が変化すると基準線が動いてしまい、おたふく風邪(mumps)の時間的な変化が直感的に読み取りにくくなっています。

ggplotは、データセット内で変数が現れる順序に基づいて、棒と凡例の順序を決めます。これを上書きするには、levelsを望む順序に設定して、disease列を因子に変換します。

この演習はコースの一部です

R による可視化ベストプラクティス

コースを見る

演習の手順

  • データ操作パイプライン内のmutate関数を変更し、diseaseを因子にして、levels = c('measles', 'other', 'mumps')を指定します。
  • 前の演習と同じコードで再度プロットします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

disease_counts <- who_disease %>%
	mutate(
		disease = ifelse(disease %in% c('measles', 'mumps'), disease, 'other') %>% 
		factor(___) # change factor levels to desired ordering
	) %>%
	group_by(disease, year) %>%
	summarise(total_cases = sum(cases)) 

# plot
ggplot(disease_counts, aes(x = year, y = total_cases, fill = disease)) +
	geom_col(position = 'fill')
コードを編集して実行