2012-03-16 3 views
2

face_grid을 사용하여 다른 하나 (ZONE)에 따라 변수의 크기 (SIZE)를 표시하는 ggplot 그래프를 만들고 모든 카테고리에서 평균을 표시하려고합니다. stat_summary을 사용하는 이진 변수 (BG) 하지만 지금은 포인트 (평균)에 가입하고 평균을 (포인트 근처에서) 백분율 형식으로 표시하려고합니다. 내가 stat_summary('arguments here',geom="line")과 다른 명령으로 시도한 점에 합류하기 위해 진실은 그것을하는 법을 모른다.stat_summary()의 결과에 행을 결합하십시오

library(ggplot2) 
    library(scales) 

    set.seed(100) 

    data <- data.frame(ID = 1:600, 
        SIZE = rep(c('B','M','S'), each = 200), 
        ZONE = sample(c('A','B'), size = 600, replace=T), 
        BG = c(sample(0:1, size = 200, prob = c(1,1), replace=T), 
          sample(0:1, size = 200, prob = c(2,3), replace=T), 
          sample(0:1, size = 200, prob = c(1,2), replace=T))) 

    ggplot(data, aes(x = SIZE)) + 
     geom_bar(aes(y = (..count..)/sum(..count..))) + 
     facet_grid(~ZONE) + 
     stat_summary(aes(y = BG), fun.y=mean, colour="red", geom="point", size = 3) + 
     scale_y_continuous('Percent', labels = percent_format()) 

미리 감사드립니다. 제 영어는 유감입니다.

답변

3

geom_line을 사용할 때는 항상 group의 미학을 기억하십시오!

ggplot(data, aes(x = SIZE)) + 
     geom_bar(aes(y = (..count..)/sum(..count..))) + 
     facet_grid(~ZONE) + 
     stat_summary(aes(y = BG,group = 1), fun.y=mean, colour="red", geom="line", size = 3) + 
     scale_y_continuous('Percent', labels = percent_format()) 
+0

감사합니다. @ joran, 저에게 새로운 것을 가르쳐주세요. 자, geom_text를 사용하여 평균값을 표시하는 방법은 무엇입니까? 다시 한번 감사드립니다. – jbkunst

관련 문제