Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ---- echo=FALSE, fig.cap="Figure 1. SIR", out.width = '80%'------------------
filepath <- system.file("models/", "SIR_diagram.png", package = "readsdr")
knitr::include_graphics(filepath)
## -----------------------------------------------------------------------------
library(readsdr)
filepath <- system.file("models/", "SIR.stmx", package = "readsdr")
mdl <- read_xmile(filepath)
## -----------------------------------------------------------------------------
description <- mdl$description
model_summary <- data.frame(n_stocks = length(description$levels),
n_variables = length(description$variables),
n_consts = length(description$constants))
print(model_summary)
## -----------------------------------------------------------------------------
deSolve_components <- mdl$deSolve_components
all.equal(deSolve_components, xmile_to_deSolve(filepath))
library(deSolve)
simtime <- seq(deSolve_components$sim_params$start,
deSolve_components$sim_params$stop,
deSolve_components$sim_params$dt)
output_deSolve <- ode(y = deSolve_components$stocks,
times = simtime,
func = deSolve_components$func,
parms = deSolve_components$consts,
method = "euler")
result_df <- data.frame(output_deSolve)
head(result_df)
result_df2 <- sd_simulate(deSolve_components)
identical(result_df, result_df2)
## ---- message = FALSE, warning = FALSE, fig.align='center', fig.width = 6-----
library(dplyr)
library(tidyr)
library(ggplot2)
tidy_result_df <- result_df %>%
select(time, Susceptible, Infected, Recovered) %>%
pivot_longer(-time, names_to = "Variable")
ggplot(tidy_result_df, aes(x = time, y = value)) +
geom_line(aes(group = Variable, colour = Variable)) +
theme_classic() +
theme(legend.position = "bottom")
## ---- fig.align='center', fig.height=7, fig.width=7, message=FALSE, warning=FALSE----
library(igraph)
gr <- graph_from_data_frame(mdl$graph_dfs$edges, directed = TRUE,
vertices = mdl$graph_dfs$nodes)
V(gr)$shape <- ifelse(V(gr)$type == "stock", "rectangle", "circle")
plot.igraph(gr, edge.arrow.size = 0.25,
vertex.label.cex = 1, layout = layout.lgl(gr))
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.