2017-04-17 10 views
1

通常、刊行物では、バーの上に*を付けると統計的に有意な差が示されます。私はプロットの中にたくさんの棒を持っていますし、重要なものを違う色にすることで他のものと違うものにすることを望んでいました。例えばggplotの統計的に有意な棒の色付け

: これはp値であった場合

some_data = data.frame(name = sample(LETTERS, 5), 
         value = rnorm(5, 5, 7), 
         pvalue = rnorm(5, 0.05, 0.02)) 

> some_data 
    name  value  pvalue 
1 Q 8.8101784 0.01691628 
2 Z 5.9426036 0.10228445 
3 U 1.4862314 0.02062453 
4 K -0.1365665 0.04405621 
5 N 8.8828848 0.05992229 

ggplot(some_data, aes(name, value)) + 
    geom_bar(stat = "identity") + 
    geom_text(aes(label=pvalue), position=position_dodge(width=0.9), vjust=-0.25) 

私がしたいことは、異なる色の棒を作ることで、データセットである以上0.05未満

enter image description here

答えて

2

ggplot美学はあなたが評価してみましょうRコード、これはあなたのようなものを行うことができます:

ggplot(some_data, aes(x = name, y = value, fill = pvalue < 0.05)) + 
    geom_col() + 
    geom_text(aes(label=pvalue), position=position_dodge(width=0.9), vjust=-0.25) 

編集:Axemanのコメントごとにgeom_bar(stat = 'identity')の代わりにgeom_colを使用してください。

+2

また、 'geom_col'は' geom_bar(stat = "identity") 'イディオムに取って代わりました。 – Axeman

+0

ありがとう、私はこれらを知りませんでした。 – PDM

+0

うれしかった。これがあなたの質問に答えるなら、答えの投票矢印の下にあるグレーのチェックマークをクリックして回答を受け入れてください。 –

関連する問題