2

我正在尝试复制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.smoothfromS的功能,但我没有找到类似于coplot. 我认为是xyplot。如果是的话,你能建议我等效于的参数given.values吗?

4

1 回答 1

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)

不同的是上图的高度,它应该更小。

于 2012-06-17T19:07:30.143 回答