我的数据以两个变量为条件,一个主要条件,一个次要条件。我想要一个带有点和线 ( xyplot
)的 ( ),在一个面板中,以便主要条件确定颜色,而次要条件用于绘制线条。lattice
type='b'
这是一个代表我的问题的示例(请参阅下面的代码以生成数据框)。 d
是主要条件,c
是次要条件。
> dat
x y c d
1 1 0.9645269 a A
2 2 1.4892217 a A
3 3 1.4848654 a A
....
10 10 2.4802803 a A
11 1 1.5606218 b A
12 2 1.5346806 b A
....
98 8 2.0381943 j B
99 9 2.0826099 j B
100 10 2.2799917 j B
使连接线成为条件的c
方法是groups=c
在情节中使用。那么区分它们的方法是使用一个以 为条件的公式d
:
xyplot(y~x|d, data=dat, type='b', groups=c)
但是,我想要在同一个面板中的情节。删除公式条件d
会生成一个面板,但当group=d
指定时,会绘制“回溯”线:
xyplot(y~x, data=dat, type='b', groups=d, auto.key=list(space='inside'))
我想要的看起来很像上面的情节,只是没有这些“回溯”线。
在此示例中可以显式设置颜色,因为我知道有五行类别“A”,然后是五行类别“B”,但这并不容易解决我的实际问题。此外,auto.key
以这种方式设置颜色时也没用:
xyplot(y~x, data=dat, type='b', groups=c, col=rep(5:6, each=5))
数据:
set.seed(1)
dat <- do.call(
rbind,
lapply(1:10,
function(x) {
firsthalf <- x < 6
data.frame(x=1:10, y=log(1:10 + rnorm(10, .25) + 2 * firsthalf),
c=letters[x],
d=LETTERS[2-firsthalf]
)
}
)
)