2017-11-29 2 views
0

R에 표시된 값으로 상자 플라워를 여러 개 만드는 방법? 값 (퀀 타이일)이있는 하나의 그래프에있는 멀티 박스 플롯

지금 나는이

boxplot(Data_frame[ ,2] ~ Data_frame[ ,3], ) 
text(y=fivenum(Data_frame$x), labels =fivenum(Data_frame$x), x=1.25) 

을 사용하려고하지만 첫 번째 상자 그림 값이이 코드

boxplot(Data_frame[ ,2] ~ Data_frame[ ,3],) 

을 사용하고 있습니다. 하나의 그래프에서 모든 boxplot의 값을 표시하는 방법.

정말 고마워요!

+0

data.frame 샘플을 제공 할 수 있습니까? – storaged

+0

x <- data.frame ( c (1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3 , 3,3,3,3,3), c (5,10152030507080100579111517191719100200300400500700 , 1000,200)) 이름 (x) <- c ("시간", "값") => 그래서 지금은 시간에 대한 값을 플로팅하고 싶습니다. 3 boxplot (Time 1,2,3)의 그래프가 표시됩니다. 각 boxplot에는 Median, P10, P90의 값이 표시되어야합니다.) –

+0

이것은 제공 한 코드에 맞지 않습니다. 질문을 할 때 완전히 재현 할 수있는 예제를 제공하는 것이 좋습니다. – storaged

답변

0

최대한 멀리 귀하의 질문을 이해할 수 있습니다 (명확하지 않습니다 fivenum 요약을 표시해야합니다) 여기에 하나의 솔루션입니다. 상단 축을 사용하여 요약을 표시합니다.

x <- data.frame( 
    Time = c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3), 
    Value = c(5,10,15,20,30,50,70,80,100,5,7,9,11,15,17,19,17,19,100,200,300,400,500,700,1000,200)) 

boxplot(x$Value ~ x$Time) 
fivenums <- aggregate(x$Value, by=list(Time=x$Time), FUN=fivenum) 
labels <- apply(fivenums[,-1], 1, function(x) paste(x[-1], collapse = ", ")) 
axis(3, at=fivenums[,1],labels=labels, las=1, col.axis="red") 
당신이 추가로이 요약의 글꼴 크기 또는 회전으로 재생할 수 있습니다 물론

enter image description here

. 또한 한 줄에서 줄을 긋을 수 있으므로 레이블의 너비가 좁아집니다.

편집이

text(x = 3 + 0.5, y = fivenums[3,-1], labels=fivenums[3,-1]) 

을 추가 할 수 있으며 그것을 읽을 수 없습니다 그러나 당신이

enter image description here

을 얻을 것이다 다음은 댓글에 게시 한 내용을 얻기 위하여 다른 boxplots.

+0

코드가 괜찮다고 생각합니다. 나는 그것을 지금 시도 할 것이다. 고맙습니다. 다른 사람들을 도울 수 있다고 생각한다면 제 질문에 투표하십시오. –

+0

당신이 질문하는 것이 도움이되기 위해서는 거기에서 약간의 정리를해야합니다. 질문의 주석에서 예제 데이터 세트를 입력하십시오. 제공 한 코드의 변수 이름을 변경하여 데이터 구조와 호환되도록하십시오 (코드가 재생성 될 수 있습니다). 그러면 도움이되는 질문이 생깁니다. – storaged

+0

왜 아직도 그럴 수 없습니까? –