格子:在同一面板中绘制具有不同比例和轴的两条线

Lattice: Plotting two lines with different scale and axes in the same panel

我有这样的东西:

a <- c(1,4,2,8)
b <- c(100,80,40, 0)
c <- 1:4
x <- rep("foo",4)
y <- rep("bar",4)

df1 <- data.frame(c, y = a, gr = x)
df2 <- data.frame(c, y = b, gr = y)
df <- rbind(df1,df2)

xyplot(y ~ c, data = df, type = "l", group = df$gr)

结果:

我正在寻找一种允许我更改比例的方法,以便蓝线填充整个面板区域,并在图的右侧添加相应的轴。

如果加轴太难,那不是必须的。 y 轴上的单位无论如何都是任意的(在我自己的数据中)。也许一种标准化数据的方法可行?

该站点上有几个答案,但它们都适用于 R 的基本图形,并且 none 使用 lattice。

是你想要的吗?

library(latticeExtra)
library(dplyr)
dfgr <-df %>% filter(gr == "foo")
dfbar <-df %>% filter(gr == "bar")
obj1 <- xyplot(y ~ c, dfgr, type = "l")
obj2 <- xyplot(y ~ c, dfbar, type = "l")
doubleYScale(obj1, obj2, add.ylab2 = TRUE)