我有一个带有两个条件的晶格图:一个条件(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)
谢谢你的帮助。
该解决方案不会合并带区名称,但是会提供带区名称的替代显示。useOuterStrips()包latticeExtra中有一个函数,可将一个变量的带状名称放在图的一侧。
library(latticeExtra)
useOuterStrips(histogram( ~y | x1 + as.factor(x2), data=df))
Run Code Online (Sandbox Code Playgroud)
