-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimulation_example3.R
More file actions
104 lines (91 loc) · 4.44 KB
/
Copy pathsimulation_example3.R
File metadata and controls
104 lines (91 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#SIMULATION EXAMPLE #3
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Load data and libraries -------------------------------------------------------
library(mvtnorm)
library(fields)
library(gstat)
library(CircStats)
library(dplyr)
#Call functions ----------------------------------------------------------------
source("functions/create_villages.R")
source("functions/find_bearings.R")
source("functions/format_capture_histories.R")
source("functions/simulate_capture_histories_with_sessions.R")
source("functions/generate_session_information.R")
source("functions/generate_session_locations.R")
source("functions/create_mask.R")
#No villages created in this example
#Set number of sessions --------------------------------------------------------
num_sessions3 <- 5
#Generate session information --------------------------------------------------
sessions3 <- generate_session_information(num_sessions3,
c("rain", "sun", "snow", "overcast"),
c("mountain", "non-mountain"),
2005:2010, 800, 800, 20)
#Create a mask -----------------------------------------------------------------
mask3 <- create_mask(700, 400, 50, 50)
#Set detector locations --------------------------------------------------------
detectors3 <- matrix(c(rep(-1:1, each = 3)*100, rep(-1:1, 3)*100), ncol=2)
#Test with the first session only ----------------------------------------------
single_session_demo <- simulate_capture_histories_with_sessions(
session_info = sessions3[1,],
alpha_forest = 100,
alpha_protected = 80,
alpha_altitude = 120,
beta0 = -1, beta1 = -0.0001,
mask_locations = mask3,
detector_locations = detectors3,
g0_base = 0.7,
sigma = 95,
x_range = c(sessions3[1,5], sessions3[1,6]),
y_range = c(sessions3[1,7], sessions3[1,8]),
beta2 = -0.0001, beta3 = 2.5, beta4 = 0.0002,
beta5 = 0.45, beta6 = -0.3, beta7 = 2.3,
beta8 = -0.000015, beta9 = 0.000001,
cp_beta0 = log(45), cp_beta1 = -1)
#Run simulation with all sessions ----------------------------------------------
session_sim_capt_hist <- vector(mode = "list", length = num_sessions3)
session_sim_bin_capt_hist <- vector(mode = "list", length = num_sessions3)
session_animal_locations <- vector(mode = "list", length = num_sessions3)
session_sim_forest <- vector(mode = "list", length = num_sessions3)
session_sim_altitude <- vector(mode = "list", length = num_sessions3)
session_sim_protected <- vector(mode = "list", length = num_sessions3)
session_sim_mask <- vector(mode = "list", length = num_sessions3)
session_sim_traps <- vector(mode = "list", length = num_sessions3)
for(i in 1:num_sessions3) {
session_sim <- simulate_capture_histories_with_sessions(
session_info = sessions3[i,],
alpha_forest = 100,
alpha_protected = 80,
alpha_altitude = 120,
beta0 = -1, beta1 = -0.0001,
mask_locations = mask3,
detector_locations = detectors3,
g0_base = 0.7,
sigma = 95,
x_range = c(sessions3[i,5], sessions3[i,6]),
y_range = c(sessions3[i,7], sessions3[i,8]),
beta2 = -0.0001, beta3 = 2.5, beta4 = 0.0002,
beta5 = 0.45, beta6 = -0.3, beta7 = 2.3,
beta8 = -0.000015, beta9 = 0.000001,
cp_beta0 = log(45), cp_beta1 = -1)
session_sim_capt_hist[[i]] <- session_sim$long_form_capture_history
session_sim_bin_capt_hist[[i]] <- session_sim$binary_capture_history
session_animal_locations[[i]] <- session_sim$animal_locations
session_sim_forest[[i]] <- session_sim$forest
session_sim_altitude[[i]] <- session_sim$altitude
session_sim_protected[[i]] <- session_sim$protected_areas
session_sim_mask[[i]] <- session_sim$mask
session_sim_traps[[i]] <- session_sim$traps
}
all_animal_locations3 <- do.call(rbind, session_animal_locations)
all_capt_hist3 <- do.call(rbind, session_sim_capt_hist)
all_bin_capt_hist3 <- do.call(rbind, session_sim_bin_capt_hist)
all_forest3 <- do.call(rbind, session_sim_forest)
all_altitude3 <- do.call(rbind, session_sim_altitude)
all_protected3 <- do.call(rbind, session_sim_protected)
all_mask3 <- do.call(rbind, session_sim_mask)
all_traps3 <- lapply(session_sim_traps, function(dat) data.frame(x = dat[, 1], y = dat[, 2]))
#Save workspace image for later use --------------------------------------------
save.image("simulation_example3_output.RData")