2013-10-16 8 views
1

나는 누군가가 나를 올바른 길로 인도 할 수 있기를 바랍니다. 약 100 개의 히스토그램을 생성하려고합니다. 따라서 제 문제의 솔루션을 쉽게 재현 할 수 있어야합니다.ggplot2 - 히스토그램의 다른 저장소 크기

나는 0.0000 (제로 값)에서 1.0000의 상한 범위에 이르는 값의 벡터를가집니다. 상당한 양의 0.0000 값이 있으며 나머지 값이 더 확산됩니다.

다양한 bin 크기를 갖는 막대 그래프를 만들고 싶습니다. 에 의해 생성 된 사진을 여기

per_value <- rbeta(200, 1, 1, ncp = 0.3) 
percent_change <- c(0,0,0,0,0, rbeta(195, 1, 1, ncp = 0.1)) 

valua_chg <- data.frame(cbind(per_value, percent_change)) 

ggplot(valua_chg, aes(x=percent_change)) + 
    stat_bin(breaks=c(0, seq(0.001,1.0, by=0.005))) 

: I는 0 값 모두를위한 빈을 갖고 싶어하고 빈 크기는 여기

0.005 내 실제 데이터를 보여 일부 재현 코드해야 코드 :

enter image description here

문제는 제로 빈의 빈 크기가 다른 빈과 같은 매우 작은, 그리고 같은 크기 때문이다. 누구든지이 문제를 해결하는 방법을 알고 있습니다.

감사합니다.

+1

잘 모르겠습니다. 당신은 제로 값을위한 하나의 무한히 작은 빈을 원한다고 말하면,이 빈이 너무 작다는 것이 문제라고 말합니까? – joran

+1

다른 바와 같은 너비의 0 인 빈에 대한 빈을 표시하고 싶다고 생각합니다. 이렇게하려면 x 축에 대해 고유 한 변환을 작성해야합니다. 이 기사를 보시길 바랍니다 : http://blog.ggplot2.org/post/25938265813/defining-a-new-transformation-for-ggplot2-scales – user2840286

답변

2

이렇게하는 가장 빠르고 간단한 방법은 최저 단락을 -0.004로 설정하여 0을 포함하는 bin의 너비가 동일한 0.005가되도록하는 것입니다. bin은 0에 맞춰 정렬되지 않지만 데이터가 0과 1 사이에 있으면 0이어야합니다.

ggplot(valua_chg, aes(x=percent_change)) + 
    stat_bin(breaks=c(-0.004, seq(0.001,1.0, by=0.005))) 
+0

내일 나는 인자 상자를 만드는 작업을하고, 발행물. 그렇지 않다면, 제로 카운트를 표시하기 위해 아주 작은 제로 저장소를 만드는 해결책을 사용하겠습니다. – user1738753