@@ -8,83 +8,87 @@ library(MARSS)
88# ## code chunk number 3: Cs001_readinredddata
99# ##################################################
1010head(okanaganRedds )
11- logRedds = log(t(okanaganRedds )[2 : 3 , ])
11+ logRedds <- log(t(okanaganRedds )[c( " aerial " , " ground " ), ])
1212
1313
1414# ##################################################
1515# ## code chunk number 4: Cs002_fig1
1616# ##################################################
1717# Code for plotting raw Okanagan redd counts
18- plot(okanaganRedds [,1 ], okanaganRedds [,2 ],
19- xlab = " " , ylab = " Redd counts" ,main = " " , col = " red" , pch = 1 )
20- points(okanaganRedds [,1 ], okanaganRedds [,3 ], col = " blue" , pch = 2 )
21- legend(' topleft' , inset = 0.1 , legend = c(" Aerial survey" ," Ground survey" ),
22- col = c(" red" ," blue" ), pch = c(1 ,2 ))
18+ plot(okanaganRedds [, 1 ], okanaganRedds [, 2 ],
19+ xlab = " " , ylab = " Redd counts" , main = " " , col = " red" , pch = 1
20+ )
21+ points(okanaganRedds [, 1 ], okanaganRedds [, 3 ], col = " blue" , pch = 2 )
22+ legend(" topleft" ,
23+ inset = 0.1 , legend = c(" Aerial survey" , " Ground survey" ),
24+ col = c(" red" , " blue" ), pch = c(1 , 2 )
25+ )
2326
2427
2528# ##################################################
2629# ## code chunk number 5: Cs003_reddmodel1
2730# ##################################################
28- model1 = list ()
29- model1 $ R = " diagonal and equal"
30- model1 $ Z = matrix (1 ,2 , 1 )
31- model1 $ A = " scaling"
32- kem1 = MARSS(logRedds , model = model1 )
31+ model1 <- list ()
32+ model1 $ R <- " diagonal and equal"
33+ model1 $ Z <- matrix (1 , 2 , 1 )
34+ model1 $ A <- " scaling"
35+ kem1 <- MARSS(logRedds , model = model1 )
3336
3437
3538# ##################################################
3639# ## code chunk number 6: Cs004_reddmodel2
3740# ##################################################
38- model2 = model1 # model2 is based on model1
39- model2 $ R = " diagonal and unequal"
40- kem2 = MARSS(logRedds , model = model2 )
41+ model2 <- model1 # model2 is based on model1
42+ model2 $ R <- " diagonal and unequal"
43+ kem2 <- MARSS(logRedds , model = model2 )
4144
4245
4346# ##################################################
4447# ## code chunk number 7: Cs005_reddmodel3
4548# ##################################################
46- model3 = list ()
47- model3 $ Q = " diagonal and equal"
48- model3 $ R = " diagonal and equal"
49- model3 $ U = " equal"
50- model3 $ Z = " identity"
51- model3 $ A = " zero"
52- kem3 = MARSS(logRedds , model = model3 )
49+ model3 <- list ()
50+ model3 $ Q <- " diagonal and equal"
51+ model3 $ R <- " diagonal and equal"
52+ model3 $ U <- " equal"
53+ model3 $ Z <- " identity"
54+ model3 $ A <- " zero"
55+ kem3 <- MARSS(logRedds , model = model3 )
5356
5457
5558# ##################################################
5659# ## code chunk number 8: Cs005b_aic
5760# ##################################################
58- c(mod1 = kem1 $ AICc , mod2 = kem2 $ AICc , mod3 = kem3 $ AICc )
61+ c(mod1 = kem1 $ AICc , mod2 = kem2 $ AICc , mod3 = kem3 $ AICc )
5962
6063
6164# ##################################################
6265# ## code chunk number 9: Cs006_fig2
6366# ##################################################
6467# Code for plotting the fit from the best model
65- plot(okanaganRedds [,1 ], logRedds [1 ,],
66- xlab = " " , ylab = " Redd counts" ,main = " " , col = " red" , ylim = c(0 ,8 ))
67- points(okanaganRedds [,1 ], logRedds [2 ,], col = " blue" , pch = 2 )
68- lines(okanaganRedds [,1 ], c(kem1 $ states ), lty = 1 , lwd = 2 )
69- lines(okanaganRedds [,1 ], c(kem1 $ states + 2 * kem1 $ states.se ), lty = 1 , lwd = 1 , col = " grey40" )
70- lines(okanaganRedds [,1 ], c(kem1 $ states - 2 * kem1 $ states.se ), lty = 1 , lwd = 1 , col = " grey40" )
68+ plot(okanaganRedds [, 1 ], logRedds [1 , ], xlab = " " , ylab = " Redd counts" ,
69+ main = " " , col = " red" , ylim = c(0 , 8 )
70+ )
71+ points(okanaganRedds [, 1 ], logRedds [2 , ], col = " blue" , pch = 2 )
72+ lines(okanaganRedds [, 1 ], c(kem1 $ states ), lty = 1 , lwd = 2 )
73+ lines(okanaganRedds [, 1 ], c(kem1 $ states + 2 * kem1 $ states.se ), lty = 1 , lwd = 1 , col = " grey40" )
74+ lines(okanaganRedds [, 1 ], c(kem1 $ states - 2 * kem1 $ states.se ), lty = 1 , lwd = 1 , col = " grey40" )
7175
7276
7377# ##################################################
7478# ## code chunk number 26: Cs007_birddata
7579# ##################################################
76- birddat = t(kestrel [,2 : 4 ])
80+ birddat <- t(kestrel [, c( " British.Columbia " , " Alberta " , " Saskatchewan " )])
7781head(kestrel )
7882
7983
8084# ##################################################
8185# ## code chunk number 27: Cs008_plot-bird-data
8286# ##################################################
8387# Make a plot of the three time series
84- plot(kestrel [,1 ], kestrel [,2 ], xlab = " " , ylab = " Index of kestrel abundance" ,main = " " , col = " red" ,ylim = c(0 ,2 ), pch = 21 )
85- points(kestrel [,1 ], kestrel [,3 ], col = " blue" , pch = 22 )
86- points(kestrel [,1 ], kestrel [,4 ], col = " purple" , pch = 25 )
87- legend(' topright' , inset = 0.1 , legend = c(" British Columbia" ," Alberta" ," Saskatchewan" ), col = c(" red" ," blue" ," purple" ), pch = c(21 ,22 ,25 ))
88+ plot(kestrel [, 1 ], kestrel [, 2 ], xlab = " " , ylab = " Index of kestrel abundance" , main = " " , col = " red" , ylim = c(0 , 2 ), pch = 21 )
89+ points(kestrel [, 1 ], kestrel [, 3 ], col = " blue" , pch = 22 )
90+ points(kestrel [, 1 ], kestrel [, 4 ], col = " purple" , pch = 25 )
91+ legend(" topright" , inset = 0.1 , legend = c(" British Columbia" , " Alberta" , " Saskatchewan" ), col = c(" red" , " blue" , " purple" ), pch = c(21 , 22 , 25 ))
8892
8993
9094# ##################################################
@@ -99,53 +103,56 @@ kem.b1 = MARSS(birddat, model=model.b1, control=list(minit=100) )
99103# ##################################################
100104# ## code chunk number 29: Cs011_fit-bird-model-2
101105# ##################################################
102- model.b2 = list ()
103- model.b2 $ Q = " diagonal and equal"
104- model.b2 $ R = " diagonal and equal"
105- model.b2 $ Z = " identity"
106- model.b2 $ A = " zero"
107- model.b2 $ U = " equal"
108- kem.b2 = MARSS(birddat , model = model.b2 )
106+ model.b2 <- list ()
107+ model.b2 $ Q <- " diagonal and equal"
108+ model.b2 $ R <- " diagonal and equal"
109+ model.b2 $ Z <- " identity"
110+ model.b2 $ A <- " zero"
111+ model.b2 $ U <- " equal"
112+ kem.b2 <- MARSS(birddat , model = model.b2 )
109113
110114
111115# ##################################################
112116# ## code chunk number 30: Cs013_fit-bird-model-3
113117# ##################################################
114- model.b3 = model.b2 # is is based on model.b2
115- # all we change is the structure of Q
116- model.b3 $ Q = " diagonal and unequal"
117- model.b3 $ U = " unequal"
118- kem.b3 = MARSS(birddat , model = model.b3 )
118+ model.b3 <- model.b2 # is is based on model.b2
119+ # all we change is the structure of Q
120+ model.b3 $ Q <- " diagonal and unequal"
121+ model.b3 $ U <- " unequal"
122+ kem.b3 <- MARSS(birddat , model = model.b3 )
119123
120124
121125# ##################################################
122126# ## code chunk number 31: Cs015_fit-bird-model-4
123127# ##################################################
124- model.b4 = list ()
125- model.b4 $ Q = " diagonal and unequal"
126- model.b4 $ R = " diagonal and equal"
127- model.b4 $ Z = factor (c(" BC" ," AB-SK" ," AB-SK" ))
128- model.b4 $ A = " scaling"
129- model.b4 $ U = " unequal"
130- kem.b4 = MARSS(birddat , model = model.b4 )
128+ model.b4 <- list ()
129+ model.b4 $ Q <- " diagonal and unequal"
130+ model.b4 $ R <- " diagonal and equal"
131+ model.b4 $ Z <- factor (c(" BC" , " AB-SK" , " AB-SK" ))
132+ model.b4 $ A <- " scaling"
133+ model.b4 $ U <- " unequal"
134+ kem.b4 <- MARSS(birddat , model = model.b4 )
131135
132136
133137# ##################################################
134138# ## code chunk number 32: Cs016_aics
135139# ##################################################
136- c(mod1 = kem.b1 $ AICc , mod2 = kem.b2 $ AICc , mod3 = kem.b3 $ AICc , mod4 = kem.b4 $ AICc )
140+ c(mod1 = kem.b1 $ AICc , mod2 = kem.b2 $ AICc , mod3 = kem.b3 $ AICc , mod4 = kem.b4 $ AICc )
137141
138142
139143# ##################################################
140144# ## code chunk number 33: Cs017_plot-bird-model-4-fits
141145# ##################################################
142146# Make a plot of the predicted trajectory, confidence intervals, and the raw data in log-space
143- plot(kestrel [,1 ], kestrel [,2 ], xlab = " " , ylab = " Index of kestrel abundance" ,main = " " , col = " red" , ylim = c(0 ,2 ), pch = 21 )
144- points(kestrel [,1 ], kestrel [,3 ], col = " blue" , pch = 22 )
145- points(kestrel [,1 ], kestrel [,4 ], col = " purple" , pch = 25 )
146- lines(kestrel [,1 ], c(kem.b4 $ states [1 ,]), lty = 3 , lwd = 2 , col = " red" )
147- lines(kestrel [,1 ], c(kem.b4 $ states [2 ,]), lty = 3 , lwd = 2 , col = " blue" )
148- lines(kestrel [,1 ], c(kem.b4 $ states [2 ,]+ coef(kem.b4 ,type = " matrix" )$ A [3 ,1 ]), lty = 3 , lwd = 2 , col = " purple" )
149- legend(' topright' ,inset = 0.1 , legend = c(" British Columbia" ," Alberta" ," Saskatchewan" ), col = c(" red" ," blue" ," purple" ), pch = c(21 ,22 ,25 ))
147+ plot(kestrel [, 1 ], kestrel [, 2 ], xlab = " " , ylab = " Index of kestrel abundance" ,
148+ main = " " , col = " red" , ylim = c(0 , 2 ), pch = 21 )
149+ points(kestrel [, 1 ], kestrel [, 3 ], col = " blue" , pch = 22 )
150+ points(kestrel [, 1 ], kestrel [, 4 ], col = " purple" , pch = 25 )
151+ lines(kestrel [, 1 ], c(kem.b4 $ states [1 , ]), lty = 3 , lwd = 2 , col = " red" )
152+ lines(kestrel [, 1 ], c(kem.b4 $ states [2 , ]), lty = 3 , lwd = 2 , col = " blue" )
153+ lines(kestrel [, 1 ], c(kem.b4 $ states [2 , ] + coef(kem.b4 , type = " matrix" )$ A [3 , 1 ]),
154+ lty = 3 , lwd = 2 , col = " purple" )
155+ legend(" topright" , inset = 0.1 , legend = c(" British Columbia" , " Alberta" , " Saskatchewan" ),
156+ col = c(" red" , " blue" , " purple" ), pch = c(21 , 22 , 25 ))
150157
151158
0 commit comments