2013-03-01 4 views
8

나는 흔히 볼 수있는 막대 그래프를 얻으려고하지만, R에 플로팅하는 것에 관한 설명서와 ggplot 및 모든 레이어의 문서를 읽음에도 불구하고이 플롯을 얻을 수는 없습니다. 나는 그것을 원한다.나란히 두 변수가있는 막대 그래프

내 데이터는 매우 간단합니다.

aov.data 
    Block RTreg RTrnd 
1 Block1 0.0000 862.0707 
2 Block2 667.2081 770.4315 
3 Block3 645.4730 696.0200 
4 Block4 674.5200 659.4765 
5 Block5 651.4295 633.7333 

은 내가 싶어하는 것은 범주 형 변수로 일하고, x 축에 Block 열이있는 barplot입니다. y 축에서 RTregRTrnd 열을 그릴 값을 갖고 싶습니다. 이것은 내가 옳게 할 수없는 부분입니다. 내가 원하는 것은 x 축에 눈금마다 2 개의 막대가 있습니다. 해당 블록에서 RTreg의 값을 나타내는 막대 하나와 해당 블록에서 RTrnd 값을 나타내는 막대 하나. 이 같은 것을 :

Valid XHTML.

두 세트 대신 두 개의 막대 5 개 세트.

지금까지, 나는 다음과 같은 코드를 사용했습니다 : 내가 먼저 블록을 포함하는 범주 x 축과 기본 플롯을 만드는 것이었다하고 무슨 생각을

ggplot(aov.data,aes(x=Block)) + 
      geom_bar(aes(y=RTreg),stat="identity",position="dodge",col="blue") + 
      geom_bar(position="dodge") + 
      geom_bar(aes(y=RTrnd),stat="identity",position="dodge",col="red") 

. 그런 다음 geom_bar을 사용하여 먼저 RTreg 열을 추가하고 두 번째 geom_bar과 함께 RTrnd 열을 추가한다고 생각했습니다. position 옵션은 dodge과 같습니다.하지만 두 개의 막대를 나란히 놓을 예정이었습니다. 그러나, 내가 얻고있는 음모는 다음과 같습니다 :

Valid XHTML http://s12.postimage.org/k0przrmtp/failed_geom_bar.png.

어떻게 두 개의 막대를 나란히 놓고 각기 다른 색상과 전설을 사용하면 좋을지에 대해 알고 싶습니다. 나는 여기에 약간의 지침을 정말로 바르게 평가할 것이다.

미리 감사드립니다.

답변

20

데이터 프레임의 길이를 넓게 변경해야하며 각 조건에 대해 별도로 막대를 설정할 필요가 없습니다.

데이터 프레임의 이름이 df이라고 가정합니다.

library(reshape2) 
df.long<-melt(df) 
ggplot(df.long,aes(Block,value,fill=variable))+ 
    geom_bar(stat="identity",position="dodge") 

enter image description here

+0

정말 감사합니다. 나는 그것이 매우 간단했다라고 생각할 수 없다! – HernanLG

+4

예, ggplot에 오신 것을 환영합니다. 간단하고 불가능한 것의 차이점을 말하기가 어렵습니다! –

+0

어디에서 y 값을 가져야 하는지를 지정합니까? 예 : 나는 열이 2 개 이상있다. (RTreg, RTrnd) – barracuda317

관련 문제