2013-03-13 2 views
0

다른 열 수를 포함하는 두 테이블의 데이터가 들어있는 멋진 바 plot을 얻는 방법을 알 수없는 것 같습니다.길이가 다른 두 테이블의 막대 그래프 만들기

> tab1 
    1 2 3 6 8 31 
5872 1525 831 521 299 4 

> tab2 
    1 2 3 4 22 
7874 422 2 5 1 

참고 열 이름과 크기가 다른 : 문제

테이블은 같은 (냈다 끝에서 일부 데이터를)입니다. 내가이 테이블 중 하나에 barplot()을했을 때, 나는 (Y 축상의 X 축, X 축의 컬럼 이름을 보여주는) 플롯과 함께 나온다. 그러나 저는이 두 가지를 나란히하고 싶습니다.

저는 두 변수를 모두 주석으로 포함하고 첫 번째 열 (data.frame()merge())에 다른 행 이름을 포함하는 데이터 프레임을 작성했지만 X 축을 모두 잘못 표시 한 것 같습니다. . 열의 순서를 변경하려고하면 길이가 다른 것에 대한 예외가 생깁니다.

코드 :이 작업이 음모를 얻을 수있는 간단한 방법이 있나요 모든 라벨이 존재하는 위치 (26)의 값이 33

후 플롯 플롯을 보여 주지만,

combined <- merge(data.frame(tab1), data.frame(tab2), by = c('Var1'), all=T) 
barplot(t(combined[,2:3]), names.arg = combined[,1], beside=T) 

? ggplot2 솔루션이 좋을 것입니다.

+1

* show * us (지금까지 'ggplot2'도 사용). – Arun

+0

괜찮아요. 사용했던 명령을 추가했습니다. – wds

답변

2

예를 들어 하나의 데이터 프레임에 모든 데이터를 넣을 수 있습니다.

df<-data.frame(group=rep(c("A","B"),times=c(2,3)), 
    values=c(23,56,345,6,7),xval=c(1,2,1,2,8)) 
    group values xval 
1  A  23 1 
2  A  56 2 
3  B 345 1 
4  B  6 2 
5  B  7 8 

나서 geom_bar() ggplot()와이 데이터를 플롯 할 수있다.

ggplot(df,aes(xval,values,fill=group))+ 
    geom_bar(stat="identity",position="dodge") 
+0

감사합니다. 데이터 프레임을 이런 식으로 얻는 명령은'df wds

관련 문제