2013-02-20 2 views
1

격자 레벨 플롯을 만들고 내 레벨을 특정 순서대로 플롯하려고합니다.R 격자 레벨 그래프에서 데이터 정렬

name1 name2 value 
A a 1 
A b 3 
A c 2 
B a 4 
B b 1 
B c 3 
C a 1 
C b 3 
C c 4 

그래서 name1을 세로로 정렬하고 name1의 값의 합계를 오름차순으로 정렬한다고 가정 해 봅시다. 그 일을 어떻게 하죠?


나는 어딘가로 가고 있다고 생각한다. 나는 수준을 다시 주문해야한다. 아직도 정확한 방법을 찾지 못했습니다.


그래서 나는 레벨을 변경할 수 있었지만 값은 변하지 않았습니다! 레벨 (reorder())을 사용하고 있습니다. 나는 요인을 사용해야합니까?

답변

2

그것은 당신이 원하는 게 무엇인지 혼란 조금,하지만 난 당신이 당신의 levelplot 그라데이션처럼 보이는 것을 원하는 것 같아요 ...

나는 cumsumave

dat$o <- ave(dat$value,dat$name1,FUN=cumsum) 

를 사용하여 Z 레벨을 만들 그런 다음

library(latticeExtra) 
levelplot(o~name2+name1,data=dat, 
      panel = panel.levelplot.points,type = c("p", "g"), 
      aspect = "iso", 
      prepanel = prepanel.default.xyplot, 
      cex=10) 

enter image description here

+0

죄송합니다. 어쩌면 자신을 분명히하지 않았을 것입니다. 행이 (a) 열의 값에 따라 정렬되기를 원합니다. 따라서 첫 번째 (왼쪽 위) 점은 모든 (a) 점에서 가장 큰 값을 가지기 때문에 B, a 여야합니다. 실제로 열 또는 원시를 정렬하는 방법조차도 도움이 될 수 있습니다. 나머지는 알아낼 수 있습니다. – sogart