Skip to contents

Simulates new data from a given cord object

Usage

# S3 method for cord
simulate(object, nsim = 1, seed = NULL, newdata = object$obj$data, ...)

Arguments

object

is a cord object, e.g. from output of cord

nsim

Number of simulations, defaults to 1. If nsim > 1, the simulated data will be appended.

seed

Random number seed, defaults to a random seed number.

newdata

A data frame in which to look for X covariates with which to simulate.

...

not used Defaults to the X covariates in the fitted model.

Examples

abund = spider$abund

spider_mod_ssdm = stackedsdm(abund,~1, data = spider$x, ncores=2)
spid_lv_ssdm = cord(spider_mod_ssdm)
simulate(spid_lv_ssdm, nsim=2)
#>       Alopacce Alopcune Alopfabr Arctlute Arctperi Auloalbi Pardlugu Pardmont
#>  [1,]        0        0        0        0        0        0        2        0
#>  [2,]        0        3        0        0        0        0        0        7
#>  [3,]        0       17        0        1        0       12        9       17
#>  [4,]       12        0        6        0        5        0        0        4
#>  [5,]        0        9        0        2        0        1        3        2
#>  [6,]        1       57        0        2        0       65        0       51
#>  [7,]        3        7        0        1        0        2        2        5
#>  [8,]        0       20        0        0        0       25        3       15
#>  [9,]        0       11        0        0        0        0       31        0
#> [10,]        0        0        0        0        0        5        6        1
#> [11,]        0        7        1        1        0       17        0       24
#> [12,]       10        1        0        0        0        1        0       69
#> [13,]        0       24        0        3        0       18        5        3
#> [14,]        0        0        0        0        0        0       22        0
#> [15,]        0        1        0        0        0        0       33        1
#> [16,]        2        1        1        0        0        0        1        7
#> [17,]        1       10        0       10        0       48       38        0
#> [18,]        0        1        0        0        0        1       11        1
#> [19,]        1        1        2        0        0        4        1        1
#> [20,]        6        5        0        1        0       17        0       19
#> [21,]        2        4        0        3        0       72        2       24
#> [22,]        0        0        0        0        0        0        9        0
#> [23,]        0        0        0        0        0        0        3        0
#> [24,]        0        7        0        1        0        0        0       25
#> [25,]        0       15        0        0        0        0        4        0
#> [26,]       12        0        4        0        8        0        1        0
#> [27,]        0        2        0        6        0        5        2        3
#> [28,]        0        9        0        0        0        0        5        0
#> [29,]        0        0        0        0        0        0       25        1
#> [30,]        1        8        0        0        5        0        0        4
#> [31,]       14       12       17        9        1       15        0        8
#> [32,]        0        4        3        0        0        0        2        0
#> [33,]        6        2        3        0        0        2        0       83
#> [34,]        9        4        0        1        0        5        0       15
#> [35,]        0        3        0        2        0        0       38        1
#> [36,]        0       20        0        3        0       51        3       15
#> [37,]        3        1        0        0        0        1        0        4
#> [38,]       16        0        0        0        0        0        0       54
#> [39,]        0        6        0        0        0        1       45        0
#> [40,]       15       11        2        2        0        2        0       40
#> [41,]        6        2        6        0        1        0       19        7
#> [42,]       75        1       21        0        0        0        0       50
#> [43,]        0        2        0        0        0        0        6        9
#> [44,]       14        1       16        1       12        1        5       25
#> [45,]        3        4        4        0        0        5        4        3
#> [46,]        0       22        0       10        0       38       14       21
#> [47,]        2       15        0        8        0        1        1        8
#> [48,]        0       10        0        0        0        0        1        0
#> [49,]        0        0        0        0        7        0        4        0
#> [50,]       14        1        2        0        9        0        1        9
#> [51,]        0       12        0        4        0        8        1       38
#> [52,]        0        0        7        0        1        0        0        2
#> [53,]       19       26        0        2        0       12        0       24
#> [54,]        0       21        0        1        0        6        0       30
#> [55,]        0        0       12        0        0        3        0        0
#> [56,]        0        4        5        0        0        0        3       19
#>       Pardnigr Pardpull Trocterr Zoraspin
#>  [1,]        0        0       21        2
#>  [2,]       46        7       24       12
#>  [3,]       39       79      146       64
#>  [4,]        0        0        0        0
#>  [5,]       15       11       68       27
#>  [6,]       62      117      107       10
#>  [7,]      122      144      101       15
#>  [8,]       81      127      198       25
#>  [9,]        3        0      108       30
#> [10,]       19       10       87        5
#> [11,]        2        0       95       14
#> [12,]        0       12        7        0
#> [13,]       13       84       93       16
#> [14,]        0        0       10        0
#> [15,]        6        1       45        6
#> [16,]        0        1       19        0
#> [17,]       57       17      117       21
#> [18,]        3        0       83        7
#> [19,]        5        7       23        0
#> [20,]       18       10       25       10
#> [21,]        1       35       65       21
#> [22,]        0        0       10        0
#> [23,]        0        0        1        0
#> [24,]        0       18       86        5
#> [25,]       40       12      126       26
#> [26,]        0        0        0        0
#> [27,]       32        1       64       17
#> [28,]        7        4       71       37
#> [29,]        0        0        7        0
#> [30,]        0        1       14        1
#> [31,]        3        3       12       13
#> [32,]        0        0       17        1
#> [33,]        3        7       10        0
#> [34,]       14       33       21        5
#> [35,]        0        2       87       10
#> [36,]       52       43      197       22
#> [37,]        0        1       19       12
#> [38,]        0        1        1        0
#> [39,]        0        1       70       20
#> [40,]      158      144       62        9
#> [41,]        0        0        9        1
#> [42,]        0        0        0        0
#> [43,]        5       24       28       13
#> [44,]        0        0       11        1
#> [45,]       30        6       63        0
#> [46,]       91      146      115       61
#> [47,]        8       44       73       25
#> [48,]       28       19       86       23
#> [49,]        0        0        2        0
#> [50,]        0        0        0        0
#> [51,]       33        5       81       25
#> [52,]        0        0        7        1
#> [53,]       77       59       61       14
#> [54,]       68        2      114        9
#> [55,]        0        1       12        0
#> [56,]        1        0       18        1

