Nothing
## ----setup, message=FALSE-----------------------------------------------------------------------------
library(goldfish)
## ----load-data----------------------------------------------------------------------------------------
data("Fisheries_Treaties_6070")
# ?Fisheries_Treaties_6070
## ----examine-states-----------------------------------------------------------------------------------
tail(states)
class(states)
## ----defineNodes--------------------------------------------------------------------------------------
states <- defineNodes(states)
head(states)
class(states)
## ----examine-node-changes-----------------------------------------------------------------------------
head(sovchanges)
head(regchanges)
head(gdpchanges)
## ----present------------------------------------------------------------------------------------------
head(states$present) # or states[,2]
## ----link-present-------------------------------------------------------------------------------------
states <- linkEvents(states, sovchanges, attribute = "present")
# If you call the object now, what happens?
states
## ----states-------------------------------------------------------------------------------------------
str(states)
## ----link-states-vars---------------------------------------------------------------------------------
states <- linkEvents(states, regchanges, attribute = "regime") |>
linkEvents(gdpchanges, attribute = "gdp")
str(states)
## ----examine-bilat-mat--------------------------------------------------------------------------------
bilatnet[1:12, 1:12] # head(bilatnet, n = c(12, 12))
## ----define-bilat-net---------------------------------------------------------------------------------
bilatnet <- defineNetwork(bilatnet, nodes = states, directed = FALSE)
## ----examine-bilat-net--------------------------------------------------------------------------------
class(bilatnet)
str(bilatnet)
bilatnet
## ----link-bilat-net-----------------------------------------------------------------------------------
bilatnet <- linkEvents(bilatnet, bilatchanges, nodes = states)
bilatnet
## ----contig-net---------------------------------------------------------------------------------------
contignet <- defineNetwork(contignet, nodes = states, directed = FALSE) |>
linkEvents(contigchanges, nodes = states)
class(contignet)
contignet
## ----define-dep-events--------------------------------------------------------------------------------
createBilat <- defineDependentEvents(
events = bilatchanges[bilatchanges$increment == 1,],
nodes = states,
defaultNetwork = bilatnet
)
## ----examine-dep-events-------------------------------------------------------------------------------
class(createBilat)
createBilat
## ----hlp, eval = FALSE--------------------------------------------------------------------------------
# ?as.data.frame.nodes.goldfish
# ?as.matrix.network.goldfish
## ----plot-teaching2, message=FALSE, warning=FALSE, fig.align='center'---------------------------------
library(igraph)
library(manynet)
# network at the beginning of the event sequence
startStates <- as.data.frame(
states,
time = as.numeric(as.POSIXct("1960-01-02"))
)
startNet <- as.matrix(bilatnet, time = as.numeric(as.POSIXct("1960-01-02"))) |>
as_igraph() |>
add_node_attribute("present", startStates$present) |>
add_node_attribute("regime", startStates$regime) |>
add_node_attribute("gdp", startStates$gdp)
# network at the end of the event sequence
endStates <- as.data.frame(states, time = as.numeric(as.POSIXct("1970-01-01")))
endNet <- as.matrix(bilatnet, time = as.numeric(as.POSIXct("1970-01-01"))) |>
as_igraph() |>
add_node_attribute("present", endStates$present) |>
add_node_attribute("regime", endStates$regime) |>
add_node_attribute("gdp", endStates$gdp)
# logical value indicating if states where present and with agreements
isStateActiveStart <- startStates$present & node_deg(startNet) > 0
isStateActiveEnd <- endStates$present & node_deg(endNet) > 0
isStateActive <- isStateActiveStart | isStateActiveEnd
# subset networks to active states
startNet <- delete_nodes(startNet, !isStateActive)
endNet <- delete_nodes(endNet, !isStateActive)
graphs(list(startNet, endNet), layout = "fr")
## ----hlp-effects, eval=FALSE--------------------------------------------------------------------------
# vignette("goldfishEffects")
## ----estimate-init------------------------------------------------------------------------------------
formula1 <-
createBilat ~ inertia(bilatnet) + indeg(bilatnet, ignoreRep = TRUE) +
trans(bilatnet, ignoreRep = TRUE) +
tie(contignet) +
alter(states$regime) + diff(states$regime) +
alter(states$gdp) + diff(states$gdp)
estPrefs <- list(
returnIntervalLogL = TRUE,
initialDamping = 40,
maxIterations = 30
)
system.time(
partnerModel <- estimate(
formula1,
model = "DyNAM", subModel = "choice_coordination",
estimationInit = estPrefs
)
)
## ----estimate-rerun-----------------------------------------------------------------------------------
estPrefs <- list(
returnIntervalLogL = TRUE,
initialDamping = 40,
maxIterations = 30,
initialParameters = coef(partnerModel)
)
partnerModel <- estimate(
formula1,
model = "DyNAM", subModel = "choice_coordination",
estimationInit = estPrefs
)
summary(partnerModel)
## ----estimate-c---------------------------------------------------------------------------------------
formula2 <-
createBilat ~ inertia(bilatnet, weighted = TRUE) +
indeg(bilatnet) + trans(bilatnet) +
tie(contignet) + alter(states$regime) +
diff(states$regime) + alter(states$gdp) + diff(states$gdp)
estPrefs <- list(
returnIntervalLogL = TRUE,
initialDamping = 40,
maxIterations = 30,
engine = "default_c"
)
system.time(
tieModel <- estimate(
formula2,
model = "DyNAM", subModel = "choice_coordination",
estimationInit = estPrefs
)
)
## ----broom, message=FALSE-----------------------------------------------------------------------------
library(broom)
library(pixiedust)
dust(tidy(tieModel, conf.int = TRUE)) |>
sprinkle(col = c(2:4, 6, 7), round = 3) |>
sprinkle(col = 5, fn = quote(pvalString(value)))
## ----glance-------------------------------------------------------------------------------------------
glance(tieModel)
## ----plot-examine, fig.width=6, fig.height=4, fig.align='center', fig.retina=3------------------------
examineOutliers(tieModel)
examineChangepoints(tieModel)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.