`coplot`替代格子

时间:2012-06-17 13:40:36

标签: r lattice

我正在尝试复制 S 中的统计模型中给出的示例。这是本书中给出的代码。

data(ethanol)
attach(ethanol)
E.intervals <- co.intervals(E, number = 9, overlap = 1/4)
coplot(NOx ~ C | E, given.values = E.intervals,
                    panel = function(x,y) panel.smooth(x,y,degree = 1, span = 1))

此代码仅适用于S,因为panel.smooth函数没有degree参数。 所以我用了

coplot(NOx ~ C | E, given.values = E.intervals,
                    panel = function(x,y,...) panel.smooth(x,y, iter = 1, span = 1))

我想使用lattice图形包,因为它的panel.loess函数与panel.smooth中的S类似,但我没有找到类似于coplot。我认为这是xyplot。如果是,您能否建议我的参数等同于given.values

1 个答案:

答案 0 :(得分:1)

以下是它的完成方式,它不完全相同但非常接近。

require(gridExtra)
require(lattice)
data(ethanol)
E.intervals <- equal.count(E, number = 9, overlap = 1/4)
plot1 <- plot(E.intervals)
plot2 <- xyplot(NOx ~ C | E.intervals, data = ethanol, span = 1, layout = c(3,3),
                panel = function(x,y,span){
                panel.xyplot(x, y);
                panel.loess(x, y, span);
               })
grid.arrange(plot1,plot2, nrow=2)

不同之处在于上图的高度,它应该更小。