2014-04-24 3 views
0

나는 주문 된 데이터를 포함하는 data.frame을 가지고 있습니다. boxplot에 그릴 때 boxplot에 의해 알파벳 순으로 자동 정렬됩니다.boxplot의 data.frame의 유지 된 순서

플로팅에서 data.frame의 순서를 유지할 수있는 방법이 있습니까? (날짜순)

data.frame :

Date  ID   Rate   Label 
20131103 54232  98  54232 20131103 
20131223 32123  94  32123 20131223 
20140101 12345  89  12345 20140101 

상자 그림 :

코드 위
boxplot(data_set$Rate ~ data_set$Label, 
     data=data_set, 
     col="yellow", 
     main=Rate Trend, 
     las=2, pch=0, outcol="red", 
     par(mar = c(12, 5, 4, 2)+ 0.1)) 

가 자동으로 대신 data.frame의 순서를 사용하는 ID를 기준으로 데이터를 정렬. boxplot의 data.frame에서 순서를 유지할 수 있습니까? 나는 R v2.12.2를 사용하고있다.

도움 주셔서 감사합니다.

답변

1

요인 레이블의 수준 순서 때문입니다. 하나 possibiliy :

with(data_set, boxplot(Rate ~ factor(Label, levels=unique(Label)), 
    col="yellow", 
    main="Rate Trend", 
    las=2, pch=0, outcol="red", 
    par(mar = c(12, 5, 4, 2)+ 0.1))) 

HTH

2

한 가지 간단한 방법은 인수 분해하는 것입니다 Label :

data_set$Label <- factor(data_set$Label,levels=unique(data_set$Label)) 

그런 음모 자신의 코드를 사용!

boxplot(data_set$Rate ~ data_set$Label, 
     data=data_set, col= "yellow", main="Rate Trend", 
     las=2, pch=0, outcol="red", 
     par(mar = c(12, 5, 4, 2)+ 0.1)) 
0

나는 Shambho을 생각하고 축 늘어진는 +1, 맞다 - 또는 당신이 (?boxplot의 맨 아래에있는 ToothGrowth 예를 참고도)에 위치 지정을 통해보다 세밀한 제어를위한 at -parameter을 고려해 볼 수 있습니다 :

with(iris[nrow(iris):1,], 
    boxplot(Sepal.Length ~ Species,at=order(unique(Species))))