对带有点和线的分组数据使用点阵 xyplot

问题描述

我希望在点阵中制作一个单面板图,显示来自多个组 (g) 的数据 (y),并带有显示预测值 (y_pred) 的叠加线。我在下面生成示例数据:

d <- data.frame(x = rep(1:100,2),g = factor(rep(c('a','b'),each = 100))) 
d$y_pred <- -0.1*x + 0.001*x^2
d$y_pred <- with(d,ifelse(g=='a',y_pred+2,y_pred))
d$y <- d$y_pred + rnorm(nrow(d),1)

使用 'type=c('p','l'),distribute.type=TRUE 不起作用,我也没有尝试制作面板:

xyplot(y + y_pred ~ x,data = d,groups = g,panel = panel.superpose,panel.groups=function(...){
        panel.xyplot(x,y,type='p')
        panel.xyplot(x,y_pred,type='l')
    }
    )

我应该在这里做什么?

解决方法

好的,你可以用latticeExtra来做到这一点

dat <- xyplot(y ~ x,data=d,groups = g,type="p"
    )
dat

dat + layer(panel.xyplot(x=x,y=y_pred,type="l",subscripts=TRUE),data=d)

但这真的很挑剔而且不够健壮。如果“dat + layer()”代码是我在启动程序后运行的第一件事,它会正确呈现,但之后它会经常呈现不同组的几行缺失。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...