2013-01-03 2 views
2

두 조건이있는 격자 그래프가 있습니다. 하나의 조건 (x1)은 4 개의 레벨을 가지고 하나는 2 개의 레벨 (x2)을가집니다. (: X3 2 레벨 세번째 변수 EDIT1가)의 그래프는 각 변수 X1과 X2에 대한 줄무늬를 갖는다R 격자 : 패널 제목 레이아웃 변경

df <- data.frame(y = runif(100,0,10) 
       , x1 = rep(c("A","B","C","D"),25) 
       , x2 = as.numeric(c(runif(100)<0.5)) 
       , x3 = c(runif(100) < 0.5) 
       ) 
df$x3 <- with(df, ifelse(x3 == TRUE, "R","S")) 
histogram(~y | x1 + as.factor(x2), data=df) 

상부 패널 (X2)의 첫 번째 레벨, 하판 번째 레벨을 포함한다. x1에 대한 스트라이프는 x1 (수직선)의 레벨 수에 따라 나뉩니다. 이것은 의미가 있습니다. 그러나 x2의 스트라이프는 또한 레벨 0의 레벨 수에 따라 나누어집니다. 레벨 1의 4 배를 보여주는 x1입니다. 스트라이프 x1에 대해 하나의 라벨 만보고 싶습니다. 이 코드가 제공하는 것입니다 :

0000 
ABCD 

나는이를보고 싶다 : 어떤 도움

0 
ABCD 

감사합니다.

답변

4

이 솔루션은 스트립 이름을 병합하지 않지만 스트립 이름을 대체 표시합니다. 플롯의 측면에 하나의 변수의 스트립 이름을 넣는 latticeExtra 패키지에 함수 useOuterStrips()이 있습니다.

library(latticeExtra) 
useOuterStrips(histogram(~y | x1 + as.factor(x2), data=df)) 

enter image description here

+0

정말 감사합니다. 좋은 해결책. – giordano

+0

감사합니다. 격자 구문을 배웠습니다 (ggplot보다 어렵지만 어쩌면 틀 렸습니다). 그럼에도 불구하고 세 변수의 경우를 가정하십시오. 새로운 이분법 변수 x3 (edit1)을 추가합니다. 세 줄무늬가있는 중첩 구조를보고 layout = c (8,2)를 사용하려면 스트라이프에서 같은 수준의 분리를 제거하는 것이 좋습니다. – giordano