Skip to contents

Two-compartment model with no recovery.

Usage

model_si(init, params, times, ...)

Arguments

init

Named numeric vector, e.g. c(S = 990, I = 10).

params

Named numeric vector, e.g. c(beta = 0.002).

beta

Transmission rate (contacts per individual per time).

N

Total population size. Optional — defaults to sum(init).

b

Birth rate (per capita per time). Optional.

d

Death rate (per capita per time). Optional.

times

Numeric vector of output times.

...

Additional arguments passed to ode_solver.

Value

A data.frame with columns time, S, I.

Details

Closed population (default): $$\frac{dS}{dt} = -\beta \frac{S I}{N}$$ $$\frac{dI}{dt} = \beta \frac{S I}{N}$$

Open population (when b / d are provided): $$\frac{dS}{dt} = b N - \beta \frac{S I}{N} - d S$$ $$\frac{dI}{dt} = \beta \frac{S I}{N} - d I$$

In the closed case population size \(N = S + I\) is conserved.

Examples

# Closed population
model_si(
  init   = c(S = 990, I = 10),
  params = c(beta = 0.002),
  times  = seq(0, 30, by = 0.1)
)
#>     time        S        I
#> 1    0.0 990.0000 10.00000
#> 2    0.1 989.9980 10.00198
#> 3    0.2 989.9960 10.00396
#> 4    0.3 989.9941 10.00594
#> 5    0.4 989.9921 10.00792
#> 6    0.5 989.9901 10.00990
#> 7    0.6 989.9881 10.01189
#> 8    0.7 989.9861 10.01387
#> 9    0.8 989.9841 10.01585
#> 10   0.9 989.9822 10.01784
#> 11   1.0 989.9802 10.01982
#> 12   1.1 989.9782 10.02180
#> 13   1.2 989.9762 10.02379
#> 14   1.3 989.9742 10.02577
#> 15   1.4 989.9722 10.02776
#> 16   1.5 989.9703 10.02974
#> 17   1.6 989.9683 10.03173
#> 18   1.7 989.9663 10.03372
#> 19   1.8 989.9643 10.03570
#> 20   1.9 989.9623 10.03769
#> 21   2.0 989.9603 10.03968
#> 22   2.1 989.9583 10.04167
#> 23   2.2 989.9563 10.04365
#> 24   2.3 989.9544 10.04564
#> 25   2.4 989.9524 10.04763
#> 26   2.5 989.9504 10.04962
#> 27   2.6 989.9484 10.05161
#> 28   2.7 989.9464 10.05360
#> 29   2.8 989.9444 10.05559
#> 30   2.9 989.9424 10.05758
#> 31   3.0 989.9404 10.05957
#> 32   3.1 989.9384 10.06157
#> 33   3.2 989.9364 10.06356
#> 34   3.3 989.9344 10.06555
#> 35   3.4 989.9325 10.06754
#> 36   3.5 989.9305 10.06954
#> 37   3.6 989.9285 10.07153
#> 38   3.7 989.9265 10.07353
#> 39   3.8 989.9245 10.07552
#> 40   3.9 989.9225 10.07752
#> 41   4.0 989.9205 10.07951
#> 42   4.1 989.9185 10.08151
#> 43   4.2 989.9165 10.08350
#> 44   4.3 989.9145 10.08550
#> 45   4.4 989.9125 10.08750
#> 46   4.5 989.9105 10.08949
#> 47   4.6 989.9085 10.09149
#> 48   4.7 989.9065 10.09349
#> 49   4.8 989.9045 10.09549
#> 50   4.9 989.9025 10.09749
#> 51   5.0 989.9005 10.09949
#> 52   5.1 989.8985 10.10149
#> 53   5.2 989.8965 10.10349
#> 54   5.3 989.8945 10.10549
#> 55   5.4 989.8925 10.10749
#> 56   5.5 989.8905 10.10949
#> 57   5.6 989.8885 10.11149
#> 58   5.7 989.8865 10.11349
#> 59   5.8 989.8845 10.11550
#> 60   5.9 989.8825 10.11750
#> 61   6.0 989.8805 10.11950
#> 62   6.1 989.8785 10.12150
#> 63   6.2 989.8765 10.12351
#> 64   6.3 989.8745 10.12551
#> 65   6.4 989.8725 10.12752
#> 66   6.5 989.8705 10.12952
#> 67   6.6 989.8685 10.13153
#> 68   6.7 989.8665 10.13353
#> 69   6.8 989.8645 10.13554
#> 70   6.9 989.8625 10.13755
#> 71   7.0 989.8604 10.13956
#> 72   7.1 989.8584 10.14156
#> 73   7.2 989.8564 10.14357
#> 74   7.3 989.8544 10.14558
#> 75   7.4 989.8524 10.14759
#> 76   7.5 989.8504 10.14960
#> 77   7.6 989.8484 10.15161
#> 78   7.7 989.8464 10.15362
#> 79   7.8 989.8444 10.15563
#> 80   7.9 989.8424 10.15764
#> 81   8.0 989.8404 10.15965
#> 82   8.1 989.8383 10.16166
#> 83   8.2 989.8363 10.16367
#> 84   8.3 989.8343 10.16568
#> 85   8.4 989.8323 10.16770
#> 86   8.5 989.8303 10.16971
#> 87   8.6 989.8283 10.17172
#> 88   8.7 989.8263 10.17374
#> 89   8.8 989.8242 10.17575
#> 90   8.9 989.8222 10.17777
#> 91   9.0 989.8202 10.17978
#> 92   9.1 989.8182 10.18180
#> 93   9.2 989.8162 10.18381
#> 94   9.3 989.8142 10.18583
#> 95   9.4 989.8122 10.18784
#> 96   9.5 989.8101 10.18986
#> 97   9.6 989.8081 10.19188
#> 98   9.7 989.8061 10.19390
#> 99   9.8 989.8041 10.19592
#> 100  9.9 989.8021 10.19793
#> 101 10.0 989.8000 10.19995
#> 102 10.1 989.7980 10.20197
#> 103 10.2 989.7960 10.20399
#> 104 10.3 989.7940 10.20601
#> 105 10.4 989.7920 10.20803
#> 106 10.5 989.7899 10.21005
#> 107 10.6 989.7879 10.21208
#> 108 10.7 989.7859 10.21410
#> 109 10.8 989.7839 10.21612
#> 110 10.9 989.7819 10.21814
#> 111 11.0 989.7798 10.22016
#> 112 11.1 989.7778 10.22219
#> 113 11.2 989.7758 10.22421
#> 114 11.3 989.7738 10.22624
#> 115 11.4 989.7717 10.22826
#> 116 11.5 989.7697 10.23029
#> 117 11.6 989.7677 10.23231
#> 118 11.7 989.7657 10.23434
#> 119 11.8 989.7636 10.23636
#> 120 11.9 989.7616 10.23839
#> 121 12.0 989.7596 10.24042
#> 122 12.1 989.7576 10.24244
#> 123 12.2 989.7555 10.24447
#> 124 12.3 989.7535 10.24650
#> 125 12.4 989.7515 10.24853
#> 126 12.5 989.7494 10.25056
#> 127 12.6 989.7474 10.25259
#> 128 12.7 989.7454 10.25462
#> 129 12.8 989.7434 10.25665
#> 130 12.9 989.7413 10.25868
#> 131 13.0 989.7393 10.26071
#> 132 13.1 989.7373 10.26274
#> 133 13.2 989.7352 10.26477
#> 134 13.3 989.7332 10.26680
#> 135 13.4 989.7312 10.26883
#> 136 13.5 989.7291 10.27087
#> 137 13.6 989.7271 10.27290
#> 138 13.7 989.7251 10.27493
#> 139 13.8 989.7230 10.27697
#> 140 13.9 989.7210 10.27900
#> 141 14.0 989.7190 10.28104
#> 142 14.1 989.7169 10.28307
#> 143 14.2 989.7149 10.28511
#> 144 14.3 989.7129 10.28714
#> 145 14.4 989.7108 10.28918
#> 146 14.5 989.7088 10.29122
#> 147 14.6 989.7067 10.29326
#> 148 14.7 989.7047 10.29529
#> 149 14.8 989.7027 10.29733
#> 150 14.9 989.7006 10.29937
#> 151 15.0 989.6986 10.30141
#> 152 15.1 989.6966 10.30345
#> 153 15.2 989.6945 10.30549
#> 154 15.3 989.6925 10.30753
#> 155 15.4 989.6904 10.30957
#> 156 15.5 989.6884 10.31161
#> 157 15.6 989.6864 10.31365
#> 158 15.7 989.6843 10.31569
#> 159 15.8 989.6823 10.31773
#> 160 15.9 989.6802 10.31978
#> 161 16.0 989.6782 10.32182
#> 162 16.1 989.6761 10.32386
#> 163 16.2 989.6741 10.32591
#> 164 16.3 989.6721 10.32795
#> 165 16.4 989.6700 10.32999
#> 166 16.5 989.6680 10.33204
#> 167 16.6 989.6659 10.33408
#> 168 16.7 989.6639 10.33613
#> 169 16.8 989.6618 10.33818
#> 170 16.9 989.6598 10.34022
#> 171 17.0 989.6577 10.34227
#> 172 17.1 989.6557 10.34432
#> 173 17.2 989.6536 10.34636
#> 174 17.3 989.6516 10.34841
#> 175 17.4 989.6495 10.35046
#> 176 17.5 989.6475 10.35251
#> 177 17.6 989.6454 10.35456
#> 178 17.7 989.6434 10.35661
#> 179 17.8 989.6413 10.35866
#> 180 17.9 989.6393 10.36071
#> 181 18.0 989.6372 10.36276
#> 182 18.1 989.6352 10.36481
#> 183 18.2 989.6331 10.36686
#> 184 18.3 989.6311 10.36891
#> 185 18.4 989.6290 10.37097
#> 186 18.5 989.6270 10.37302
#> 187 18.6 989.6249 10.37507
#> 188 18.7 989.6229 10.37713
#> 189 18.8 989.6208 10.37918
#> 190 18.9 989.6188 10.38124
#> 191 19.0 989.6167 10.38329
#> 192 19.1 989.6147 10.38535
#> 193 19.2 989.6126 10.38740
#> 194 19.3 989.6105 10.38946
#> 195 19.4 989.6085 10.39151
#> 196 19.5 989.6064 10.39357
#> 197 19.6 989.6044 10.39563
#> 198 19.7 989.6023 10.39769
#> 199 19.8 989.6003 10.39974
#> 200 19.9 989.5982 10.40180
#> 201 20.0 989.5961 10.40386
#> 202 20.1 989.5941 10.40592
#> 203 20.2 989.5920 10.40798
#> 204 20.3 989.5900 10.41004
#> 205 20.4 989.5879 10.41210
#> 206 20.5 989.5858 10.41416
#> 207 20.6 989.5838 10.41622
#> 208 20.7 989.5817 10.41829
#> 209 20.8 989.5797 10.42035
#> 210 20.9 989.5776 10.42241
#> 211 21.0 989.5755 10.42447
#> 212 21.1 989.5735 10.42654
#> 213 21.2 989.5714 10.42860
#> 214 21.3 989.5693 10.43066
#> 215 21.4 989.5673 10.43273
#> 216 21.5 989.5652 10.43479
#> 217 21.6 989.5631 10.43686
#> 218 21.7 989.5611 10.43893
#> 219 21.8 989.5590 10.44099
#> 220 21.9 989.5569 10.44306
#> 221 22.0 989.5549 10.44513
#> 222 22.1 989.5528 10.44719
#> 223 22.2 989.5507 10.44926
#> 224 22.3 989.5487 10.45133
#> 225 22.4 989.5466 10.45340
#> 226 22.5 989.5445 10.45547
#> 227 22.6 989.5425 10.45754
#> 228 22.7 989.5404 10.45961
#> 229 22.8 989.5383 10.46168
#> 230 22.9 989.5363 10.46375
#> 231 23.0 989.5342 10.46582
#> 232 23.1 989.5321 10.46789
#> 233 23.2 989.5300 10.46996
#> 234 23.3 989.5280 10.47203
#> 235 23.4 989.5259 10.47411
#> 236 23.5 989.5238 10.47618
#> 237 23.6 989.5217 10.47825
#> 238 23.7 989.5197 10.48033
#> 239 23.8 989.5176 10.48240
#> 240 23.9 989.5155 10.48448
#> 241 24.0 989.5134 10.48655
#> 242 24.1 989.5114 10.48863
#> 243 24.2 989.5093 10.49070
#> 244 24.3 989.5072 10.49278
#> 245 24.4 989.5051 10.49485
#> 246 24.5 989.5031 10.49693
#> 247 24.6 989.5010 10.49901
#> 248 24.7 989.4989 10.50109
#> 249 24.8 989.4968 10.50317
#> 250 24.9 989.4948 10.50524
#> 251 25.0 989.4927 10.50732
#> 252 25.1 989.4906 10.50940
#> 253 25.2 989.4885 10.51148
#> 254 25.3 989.4864 10.51356
#> 255 25.4 989.4844 10.51564
#> 256 25.5 989.4823 10.51773
#> 257 25.6 989.4802 10.51981
#> 258 25.7 989.4781 10.52189
#> 259 25.8 989.4760 10.52397
#> 260 25.9 989.4739 10.52605
#> 261 26.0 989.4719 10.52814
#> 262 26.1 989.4698 10.53022
#> 263 26.2 989.4677 10.53231
#> 264 26.3 989.4656 10.53439
#> 265 26.4 989.4635 10.53648
#> 266 26.5 989.4614 10.53856
#> 267 26.6 989.4594 10.54065
#> 268 26.7 989.4573 10.54273
#> 269 26.8 989.4552 10.54482
#> 270 26.9 989.4531 10.54691
#> 271 27.0 989.4510 10.54899
#> 272 27.1 989.4489 10.55108
#> 273 27.2 989.4468 10.55317
#> 274 27.3 989.4447 10.55526
#> 275 27.4 989.4427 10.55735
#> 276 27.5 989.4406 10.55944
#> 277 27.6 989.4385 10.56153
#> 278 27.7 989.4364 10.56362
#> 279 27.8 989.4343 10.56571
#> 280 27.9 989.4322 10.56780
#> 281 28.0 989.4301 10.56989
#> 282 28.1 989.4280 10.57198
#> 283 28.2 989.4259 10.57407
#> 284 28.3 989.4238 10.57617
#> 285 28.4 989.4217 10.57826
#> 286 28.5 989.4196 10.58035
#> 287 28.6 989.4176 10.58245
#> 288 28.7 989.4155 10.58454
#> 289 28.8 989.4134 10.58664
#> 290 28.9 989.4113 10.58873
#> 291 29.0 989.4092 10.59083
#> 292 29.1 989.4071 10.59292
#> 293 29.2 989.4050 10.59502
#> 294 29.3 989.4029 10.59711
#> 295 29.4 989.4008 10.59921
#> 296 29.5 989.3987 10.60131
#> 297 29.6 989.3966 10.60341
#> 298 29.7 989.3945 10.60551
#> 299 29.8 989.3924 10.60760
#> 300 29.9 989.3903 10.60970
#> 301 30.0 989.3882 10.61180

