2017-12-30 8 views
0

ggplot으로 히스토그램을 작성하려고합니다. binwidth가 어떻게 작동하는지 저는 잘 모릅니다.ggplot2 - geom_histogram의 binwidth와 scale_x_log10

library(ggplot2) 
set.seed(10) 
testData = data.frame(x=rlnorm(100, log(1), log(2.5))) 
ggplot(data=testData, aes(x=testData$x)) + 
geom_histogram(binwidth=1)+scale_x_log10() 

크기 순서 당 1 막대를 얻으려면 어떻게해야합니까? (예 : 10^-1에서 10^1 사이의 막대 1 개, 10^0 ~ 10^1 사이의 막대 1 개)

답변

1

한 가지 방법은 데이터를 그룹화하는 cut() 함수를 사용하는 것입니다. 그룹에 의해 카운트

library(ggplot2) 
set.seed(10) 
x=rlnorm(100, log(1), log(2.5)) 
testData = data.frame(x = x, grp = cut(x, c(0.1, 1, 10))) 
ggplot(data=testData, aes(grp)) + 
    stat_count() 
+0

내가 예상했던 해결책은 아니지만 훌륭한 해결 방법입니다! 이 플롯보다 원본 데이터 세트의 geom_density 레이어를 오버레이한다고 가정 해 보겠습니다. '전환 - 투 - 팩터 - 솔루션'을 사용하여이를 수행하는 방법에 대한 조언이 있습니까? 미리 감사드립니다. –