2015-05-15 119 views
0

讓我們說,我們有以下幾點:分組Barplot R中

planet <- c("Earth", "Mars", "Jupiter", "Venus") 
trips <- 1:20 
pilot <- 1:4 

data <- data.frame(Planet = sample(planet, 20, replace=T), 
        Pilot = sample(pilot, 20, replace=T), 
        Trips = sample(trips, 20, replace=T)) 

如何創建一個酒吧區,將Y軸是出遊的人數,與X軸是飛行員數量,但對於每個X值/間隔,我們沒有一個酒吧,但有四個(每個星球一個)?

+1

'barplot(具有(數據,tapply(行程,列表( Planet,Pilot),sum)),旁邊= TRUE,legend.text = planet)' – rawr

+0

美麗,這正是我想要的;謝謝。我選擇了下面的答案,因爲Gegor提交它作爲答案,如果想要使用ggplot2,也是正確的。 – isolier

回答

1

ggplot,這就是所謂的 「迴避」 barplot:

library(ggplot2) 
ggplot(data, aes(x = as.factor(Pilot), y = Trips, fill = Planet)) + 
    geom_bar(stat = "identity", position = "dodge") 

另一種選擇,具有小面:

ggplot(data, aes(x = Planet, y = Trips)) + 
    geom_bar(stat = "identity", position = "dodge", fill = "dodgerblue") + 
    facet_wrap(~ Pilot) 
+0

這產生了我正在尋找的東西。對於那些感興趣的人,rawr對我的問題的評論用base來回答這個問題。 – isolier