2013-01-03 64 views
2

我有一個格子圖有兩個條件:一個條件(x1)有4個級別,一個有2個級別(x2)。該圖具有針對每個變量x1和x2一個條紋(EDIT1:X3是具有2級的第三變量):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的條紋也根據x1的水平數分別顯示了4次0級別1的水平。我想只看到條紋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