{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### R using odin" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Author*: Simon Frost\n", "\n", "*Date*: 2018-07-12" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "library(odin)\n", "library(reshape2)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Compiling shared library\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "gcc -I/usr/local/lib/R/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c sir.c -o sir.o\n", "g++ -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o sir_d68bb0b5.so sir.o -L/usr/local/lib/R/lib -lR\n" ] } ], "source": [ "sir_ode <- odin::odin({\n", " ## Derivatives\n", " deriv(S) <- -b*S*I\n", " deriv(I) <- b*S*I-g*I\n", " deriv(R) <- g*I\n", "\n", " ## Initial conditions\n", " initial(S) <- 0.99\n", " initial(I) <- 0.01\n", " initial(R) <- 0.00\n", "\n", " ## parameters\n", " b <- 0.1\n", " g <- 0.05\n", " config(base) <- \"sir\"\n", "}, \".\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sir_mod <- sir_ode()\n", "times <- seq(0,200,length.out=2001)\n", "sir_out <- sir_mod$run(times)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "sir_out_long <- melt(as.data.frame(sir_out),\"t\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Visualisation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "library(ggplot2)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nKQoh/w8mgNBqPWGwGwAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(sir_out_long,aes(x=t,y=value,colour=variable,group=variable))+\n", " # Add line\n", " geom_line(lwd=2)+\n", " #Add labels\n", " xlab(\"Time\")+ylab(\"Number\")" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.4.4" } }, "nbformat": 4, "nbformat_minor": 2 }