xy.plotsの上にいくつかのバリオグラム モデルの適合を表示しようとしています。panel.plotsは、対応するsubplotsに追加したい行のリストを除いて、すべてに対して機能します。
require(gstat)
require(sp)
data(meuse)
names(meuse)
#make directional variograms
b<-variogram(log(zinc)~1, meuse, alpha = c(0, 45, 90, 135))
#split the variogram data by direction
a<-lapply(1:length(unique(b$dir.hor)),
function(i) subset(b, grepl(unique(b$dir.hor)[[i]], b$dir.hor)))
#get the model fit parameters for each directional variogram
a<-lapply(1:length(unique(b$dir.hor)),
function(i) fit.variogram(a[[i]], vgm(0.5,"Exp", 1200, 0.5)))
#generate model data for the directional variograms
a<-lapply(1:length(a), function(i)
variogramLine(a[[i]], maxdist=1500))
#plot
require(lattice)
plot(b, ylim=c(0,1.2), xlim=c(0,1500), cex=1.5,
panel = function(x, y, ...) {panel.xyplot(x, y, ...)
panel.abline(v=1000, lwd=1, lty=3, col=2)
panel.lines(a[[i]], lwd=2, lty=2, col=4)
})
プロットの最後の引数は、リストであるため機能しません(プロット表示のエラーを参照)。行のリストをlatticeでプロットする方法がわかりません。助けていただければ幸いです!