# \donttest{
# using mvabund
library(mvabund) #for manyglm
abund=mvabund(abund)
spider_mod = manyglm(abund~1)
spid_lv = cord(spider_mod)
simulate(spid_lv)
#>       Alopacce Alopcune Alopfabr Arctlute Arctperi Auloalbi Pardlugu Pardmont
#>  [1,]        1        0        0        0        0        7        0       10
#>  [2,]       13        0        2        0        1        0        0        1
#>  [3,]        6        2        3        6        0        0        1       44
#>  [4,]        0        3        0        0        0       11        8        0
#>  [5,]        1        3        0        0        0        2        6        1
#>  [6,]        0        1        0        0        0        0       26        5
#>  [7,]        5        1       10        0        0        0        1        0
#>  [8,]        2        1        9        0        0        0        2       11
#>  [9,]       25        5        9        3        2        1        0       15
#> [10,]        1       17        0        4        0       45        0        9
#> [11,]        2        5        2        0        2       23        8        1
#> [12,]       20        0        0        0        0        0        0       49
#> [13,]        4        5        0        0        0        0        2        9
#> [14,]        7        0       29        0       19        0        0       31
#> [15,]       11        9        1        0        0       11        0       62
#> [16,]        0        2        2        0        0        4        5        0
#> [17,]       34       10        0        0        0        7        0        2
#> [18,]        0        1        0        0        1        1       28        1
#> [19,]        0        0        3        0        0        0        8        0
#> [20,]        0        1        0        0        0        0       42        0
#> [21,]        0        1        0       17        0        2       94        0
#> [22,]        5       15        0        4        0       11        0       56
#> [23,]       36        0       16        0       46        0        0       32
#> [24,]       33        5        3        0        9        0        0       64
#> [25,]       11        9        0        3        0        1        0       69
#> [26,]        1        6        0        0        0       27        0        1
#> [27,]       11        0        5        0        0        0        0       20
#> [28,]        0        0        0        0        0        0        0        6
#>       Pardnigr Pardpull Trocterr Zoraspin
#>  [1,]        8        2       41       14
#>  [2,]        0        0        6        2
#>  [3,]        8        0       24        3
#>  [4,]        2        2       22        1
#>  [5,]        0        0        5        0
#>  [6,]        0        2       13        3
#>  [7,]        0        2        5        0
#>  [8,]        5        8       12       10
#>  [9,]       25        1       23        0
#> [10,]       41       22       52       11
#> [11,]       17        0       22        4
#> [12,]        0        2        8        0
#> [13,]        2        1       72       16
#> [14,]        0        0        0        2
#> [15,]       25        6      108       20
#> [16,]        0        0        3        9
#> [17,]        0        2       19        2
#> [18,]       20        5       80       13
#> [19,]        0        0        0        0
#> [20,]        0        0       16        0
#> [21,]        4       18       49       11
#> [22,]       22      151       97       24
#> [23,]        0        3        0        0
#> [24,]        1        0        6        0
#> [25,]        8       34       66        6
#> [26,]       19       21       52        9
#> [27,]        0        1        2        0
#> [28,]        6        0        6        4

