2015-05-24 49 views
2

是否可以根據地點「A」和「B」來繪製兩個小平面,其中在每個方面顯示「年」 x軸和y軸上的年總和?R qplot - 在y軸上繪製兩個方面而不是計數

這裏是我已經建立了玩具的例子:我一直在使用ddply讓我的資金試圖

DF<-data.frame(place=c("A", "A", "A", "B", "B"), amt=c(1, 1, 1, 5, 2), year = c(2000, 2000, 2002, 2001, 2002)) 
DF$year<-as.factor(DF$year) 

sums<-ddply(DF,.(year,place), summarise, sumAmt=sum(amt)) 

但我不知道如何使用,在qplot

qplot(??? , data=sums, facets=.~place) 

如果我更換??? =年,那麼我只是顯示計數。我讀過,我應該嘗試使用geom_bar(stat =「identity」)和aes(x = factor(year),y = sumAmt)),但我不明白。

回答

1

如果您提供'x'和'y'變量,它將作相應的繪圖。

qplot(year, sumAmt, data=sums, facets=.~place) 

要獲得barplot,指定geom

qplot(year, sumAmt, data=sums, facets=.~place, geom='bar', stat='identity') 

如果您正在使用ggplot你也可以做到這一點,而無需創建一個 '資金' 數據集

qplot(year, amt, data=DF, stat='summary', fun.y='sum', facets=.~place) 

,語法是

ggplot(DF, aes(x=year, y=amt))+ 
      stat_summary(fun.y='sum', geom='point')+ 
      facet_wrap(~place) 
+1

這太好了 - 謝謝你的明確解釋,並且告訴我如何在最後一行完成。 – val

+0

@val很高興知道它的工作原理 – akrun