summary.smnet: Summarise a Stream Network Model

Description Usage Arguments Value Author(s) See Also Examples

View source: R/summary.smnet.R

Description

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

Usage

1
2
## S3 method for class '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

Author(s)

Alastair Rushworth

See Also

smnet, plot.smnet

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
  
# 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)

alastairrushworth/smnet documentation built on Nov. 13, 2020, 10:27 p.m.