spider_mod_X = manyglm(abund ~ soil.dry + bare.sand, data=spider$x)
spid_lv_X = cord(spider_mod_X)
Xnew = spider$x[1:10,]
simulate(spid_lv_X, newdata = Xnew)
#>       Alopacce Alopcune Alopfabr Arctlute Arctperi Auloalbi Pardlugu Pardmont
#>  [1,]        1        4        0        1        0        5       13        1
#>  [2,]        1       13        0        5        0        9        0       12
#>  [3,]       11       11        0        1        0        5        0       37
#>  [4,]        2        0        1        0        0        0        0        7
#>  [5,]        1        5        0        0        0       10        1        9
#>  [6,]        0        1        0        0        0        0        1        0
#>  [7,]        0        0        0        0        0        0        4        0
#>  [8,]       13        9        0        0        0        1        0       29
#>  [9,]        1        3        0        0        0        5        1       13
#> [10,]        0        0        0        0        0        0        0        0
#>       Pardnigr Pardpull Trocterr Zoraspin
#>  [1,]       23        5       45       17
#>  [2,]       50       10       79        1
#>  [3,]        6        6       54        4
#>  [4,]        0        0        1        0
#>  [5,]       31       77       77       17
#>  [6,]       11        0       25        8
#>  [7,]        0        0       23        1
#>  [8,]       15       86       28        7
#>  [9,]        8       14       16        6
#> [10,]        0        0       10        4
simulate(spid_lv_X, nsim=2, newdata = Xnew)
#>       Alopacce Alopcune Alopfabr Arctlute Arctperi Auloalbi Pardlugu Pardmont
#>  [1,]        5        1        1        1        0        0       11        8
#>  [2,]        0        0        0        0        0        0       14        0
#>  [3,]        2        2        0        0        0        0        9        0
#>  [4,]        5       11        0        0        0        1        5        0
#>  [5,]        1        3        0       14        0       12        0        4
#>  [6,]        1        2        0        0        0        0        2        9
#>  [7,]        1        2        0        1        0        0        0       37
#>  [8,]        1        0        0        1        0        0        7        4
#>  [9,]       21       39        0        0        0        0        0       40
#> [10,]        3        4        1        0        0        4        0       15
#> [11,]        2        1        2        0        0        0       16        8
#> [12,]        1       11        0        5        0       12        0        6
#> [13,]        1        0        0        0        0        0        1        1
#> [14,]        2        0        0        0        0        0        0        2
#> [15,]        2       19        0        3        0       15        6       34
#> [16,]        0        4        0        3        0       11        0       23
#> [17,]        1       11        0        0        0       24        2       11
#> [18,]        4        1        0        0        0        0        3        0
#> [19,]        3        4        0        1        0       13        9        1
#> [20,]        1        0        6        0        0        0        0        2
#>       Pardnigr Pardpull Trocterr Zoraspin
#>  [1,]        4        0       11        0
#>  [2,]        0        0       13       19
#>  [3,]        0        1       13        0
#>  [4,]        0        0       29        0
#>  [5,]        5        0       36       15
#>  [6,]        0        0       19        3
#>  [7,]        5       13        8        0
#>  [8,]        0        0        6        0
#>  [9,]       16      138       24        3
#> [10,]        5        0       18        3
#> [11,]        0        1       23        0
#> [12,]       71      240      130        7
#> [13,]        0        3       17        1
#> [14,]        0        0        3        0
#> [15,]       51      194      111       34
#> [16,]      208       10       74      102
#> [17,]        4      270      117        8
#> [18,]        1        0       26        0
#> [19,]       26        2       46       12
#> [20,]        0        0        0        0

spider_mod_X_ssdm = stackedsdm(abund, formula_X = ~. -bare.sand, data = spider$x, ncores=2)
spid_lv_X_ssdm = cord(spider_mod_X_ssdm)
simulate(spid_lv_X_ssdm, newdata = Xnew)
#>       Alopacce Alopcune Alopfabr Arctlute Arctperi Auloalbi Pardlugu Pardmont
#>  [1,]       12        3        3        2        0        3        0       50
#>  [2,]        2       43        0        0        0       69        5       19
#>  [3,]        6       13        7        1        0        8        0       10
#>  [4,]        8        0        0        2        0        4        0       63
#>  [5,]        1        2        0        0        0        5        3        6
#>  [6,]        0        6        0        6        0        4        0       16
#>  [7,]        0        6        0        5        0        4        0        7
#>  [8,]        0        2        0        0        0        1       25        3
#>  [9,]        7        2        1        0        0        0        1       24
#> [10,]        3        0        1        0        0        0        0        9
#>       Pardnigr Pardpull Trocterr Zoraspin
#>  [1,]        0       19       10        1
#>  [2,]       90      193      201       51
#>  [3,]        7       47       24        1
#>  [4,]        2       67       27        4
#>  [5,]       34       74      106       21
#>  [6,]        4       14       27        4
#>  [7,]       42       55       70       21
#>  [8,]        1        0       10        2
#>  [9,]        2        3       19        4
#> [10,]        0        0        0        0
# }