Learn R Programming

smnet (version 2.1.2)

summary.smnet: Summarise a Stream Network Model

Description

Generate summaries of linear and smooth components of an smnet object.

Usage

# S3 method for smnet
summary(object, verbose = TRUE, ...)

Arguments

object

An object of class smnet.

verbose

Logical. Whether to print summaries to the console.

...

other arguments passed to summary.

Value

List object with components

  • 1linear.terms: the linear components of the fitted model

  • 2smooth.terms: the values of the smoothing parameters on the log scale, and the partial degrees of freedom associated with each smooth component. Note: Network components always have two smoothing parameters, where the second is a (usually small) ridge parameter.

See Also

smnet, plot.smnet

Examples

Run this code
# NOT RUN {
  
# As an example, create a simulated SSN object
# Save the object to a temporary location
set.seed(12)
ssn_path <- paste(tempdir(), "/example_network", sep = "")

# If example network doesn't already exist, then attempt to create it
# Otherwise, read from the temporary directory
example_network <- try(importSSN(ssn_path, o.write = TRUE), silent = TRUE)
if('try-error' %in% class(example_network)){
example_network <- createSSN(
      n            = 50,
      obsDesign    = binomialDesign(200), 
      predDesign   = binomialDesign(50),
      importToR    = TRUE, 
      path         = ssn_path,
      treeFunction = iterativeTreeLayout
  )
}

## create distance matrices, including between predicted and observed
createDistMat(example_network, "preds", o.write=TRUE, amongpred = TRUE)

## extract the observed and predicted data frames
observed_data            <- getSSNdata.frame(example_network, "Obs")
prediction_data          <- getSSNdata.frame(example_network, "preds")

## associate continuous covariates with the observation locations
#  data generated from a normal distribution
obs                      <- rnorm(200)
observed_data[,"X"]      <- obs
observed_data[,"X2"]     <- obs^2

## associate continuous covariates with the prediction locations
#  data generated from a normal distribution
pred                     <- rnorm(50) 
prediction_data[,"X"]    <- pred
prediction_data[,"X2"]   <- pred^2

## simulate some Gaussian data that follows a 'tail-up' spatial process
sims <- SimulateOnSSN(
  ssn.object      = example_network, 
  ObsSimDF        = observed_data, 
  PredSimDF       = prediction_data,  
  PredID          = "preds",  
  formula         = ~ 1 + X,
  coefficients    = c(1, 10),
  CorModels       = c("Exponential.tailup"), 
  use.nugget      = TRUE,
  CorParms        = c(10, 5, 0.1),
  addfunccol      = "addfunccol")$ssn.object


## extract the observed and predicted data frames, now with simulated values
sim1DFpred         <- getSSNdata.frame(sims, "preds")
sim1preds          <- sim1DFpred[,"Sim_Values"]
sim1DFpred[,"Sim_Values"] <- NA
sims               <- putSSNdata.frame(sim1DFpred, sims, "preds")

# create the adjacency matrix for use with smnet
adjacency    <- get_adjacency(
  ssn_path, 
  net = 1
)

# not run - plot the adjacency matrix
# display(adjacency[[1]])

# sometimes it is useful to see which variables are valid network weights 
# in the data contained within the SSN object
show_weights(sims, adjacency)

# fit a penalised spatial model to the stream network data
# Sim_Values are quadratic in the X covariate.  To highlight 
# the fitting of smooth terms, this is treated as non-linear 
# and unknown using m().
mod_smn       <- smnet(formula = Sim_Values ~ m(X) + m(X2) + 
                       network(adjacency = adjacency, weight = "shreve"), 
                       data.object = sims, netID = 1)

# not run - plot different summaries of the model
plot(mod_smn, type = "network-covariates")
plot(mod_smn, type = "network-segments", weight = 4, shadow = 2)
plot(mod_smn, type = "network-full", weight = 4, shadow = 2)

# obtain predictions at the prediction locations and plot 
# against true values
preds <- predict(mod_smn, newdata = getSSNdata.frame(sims, "preds"))
plot(preds$predictions, sim1preds)

# obtain summary of the fitted model
summary(mod_smn)

#' # delete the simulated data
unlink(ssn_path, recursive = TRUE)
# }

Run the code above in your browser using DataLab