data(swissRain)
swissRain$lograin = log(swissRain$rain)
swissRain$elevation = extract(swissAltitude, swissRain)
swissFit = likfitLgm(data=swissRain,
trend=lograin~ elevation,
param=c(range=46500, nugget=0.05,shape=1,
anisoAngleDegrees=35, anisoRatio=12),
paramToEstimate = c("range","nugget",
"anisoAngleDegrees", "anisoRatio"),
parscale = c(range=5000,nugget=0.01,
anisoRatio=1,anisoAngleDegrees=5)
)
myTrend = swissFit$formula
myParams = swissFit$param
dput(myParams)
# will give the following
myParams=structure(c(4.49732366951939, 0.000216147764497527, 46575.4897705083,
0.0918626121620231, 37.3640527963592, 11.9247798102433, 1, 0.686396444665454
), .Names = c("(Intercept)", "elevation", "range", "nugget",
"anisoAngleDegrees", "anisoRatio", "shape", "variance"))
myTrend =lograin~ elevation
# make sure krige can cope with missing values!
swissAltitude[1:50,1:50] = NA
swissKrige = krigeLgm(data=swissRain, formula = myTrend,
covariates = swissAltitude,
param=myParams,
newdata = 40, expPred=TRUE)
plot(swissKrige[["predict"]], main="predicted rain")
plot(swissBorder, add=TRUE)
# now with box cox and provide a raster for prediction, no covariates
swissFit2 = likfitLgm(data=swissRain,
trend=rain~1,
param=c(range=52000, nugget=0.1,shape=1, boxcox=0.5,
anisoAngleDegrees=35, anisoRatio=8),
paramToEstimate = c("range","nugget",
"anisoAngleDegrees", "anisoRatio"),
parscale = c(range=5000,nugget=0.01,
anisoRatio=1,anisoAngleDegrees=5)
)
myTrend2 = swissFit2$trend
myParams2 = swissFit2$param
dput(myParams2)
myParams2=structure(c(20.7805835664033, 51161.049007108, 8.64565931800056,
37.0906650998427, 7.34077366178755, 1, 0.5, 79.3696192640485), .Names = c("(Intercept)",
"range", "nugget", "anisoAngleDegrees", "anisoRatio", "shape",
"boxcox", "variance"))
myTrend2=rain~1
swissRaster = raster(extent(swissBorder), nrows=25, ncols=40)
swissKrige2 = krigeLgm(data=swissRain, formula = myTrend2,
param=myParams2,
newdata = swissRaster)
plot(swissKrige2[["predict"]], main="predicted rain with box-cox")
plot(swissBorder, add=TRUE)
Run the code above in your browser using DataLab