makePiFuns.Rd
These are factory functions that generate piFuns with the required defaults, which are enclosed within the environment of the piFun. See the main entry for piFuns.
makeRemPiFun(times) makeCrPiFun(nOcc) makeCrPiFunMb(nOcc) makeCrPiFunMh(nOcc)
times | a vector of times for each interval, |
---|---|
nOcc | the number of survey occasions |
makeRemPiFun
produces a piFun for a removal model with the required number of occasions and potentially varying time intervals. The input to the piFun must be probabilities per unit time. This is a generalisation of the piFun in the Examples section of piFuns.
makeCrPiFun
produces a piFun for a standard capture-recapture model, M0, Mt or Mx. Probabilities of detection may vary across occasions. See Kery & Royle (2016) section 7.8.1.
makeCrPiFunMb
produces a piFun for a capture-recapture model with a behavioral response after the first capture, Mb. Probabilities of detection are constant across occasions. The first column is the probability of detection for animals not caught before, column #2 is for animals after the first capture. The remaining columns are ignored. See Kery & Royle (2016) section 7.8.2.
makeCrPiFunMh
produces a piFun for a capture-recapture model with individual heterogeneity in detection probability, Mh, using a logit-normal distribution. Probabilities of detection are constant across occasions. The first column is the mean of the logit-normal on the probability scale. Cell p[1, 2] is a value in [0, 1] which controls the spread of the distribution. The remaining cells are ignored. See Kery & Royle (2016) section 7.8.3.
A piFun with the appropriate defaults.
Kery, M., Royle, J. A. (2016) Applied Hierarchical Modeling in Ecology Vol 1.
# Generate piFuns and check their behaviour: # makeRemPiFun # ============ ( pRem <- matrix(0.4, nrow=5, ncol=3) )#> [,1] [,2] [,3] #> [1,] 0.4 0.4 0.4 #> [2,] 0.4 0.4 0.4 #> [3,] 0.4 0.4 0.4 #> [4,] 0.4 0.4 0.4 #> [5,] 0.4 0.4 0.4#> [,1] [,2] [,3] #> [1,] 0.64 0.28224 0.07171338 #> [2,] 0.64 0.28224 0.07171338 #> [3,] 0.64 0.28224 0.07171338 #> [4,] 0.64 0.28224 0.07171338 #> [5,] 0.64 0.28224 0.07171338#> [1] "instRemPiFun" "times"#> [1] 2 3 5#> [,1] [,2] [,3] #> [1,] 0.6637637 0.5758327 0.6403992 #> [2,] 0.5244821 0.3480286 0.2322364 #> [3,] 0.3729590 0.6832623 0.7975949 #> [4,] 0.9435243 0.4058678 0.5724019 #> [5,] 0.1423031 0.4589708 0.7250769myPi(pRem)#> [,1] [,2] [,3] #> [1,] 0.8869451 0.104427050 0.0085759318 #> [2,] 0.7738827 0.163453100 0.0459472419 #> [3,] 0.6068196 0.380686735 0.0124894616 #> [4,] 0.9968105 0.002520589 0.0006593558 #> [5,] 0.2643560 0.619142977 0.1163180616#> [1] 5 3 2myPi(pRem)#> [,1] [,2] [,3] #> [1,] 0.9957024 3.969601e-03 2.855596e-04 #> [2,] 0.9756872 1.757494e-02 2.766143e-03 #> [3,] 0.9030652 9.385461e-02 2.954012e-03 #> [4,] 0.9999994 4.540331e-07 9.846123e-08 #> [5,] 0.5358383 3.906542e-01 6.795155e-02#> Error : You have 3 occasions, but piFun expects 4.#> [,1] [,2] [,3] [,4] #> [1,] 0.02888708 0.5003932 0.4580120 0.6708692 #> [2,] 0.72325781 0.6464060 0.6268303 0.1121477 #> [3,] 0.62242657 0.8807434 0.7629524 0.4150688 #> [4,] 0.48111159 0.6747469 0.5870138 0.8419171 #> [5,] 0.51192018 0.8137893 0.7388630 0.6318430myPi(pRem)#> [,1] [,2] [,3] [,4] #> [1,] 0.02888708 0.7287164 0.203804717 3.844279e-02 #> [2,] 0.72325781 0.2421415 0.032802667 8.060690e-04 #> [3,] 0.62242657 0.3722035 0.005298372 6.662969e-05 #> [4,] 0.48111159 0.4639954 0.051026427 3.866165e-03 #> [5,] 0.51192018 0.4711559 0.016622507 2.993351e-04#> [1] 1.490521e-04 9.919918e-04 4.897749e-06 3.817222e-07 2.038310e-06#> 001 010 011 100 101 110 111 #> [1,] 0.144 0.144 0.096 0.144 0.096 0.096 0.064 #> [2,] 0.144 0.144 0.096 0.144 0.096 0.096 0.064myPi # Look at the function#> function (p) #> { #> if (ncol(p) != nOcc) #> stop("You have ", ncol(p), " occasions, but piFun expects ", #> nOcc, ".", call. = FALSE) #> out <- matrix(NA, nrow(p), nrow(combs)) #> colnames(out) <- histories #> q <- t(p) #> for (i in 1:ncol(out)) { #> temp <- (1 - q) * (1 - combs[i, ]) + q * combs[i, ] #> out[, i] <- apply(temp, 2, prod) #> } #> return(out) #> } #> <bytecode: 0x55aec0aa6ac8> #> <environment: 0x55aec0a96898>#> [1] "combs" "crPiFun" "histories" "nOcc"#> [1] "001" "010" "011" "100" "101" "110" "111"#> 001 010 011 100 101 110 111 #> [1,] 0.3475385 0.023902881 0.06454031 0.09922076 0.2679065 0.01842598 0.0497521 #> [2,] 0.1719135 0.007413497 0.05544683 0.06618910 0.4950397 0.02134781 0.1596640#> Error : You have 5 occasions, but piFun expects 3.myPi <- makeCrPiFun(5) ( tmp <- myPi(p) )#> 00001 00010 00011 00100 00101 00110 #> [1,] 0.008010499 0.08222948 0.01033147 0.020570767 0.002584551 0.026530963 #> [2,] 0.020777933 0.03782340 0.14986132 0.002492283 0.009874754 0.017975648 #> [3,] 0.230914909 0.03715307 0.12491692 0.008137138 0.027358877 0.004401908 #> [4,] 0.017759341 0.02343414 0.02182141 0.114900342 0.106992934 0.141181354 #> 00111 01000 01001 01010 01011 01100 #> [1,] 0.003333401 0.0651786396 0.008189169 0.084063568 0.010561908 0.0210295873 #> [2,] 0.071221888 0.0009164312 0.003631021 0.006609781 0.026188825 0.0004355357 #> [3,] 0.014800199 0.0234641803 0.078891819 0.012693304 0.042677725 0.0027800440 #> [4,] 0.131465294 0.0067132529 0.006251249 0.008248767 0.007681089 0.0404446654 #> 01101 01110 01111 10000 10001 10010 #> [1,] 0.002642198 0.027122722 0.003407751 0.081295312 0.010214099 0.104849902 #> [2,] 0.001725650 0.003141311 0.012446290 0.008915179 0.035323117 0.064300936 #> [3,] 0.009347129 0.001503907 0.005056471 0.030456922 0.102402981 0.016476134 #> [4,] 0.037661275 0.049695523 0.046275492 0.005391851 0.005020786 0.006625123 #> 10011 10100 10101 10110 10111 11000 #> [1,] 0.013173543 0.026229557 0.003295532 0.033829337 0.004250383 0.083108562 #> [2,] 0.254768796 0.004236957 0.016787381 0.030559147 0.121079371 0.001557961 #> [3,] 0.055396444 0.003608546 0.012132740 0.001952098 0.006563389 0.010405573 #> [4,] 0.006169184 0.032483749 0.030248226 0.039913716 0.037166866 0.001897920 #> 11001 11010 11011 11100 11101 11110 #> [1,] 0.010441919 0.107188525 0.013467372 0.0268145941 0.003369037 0.0345838830 #> [2,] 0.006172846 0.011236828 0.044521797 0.0007404239 0.002933657 0.0053403248 #> [3,] 0.034985863 0.005629053 0.018926133 0.0012328558 0.004145137 0.0006669321 #> [4,] 0.001767305 0.002332028 0.002171539 0.0114342074 0.010647309 0.0140495395 #> 11111 #> [1,] 0.004345185 #> [2,] 0.021159071 #> [3,] 0.002242375 #> [4,] 0.013082654#> [1] 0.06375658 0.00524413 0.06867923 0.01907186#> [,1] [,2] [,3] #> [1,] 0.7 0.3 NA #> [2,] 0.7 0.3 NA #> [3,] 0.7 0.3 NA #> [4,] 0.7 0.3 NA #> [5,] 0.7 0.3 NAmyPi <- makeCrPiFunMb(3) myPi(pMb)#> 001 010 011 100 101 110 111 #> [1,] 0.063 0.147 0.063 0.343 0.147 0.147 0.063 #> [2,] 0.063 0.147 0.063 0.343 0.147 0.147 0.063 #> [3,] 0.063 0.147 0.063 0.343 0.147 0.147 0.063 #> [4,] 0.063 0.147 0.063 0.343 0.147 0.147 0.063 #> [5,] 0.063 0.147 0.063 0.343 0.147 0.147 0.063#> [,1] [,2] [,3] #> [1,] 0.76270563 0.9157759 0.08428396 #> [2,] 0.28199297 0.9824122 0.31757486 #> [3,] 0.75788209 0.9982782 0.17615453 #> [4,] 0.05325693 0.0422988 0.60653164 #> [5,] 0.57807647 0.5035473 0.41674278myPi(pMb)#> 001 010 011 100 101 110 #> [1,] 0.04294690 0.0152433666 0.165742385 5.410407e-03 0.058827807 0.058827807 #> [2,] 0.14537699 0.0035610568 0.198911878 8.722925e-05 0.004872411 0.004872411 #> [3,] 0.04442787 0.0003159483 0.183180879 2.246862e-06 0.001302689 0.001302689 #> [4,] 0.04773538 0.0482878985 0.002132732 4.884681e-02 0.002157418 0.002157418 #> [5,] 0.10290886 0.1210868315 0.122817234 1.424758e-01 0.144511843 0.144511843 #> 111 #> [1,] 6.396396e-01 #> [2,] 2.721609e-01 #> [3,] 7.552745e-01 #> [4,] 9.528669e-05 #> [5,] 1.465770e-01#> [,1] [,2] [,3] [,4] [,5] #> [1,] 0.3466903 0.16490402 0.6602055 0.7106252 0.6511188 #> [2,] 0.1021695 0.12765760 0.4369987 0.7968697 0.8602657 #> [3,] 0.7033585 0.05116885 0.6471055 0.5551394 0.9583013#> Error : You have 5 occasions, but piFun expects 3.myPi <- makeCrPiFunMb(5) myPi(pMb)#> 00001 00010 00011 00100 00101 00110 #> [1,] 0.063156508 0.08073008 0.0159415394 0.10319358 0.020377342 0.020377342 #> [2,] 0.066389375 0.06450467 0.0094395412 0.06267348 0.009171566 0.009171566 #> [3,] 0.005446336 0.01742053 0.0009394597 0.05572094 0.003004936 0.003004936 #> 00111 01000 01001 01010 01011 01100 #> [1,] 0.004023856 0.13190765 0.026047427 0.026047427 0.005143511 0.026047427 #> [2,] 0.001342157 0.06089427 0.008911198 0.008911198 0.001304055 0.008911198 #> [3,] 0.000162051 0.17822781 0.009611522 0.009611522 0.000518333 0.009611522 #> 01101 01110 01111 10000 10001 10010 #> [1,] 0.005143511 0.005143511 1.015674e-03 0.16861153 0.033295238 0.033295238 #> [2,] 0.001304055 0.001304055 1.908339e-04 0.05916556 0.008658222 0.008658222 #> [3,] 0.000518333 0.000518333 2.795281e-05 0.57007563 0.030743206 0.030743206 #> 10011 10100 10101 10110 10111 11000 #> [1,] 0.006574716 0.033295238 0.006574716 0.006574716 1.298290e-03 0.033295238 #> [2,] 0.001267034 0.008658222 0.001267034 0.001267034 1.854164e-04 0.008658222 #> [3,] 0.001657929 0.030743206 0.001657929 0.001657929 8.940927e-05 0.030743206 #> 11001 11010 11011 11100 11101 11110 #> [1,] 0.006574716 0.006574716 1.298290e-03 0.006574716 1.298290e-03 1.298290e-03 #> [2,] 0.001267034 0.001267034 1.854164e-04 0.001267034 1.854164e-04 1.854164e-04 #> [3,] 0.001657929 0.001657929 8.940927e-05 0.001657929 8.940927e-05 8.940927e-05 #> 11111 #> [1,] 2.563697e-04 #> [2,] 2.713362e-05 #> [3,] 4.821689e-06#> [,1] [,2] [,3] #> [1,] 0.4 0.3 NA #> [2,] 0.4 NA NA #> [3,] 0.4 NA NA #> [4,] 0.4 NA NA #> [5,] 0.4 NA NAmyPi <- makeCrPiFunMh(3) myPi(pMh)#> 001 010 011 100 101 110 111 #> [1,] 0.135958 0.135958 0.09500389 0.135958 0.09500389 0.09500389 0.07810148 #> [2,] 0.135958 0.135958 0.09500389 0.135958 0.09500389 0.09500389 0.07810148 #> [3,] 0.135958 0.135958 0.09500389 0.135958 0.09500389 0.09500389 0.07810148 #> [4,] 0.135958 0.135958 0.09500389 0.135958 0.09500389 0.09500389 0.07810148 #> [5,] 0.135958 0.135958 0.09500389 0.135958 0.09500389 0.09500389 0.07810148#> [,1] [,2] [,3] #> [1,] 0.2663681 0.3 NA #> [2,] 0.8225699 NA NA #> [3,] 0.2183991 NA NA #> [4,] 0.7497923 NA NA #> [5,] 0.4351382 NA NAmyPi(pMh)#> 001 010 011 100 101 110 #> [1,] 0.13663372 0.13663372 0.05551761 0.13663372 0.05551761 0.05551761 #> [2,] 0.02972235 0.02972235 0.11743572 0.02972235 0.11743572 0.11743572 #> [3,] 0.12868059 0.12868059 0.04125804 0.12868059 0.04125804 0.04125804 #> [4,] 0.05065804 0.05065804 0.13452786 0.05065804 0.13452786 0.13452786 #> [5,] 0.13147928 0.13147928 0.10441266 0.13147928 0.10441266 0.10441266 #> 111 #> [1,] 0.02660072 #> [2,] 0.54962635 #> [3,] 0.01562281 #> [4,] 0.42193741 #> [5,] 0.09752819#> [,1] [,2] [,3] [,4] [,5] #> [1,] 0.07829616 0.3 NA NA NA #> [2,] 0.64917947 NA NA NA NA #> [3,] 0.48075350 NA NA NA NA #> [4,] 0.26099908 NA NA NA NA #> [5,] 0.60791933 NA NA NA NA#> Error : You have 5 occasions, but piFun expects 3.#> [1] 0.65348685 0.01063023 0.05276275 0.23401921 0.01673811