2013-07-16 2 views
2

에서 ggplot2와 데이터 포인트의 수에 의하여 상자 그림 나는이 예제의 설정과 가장 유사한 내가 함께 상자 플롯의 일련의 음모를 꾸미고 있어요 원주 데이터 세트가 있습니다 Boxplot of table using ggplot2음영 (또는 알파) R

require(reshape2) 
ggplot(data = melt(dd), aes(x=variable, y=value)) + geom_boxplot(aes(fill=variable)) 

그러나 제 경우 상자 플롯 각각은 다른 수의 데이터 요소를 나타냅니다. 예를 들어 A 열에 8000 개의 데이터 요소가 있고 B 열에 6000, C 열에 2500이 있고 D 열에 800이있을 수 있습니다.

이 정보를 전달하기 위해 상자의 채우기 색을 알 수 있다고 생각했습니다. 데이터 포인트의 수를 반영합니다. 상자가 어두울수록 상자 플롯이 나타내는 통계를 계산하는 데 더 많은 데이터 포인트가 사용되었습니다.

geom_histogram에 대한 ggplot2 도움말 파일에서 aes (fill = .. count ..)를 사용하여 bin의 count 수에 해당하는 bin을 음영 처리합니다.

m <- ggplot(movies, aes(x=rating))  
m + geom_histogram(aes(fill=..count..)) 

이 (여기 예제 히스토그램의 사진을 포함하고 싶었지만 내가 충분히 명성 포인트 ... 미안하지 않아도 할 수 없기 때문에) 내 ggplot의 geom_boxplot 이것을 사용하여 시도

을, 하지만 .. 아는 부분은 보이지 않습니다.

ggplot(meltedData, aes(x=variable, y=value)) + geom_boxplot(aes(fill=variable), outlier.size = 1) + ylim(-4,3) 

누구나 어떤 포인터를 가지고 다음은 상자 그림을 생성하는 내 라인입니까? geom_boxplot에 "alpha"속성을 추가 할 수 있다는 것을 알았지 만 boxplot의 데이터 포인트 수에 따라 각 boxplot에 개별적으로 어떻게 적용 할 수 있습니까?

미리 감사드립니다.

+0

당신의 (a [재현 예]를 제공하시기 바랍니다 수 http://stackoverflow.com/questions/5963269/ 어떻게 재현 할 수있는 좋은 예가 될 수 있습니까?) –

+0

'..count..' 시스템 전체를 잘 모릅니다. 그러나'stat = "bin"인수 때문에 히스토그램과 함께 작동한다고 생각합니다. 데이터 자체에'count'를 추가해야 할 수도 있습니다. –

답변

6

stat_boxplot은 계산하지 않습니다. 그냥 ggplot2 외부에서 작업을 수행합니다

library(plyr) 
DF <- ddply(mtcars, .(cyl), transform, myalpha = length(cyl)) 

library(ggplot2) 
ggplot(DF, aes(factor(cyl), mpg)) + 
    geom_boxplot(aes(alpha = myalpha), fill = "blue") 

enter image description here

0

data.table 옵션 :

dd <- data.table(dd) 
dd[,Count:=.N,by=variable] 
+0

적어도'.N'을 사용하십시오 ... – Roland

+0

확실히. "적어도"은 무엇을 의미합니까? –

+0

난 대답을 할 때마다 split-apply-combine가 필요할 때마다 이것을하기위한 모든 가능성을 열거 할 필요가 없다. 모든 가능성을 제공하는 좋은 FAQ가 정말로 필요합니다. 나는 이미 병사가 되었기 때문에'plyr'를 선택했다. – Roland