R格子:更改面板标题布局

gio*_*ano 2 r lattice

我有一个带有两个条件的晶格图:一个条件(x1)有4个层,一个条件有2个层(x2)。该图的每个变量x1和x2都有一个条纹(edit1:x3是具有2个级别的第三个变量):

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)
Run Code Online (Sandbox Code Playgroud)

上面板包含x2的第一层,下面板包含x2的第一层。x1的条带根据x1的级别数(垂直线)划分。这是有道理的。但是x2的条带也根据x1的级别数进行了划分,分别显示级别0为1的4倍。我只希望看到x1的标签。代码提供了以下内容:

0000
ABCD
Run Code Online (Sandbox Code Playgroud)

我想看这个:

  0
ABCD
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

Did*_*rts 5

该解决方案不会合并带区名称,但是会提供带区名称的替代显示。useOuterStrips()latticeExtra中有一个函数,可将一个变量的带状名称放在图的一侧。

library(latticeExtra)
useOuterStrips(histogram( ~y | x1 + as.factor(x2), data=df))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明