2017-05-22 1 views
1

두 변수 V1과 V2가있는 데이터 프레임 example이 있습니다. 둘 다 더미 변수입니다. 나는 V1을 x 축으로하여 쌓인 비례 그래프를 만들고 싶다. 비례 적재 막대 만들기

나는 다음과 같은 시도했지만 그래프가 표시되지 않는 :

library(ggplot2) 
library(plyr) 
library(dplyr) 

example<-as.data.frame(cbind(c(0,0,0,0,1,1,1,0,1),c(0,1,0,0,1,0,0,0,1))) 
class(example$V1) 
class(example$V2) 

ce = ddply(example, "V1", mutate, percent_v2 = sum(V2)/length(V2) * 100) 
ggplot(ce, aes(x=V1, y=percent_v2, fill=V2),geom_bar(stat='identity')) 

내가 V1 및 V2 모두 정수이기 때문에 fill=V2이 잘못 어쩌면 생각, 그래서 내가 대신 as.character(V2)을 시도,하지만이 작동하지 않았다 잘.

답변

1

보십시오

ggplot(ce, aes(x=V1, y=percent_v2, fill=V2))+geom_bar(stat="identity") 

추 I는 ggplot (CE, AES (X = V1, Y = percent_v2 시도

enter image description here

V1 V2 percent_v2 
1 0 0   20 
2 0 1   20 
3 0 0   20 
4 0 0   20 
5 0 0   20 
6 1 1   50 
7 1 0   50 
8 1 0   50 
9 1 1   50 
+0

= as.character 채우기 (V2))) + geom_bar (stat = "identity") 그리고 이것은 내가 원했던 것과 비슷하지만 최대 ylim으로 100을 가지고 있으면 안된다. 내가 왜 v1 = 1 일 때 200 maxlim을 얻을지 모르겠다. – song0089

+0

위의 데이터와 플롯을 추가했다. V1 == 0 인 경우 percent_v2는 100까지 합계합니다. 하지만 이것은 V1 == 1 (50 % 4 배) – amonk