# Open population with births and deaths
model_si(
  init   = c(S = 990, I = 10),
  params = c(beta = 0.002, b = 0.01, d = 0.01),
  times  = seq(0, 200, by = 1)
)
#>     time        S         I
#> 1      0 990.0000 10.000000
#> 2      1 990.0799  9.920121
#> 3      2 990.1591  9.840882
#> 4      3 990.2377  9.762277
#> 5      4 990.3157  9.684302
#> 6      5 990.3930  9.606952
#> 7      6 990.4698  9.530220
#> 8      7 990.5459  9.454103
#> 9      8 990.6214  9.378595
#> 10     9 990.6963  9.303692
#> 11    10 990.7706  9.229388
#> 12    11 990.8443  9.155680
#> 13    12 990.9174  9.082561
#> 14    13 990.9900  9.010027
#> 15    14 991.0619  8.938074
#> 16    15 991.1333  8.866697
#> 17    16 991.2041  8.795891
#> 18    17 991.2743  8.725652
#> 19    18 991.3440  8.655974
#> 20    19 991.4131  8.586855
#> 21    20 991.4817  8.518288
#> 22    21 991.5497  8.450270
#> 23    22 991.6172  8.382797
#> 24    23 991.6841  8.315863
#> 25    24 991.7505  8.249465
#> 26    25 991.8164  8.183598
#> 27    26 991.8817  8.118258
#> 28    27 991.9466  8.053441
#> 29    28 992.0109  7.989142
#> 30    29 992.0746  7.925358
#> 31    30 992.1379  7.862084
#> 32    31 992.2007  7.799316
#> 33    32 992.2629  7.737050
#> 34    33 992.3247  7.675282
#> 35    34 992.3860  7.614009
#> 36    35 992.4468  7.553225
#> 37    36 992.5071  7.492928
#> 38    37 992.5669  7.433112
#> 39    38 992.6262  7.373775
#> 40    39 992.6851  7.314913
#> 41    40 992.7435  7.256522
#> 42    41 992.8014  7.198597
#> 43    42 992.8589  7.141136
#> 44    43 992.9159  7.084134
#> 45    44 992.9724  7.027587
#> 46    45 993.0285  6.971493
#> 47    46 993.0842  6.915848
#> 48    47 993.1394  6.860647
#> 49    48 993.1941  6.805888
#> 50    49 993.2484  6.751567
#> 51    50 993.3023  6.697680
#> 52    51 993.3558  6.644223
#> 53    52 993.4088  6.591194
#> 54    53 993.4614  6.538589
#> 55    54 993.5136  6.486405
#> 56    55 993.5654  6.434637
#> 57    56 993.6167  6.383284
#> 58    57 993.6677  6.332341
#> 59    58 993.7182  6.281805
#> 60    59 993.7683  6.231673
#> 61    60 993.8181  6.181942
#> 62    61 993.8674  6.132608
#> 63    62 993.9163  6.083668
#> 64    63 993.9649  6.035120
#> 65    64 994.0130  5.986960
#> 66    65 994.0608  5.939184
#> 67    66 994.1082  5.891791
#> 68    67 994.1552  5.844776
#> 69    68 994.2019  5.798137
#> 70    69 994.2481  5.751870
#> 71    70 994.2940  5.705973
#> 72    71 994.3396  5.660443
#> 73    72 994.3847  5.615277
#> 74    73 994.4295  5.570472
#> 75    74 994.4740  5.526024
#> 76    75 994.5181  5.481932
#> 77    76 994.5618  5.438192
#> 78    77 994.6052  5.394802
#> 79    78 994.6482  5.351758
#> 80    79 994.6909  5.309058
#> 81    80 994.7333  5.266700
#> 82    81 994.7753  5.224679
#> 83    82 994.8170  5.182995
#> 84    83 994.8584  5.141643
#> 85    84 994.8994  5.100622
#> 86    85 994.9401  5.059928
#> 87    86 994.9804  5.019560
#> 88    87 995.0205  4.979514
#> 89    88 995.0602  4.939787
#> 90    89 995.0996  4.900379
#> 91    90 995.1387  4.861284
#> 92    91 995.1775  4.822503
#> 93    92 995.2160  4.784031
#> 94    93 995.2541  4.745866
#> 95    94 995.2920  4.708006
#> 96    95 995.3296  4.670448
#> 97    96 995.3668  4.633191
#> 98    97 995.4038  4.596230
#> 99    98 995.4404  4.559566
#> 100   99 995.4768  4.523193
#> 101  100 995.5129  4.487112
#> 102  101 995.5487  4.451318
#> 103  102 995.5842  4.415811
#> 104  103 995.6194  4.380587
#> 105  104 995.6544  4.345644
#> 106  105 995.6890  4.310980
#> 107  106 995.7234  4.276593
#> 108  107 995.7575  4.242481
#> 109  108 995.7914  4.208641
#> 110  109 995.8249  4.175071
#> 111  110 995.8582  4.141769
#> 112  111 995.8913  4.108733
#> 113  112 995.9240  4.075961
#> 114  113 995.9565  4.043451
#> 115  114 995.9888  4.011200
#> 116  115 996.0208  3.979206
#> 117  116 996.0525  3.947468
#> 118  117 996.0840  3.915984
#> 119  118 996.1152  3.884751
#> 120  119 996.1462  3.853767
#> 121  120 996.1770  3.823030
#> 122  121 996.2075  3.792539
#> 123  122 996.2377  3.762292
#> 124  123 996.2677  3.732285
#> 125  124 996.2975  3.702519
#> 126  125 996.3270  3.672990
#> 127  126 996.3563  3.643696
#> 128  127 996.3854  3.614637
#> 129  128 996.4142  3.585809
#> 130  129 996.4428  3.557212
#> 131  130 996.4712  3.528843
#> 132  131 996.4993  3.500700
#> 133  132 996.5272  3.472782
#> 134  133 996.5549  3.445086
#> 135  134 996.5824  3.417612
#> 136  135 996.6096  3.390357
#> 137  136 996.6367  3.363320
#> 138  137 996.6635  3.336498
#> 139  138 996.6901  3.309891
#> 140  139 996.7165  3.283496
#> 141  140 996.7427  3.257311
#> 142  141 996.7687  3.231336
#> 143  142 996.7944  3.205568
#> 144  143 996.8200  3.180005
#> 145  144 996.8454  3.154647
#> 146  145 996.8705  3.129490
#> 147  146 996.8955  3.104535
#> 148  147 996.9202  3.079779
#> 149  148 996.9448  3.055220
#> 150  149 996.9691  3.030857
#> 151  150 996.9933  3.006689
#> 152  151 997.0173  2.982714
#> 153  152 997.0411  2.958930
#> 154  153 997.0647  2.935335
#> 155  154 997.0881  2.911929
#> 156  155 997.1113  2.888710
#> 157  156 997.1343  2.865676
#> 158  157 997.1572  2.842826
#> 159  158 997.1798  2.820158
#> 160  159 997.2023  2.797671
#> 161  160 997.2246  2.775363
#> 162  161 997.2468  2.753234
#> 163  162 997.2687  2.731281
#> 164  163 997.2905  2.709503
#> 165  164 997.3121  2.687899
#> 166  165 997.3335  2.666467
#> 167  166 997.3548  2.645207
#> 168  167 997.3759  2.624116
#> 169  168 997.3968  2.603193
#> 170  169 997.4176  2.582437
#> 171  170 997.4382  2.561847
#> 172  171 997.4586  2.541421
#> 173  172 997.4788  2.521158
#> 174  173 997.4989  2.501056
#> 175  174 997.5189  2.481115
#> 176  175 997.5387  2.461333
#> 177  176 997.5583  2.441709
#> 178  177 997.5778  2.422242
#> 179  178 997.5971  2.402930
#> 180  179 997.6162  2.383771
#> 181  180 997.6352  2.364766
#> 182  181 997.6541  2.345912
#> 183  182 997.6728  2.327209
#> 184  183 997.6913  2.308655
#> 185  184 997.7098  2.290249
#> 186  185 997.7280  2.271990
#> 187  186 997.7461  2.253876
#> 188  187 997.7641  2.235907
#> 189  188 997.7819  2.218081
#> 190  189 997.7996  2.200398
#> 191  190 997.8171  2.182855
#> 192  191 997.8345  2.165452
#> 193  192 997.8518  2.148189
#> 194  193 997.8689  2.131063
#> 195  194 997.8859  2.114073
#> 196  195 997.9028  2.097219
#> 197  196 997.9195  2.080500
#> 198  197 997.9361  2.063914
#> 199  198 997.9525  2.047460
#> 200  199 997.9689  2.031137
#> 201  200 997.9851  2.014945