2017-04-17 26 views
1

通常在出版物中,通過將*置於條柱上方來顯示統計學上顯着的差異。我的情節中有很多酒吧,我希望通過對它們進行不同的着色來製作與其他人不同的重要人物。ggplot中着色統計上顯着的條柱

例如: 這是該數據集

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) 

我要的是使條不同顏色的,如果P值更低於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) 

編輯:使用geom_col而不是每個Axeman的評論geom_bar(stat = 'identity')

+2

另請注意,'geom_col'已經取代了'geom_bar(stat =「identity」)'成語。 – Axeman

+0

謝謝,我不知道這些。 – PDM

+0

很高興它有幫助。如果這回答您的問題,請點擊答案投票箭頭下方的灰色複選標記以接受答案。 –