From 3b4c280d4ff8eaa68a187127036a3c1e9483afcb Mon Sep 17 00:00:00 2001 From: Martin-Jung <3788377+Martin-Jung@users.noreply.github.com> Date: Tue, 8 Oct 2024 19:51:15 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20iiasa/ib?= =?UTF-8?q?is.iSDM@f7e2cdf72d68b731f8924cdf09ad841e7e0bd6a3=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 2 +- LICENSE.html | 2 +- articles/01_data_preparationhelpers.html | 4 +- articles/02_train_simple_model.html | 48 ++--- ...Example for model-based thresholding-1.png | Bin 15562 -> 15618 bytes ...Example for model-based thresholding-2.png | Bin 23281 -> 23271 bytes .../figure-html/Plot the model output-1.png | Bin 45521 -> 45475 bytes .../figure-html/Prediction limits-1.png | Bin 38388 -> 38409 bytes ...Train models with spatial constrains-2.png | Bin 36606 -> 36597 bytes ...Train models with spatial constrains-3.png | Bin 35315 -> 35310 bytes .../figure-html/partial effect-1.png | Bin 47718 -> 48214 bytes .../figure-html/partial effect-2.png | Bin 24067 -> 26005 bytes articles/03_integrate_data.html | 10 +- .../figure-html/Combined integration-1.png | Bin 38304 -> 38303 bytes .../figure-html/Specification of priors-1.png | Bin 48724 -> 49219 bytes .../figure-html/Specification of priors-2.png | Bin 46541 -> 46239 bytes .../figure-html/unnamed-chunk-2-1.png | Bin 33499 -> 33505 bytes articles/04_biodiversity_projections.html | 4 +- articles/05_mechanistic_estimation.html | 4 +- .../KISSMig dispersal simulation-1.png | Bin 66451 -> 73690 bytes .../figure-html/Load data and fit model-1.png | Bin 15595 -> 15583 bytes .../figure-html/steps-1.png | Bin 141521 -> 138691 bytes .../figure-html/steps-2.png | Bin 133404 -> 134034 bytes articles/06_engine_comparison.html | 4 +- articles/07_package_comparison.html | 4 +- articles/08_frequently-asked-questions.html | 4 +- articles/contributing.html | 4 +- articles/index.html | 2 +- authors.html | 2 +- index.html | 2 +- news/index.html | 8 +- pkgdown.js | 8 + pkgdown.yml | 4 +- reference/BARTPrior.html | 2 +- reference/BARTPriors.html | 2 +- reference/BREGPrior.html | 2 +- reference/BREGPriors.html | 2 +- reference/BiodiversityDataset-class.html | 2 +- .../BiodiversityDatasetCollection-class.html | 2 +- reference/BiodiversityDistribution-class.html | 6 +- reference/BiodiversityScenario-class.html | 2 +- reference/DistributionModel-class.html | 2 +- reference/Engine-class.html | 2 +- reference/GDBPrior.html | 2 +- reference/GDBPriors.html | 2 +- reference/GLMNETPrior.html | 2 +- reference/GLMNETPriors.html | 2 +- reference/INLAPrior.html | 2 +- reference/INLAPriors.html | 2 +- reference/Log-class.html | 2 +- reference/PredictorDataset-class.html | 2 +- reference/Prior-class.html | 2 +- reference/PriorList-class.html | 2 +- reference/STANPrior.html | 2 +- reference/STANPriors.html | 2 +- reference/Settings-class.html | 2 +- reference/XGBPrior.html | 2 +- reference/XGBPriors.html | 2 +- reference/add_biodiversity_poipa.html | 2 +- reference/add_biodiversity_poipo.html | 6 +- reference/add_biodiversity_polpa.html | 2 +- reference/add_biodiversity_polpo.html | 2 +- reference/add_constraint.html | 2 +- reference/add_constraint_MigClim.html | 2 +- reference/add_constraint_adaptability.html | 2 +- reference/add_constraint_boundary.html | 2 +- reference/add_constraint_connectivity.html | 2 +- reference/add_constraint_dispersal.html | 2 +- reference/add_constraint_minsize.html | 2 +- reference/add_constraint_threshold.html | 2 +- reference/add_control_bias.html | 4 +- reference/add_latent_spatial.html | 2 +- reference/add_limits_extrapolation.html | 2 +- reference/add_log.html | 2 +- reference/add_offset.html | 2 +- reference/add_offset_bias.html | 2 +- reference/add_offset_elevation.html | 2 +- reference/add_offset_range.html | 2 +- reference/add_predictor_elevationpref.html | 2 +- reference/add_predictor_range.html | 2 +- reference/add_predictors.html | 2 +- reference/add_predictors_globiom.html | 2 +- reference/add_predictors_model.html | 2 +- reference/add_priors.html | 2 +- reference/add_pseudoabsence.html | 2 +- reference/alignRasters.html | 2 +- reference/as.Id.html | 2 +- reference/bivplot.html | 6 +- reference/check.html | 2 +- reference/coef.html | 2 +- reference/combine_formulas.html | 6 +- reference/distribution.html | 4 +- reference/effects.html | 2 +- reference/emptyraster.html | 2 +- reference/engine_bart.html | 2 +- reference/engine_breg.html | 2 +- reference/engine_gdb.html | 2 +- reference/engine_glm.html | 8 +- reference/engine_glmnet.html | 2 +- reference/engine_inla.html | 2 +- reference/engine_inlabru.html | 2 +- reference/engine_scampr.html | 2 +- reference/engine_stan.html | 2 +- reference/engine_xgboost.html | 2 +- reference/ensemble-1.png | Bin 39964 -> 40295 bytes reference/ensemble.html | 2 +- reference/ensemble_partial.html | 2 +- reference/ensemble_spartial.html | 2 +- reference/formatGLOBIOM.html | 2 +- reference/get_data.html | 2 +- reference/get_ngbvalue.html | 2 +- reference/get_priors.html | 2 +- reference/get_rastervalue.html | 2 +- reference/ibis.iSDM.html | 2 +- reference/ibis_dependencies.html | 2 +- reference/ibis_enable_parallel.html | 2 +- reference/ibis_future.html | 8 +- reference/ibis_options.html | 4 +- reference/ibis_set_strategy.html | 4 +- reference/ibis_set_threads.html | 2 +- reference/index.html | 22 ++- reference/interpolate_gaps.html | 2 +- reference/is.Id.html | 2 +- reference/is.Raster.html | 2 +- reference/is.Waiver.html | 2 +- reference/is.formula.html | 2 +- reference/is.stars.html | 2 +- reference/limiting.html | 2 +- reference/load_model.html | 2 +- reference/mask.html | 2 +- reference/modal.html | 10 +- reference/myLog.html | 2 +- reference/new_id.html | 6 +- reference/new_waiver.html | 2 +- reference/nicheplot,ANY-method.html | 8 + reference/nicheplot-1.png | Bin 0 -> 263616 bytes reference/nicheplot-2.png | Bin 0 -> 263616 bytes reference/nicheplot.html | 179 ++++++++++++++++++ reference/partial.html | 2 +- reference/partial_density.html | 2 +- reference/plot.html | 2 +- reference/posterior_predict_stanfit.html | 2 +- reference/predictor_derivate-1.png | Bin 77089 -> 69368 bytes reference/predictor_derivate.html | 2 +- reference/predictor_filter.html | 2 +- reference/predictor_homogenize_na.html | 2 +- reference/predictor_transform-1.png | Bin 45079 -> 45399 bytes reference/predictor_transform.html | 2 +- reference/print.html | 2 +- reference/priors.html | 2 +- reference/project.html | 2 +- reference/pseudoabs_settings.html | 2 +- reference/render_html.html | 2 +- reference/rm_biodiversity.html | 2 +- reference/rm_control.html | 2 +- reference/rm_latent.html | 2 +- reference/rm_limits.html | 2 +- reference/rm_offset.html | 2 +- reference/rm_predictors.html | 2 +- reference/rm_priors.html | 2 +- reference/run_parallel.html | 8 +- reference/run_stan.html | 2 +- reference/sanitize_names.html | 2 +- reference/scenario.html | 4 +- reference/sel_predictors.html | 2 +- ...riors-BiodiversityDistribution-method.html | 2 +- reference/set_priors.html | 2 +- reference/similarity.html | 2 +- reference/simulate_population_steps.html | 2 +- reference/spartial.html | 2 +- reference/stancode.html | 2 +- reference/summary.html | 2 +- reference/thin_observations.html | 2 +- reference/threshold.html | 2 +- reference/train.html | 24 +-- reference/unwrap_model.html | 2 +- reference/validate.html | 2 +- reference/wrap_model.html | 2 +- reference/wrap_stanmodel.html | 2 +- reference/write_model.html | 2 +- reference/write_output.html | 2 +- reference/write_summary.html | 2 +- search.json | 2 +- sitemap.xml | 1 + 184 files changed, 458 insertions(+), 230 deletions(-) create mode 100644 reference/nicheplot,ANY-method.html create mode 100644 reference/nicheplot-1.png create mode 100644 reference/nicheplot-2.png create mode 100644 reference/nicheplot.html diff --git a/404.html b/404.html index e59ec020..8fba6dde 100644 --- a/404.html +++ b/404.html @@ -84,7 +84,7 @@ diff --git a/LICENSE.html b/LICENSE.html index d6caa0c7..91afda96 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -183,7 +183,7 @@ diff --git a/articles/01_data_preparationhelpers.html b/articles/01_data_preparationhelpers.html index 6a4d6c85..ebf6d4fb 100644 --- a/articles/01_data_preparationhelpers.html +++ b/articles/01_data_preparationhelpers.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/01_data_preparationhelpers.Rmd
01_data_preparationhelpers.Rmd
@@ -513,7 +513,7 @@

Derivates of scenario predictors diff --git a/articles/02_train_simple_model.html b/articles/02_train_simple_model.html index 448c5de7..d5d4ec18 100644 --- a/articles/02_train_simple_model.html +++ b/articles/02_train_simple_model.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/02_train_simple_model.Rmd
02_train_simple_model.Rmd
@@ -404,17 +404,17 @@

Validation of model predictionsfit$rm_threshold() validate(fit, method = "cont") #> modelid name method -#> 1 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous -#> 2 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous -#> 3 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous -#> 4 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous -#> 5 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous -#> 6 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous +#> 1 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous +#> 2 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous +#> 3 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous +#> 4 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous +#> 5 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous +#> 6 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> metric value #> 1 n 208.0000000 -#> 2 rmse 0.6103975 -#> 3 mae 0.5318326 -#> 4 logloss 1.4551043 +#> 2 rmse 0.6113299 +#> 3 mae 0.5324495 +#> 4 logloss 1.4554922 #> 5 normgini NaN #> 6 cont.boyce NA @@ -422,19 +422,19 @@

Validation of model predictionsfit <- threshold(fit, method = "percentile", value = 0.5, format = "binary") validate(fit, method = "disc") #> modelid name method -#> 1 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 2 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 3 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 4 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 5 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 6 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 7 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 8 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 9 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 10 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 11 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 12 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete -#> 13 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete +#> 1 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 2 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 3 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 4 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 5 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 6 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 7 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 8 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 9 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 10 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 11 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 12 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete +#> 13 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> metric value #> 1 n 600.0000000 #> 2 auc 0.6964286 @@ -562,7 +562,7 @@

Constrain a model in prediction s diff --git a/articles/02_train_simple_model_files/figure-html/Example for model-based thresholding-1.png b/articles/02_train_simple_model_files/figure-html/Example for model-based thresholding-1.png index 6c23c35206a6d69b638fa108321879a9cfe494ce..6157d597a83e57366fa4239769fc5ad48bcf23a5 100644 GIT binary patch literal 15618 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 literal 23281 zcmeFZcU)6h*ESq%=qTdoD2P(j1I$0yvIfq3DT%)aa-n z9Ylf<0w@X-X(EsS0iqIWNKhaNAq2ji;LLq{zuxoC^FIH6{C*fbXJ?x`NRp5%A!3vFeD2Lqe zvm6|(7Q7sEl*!7A>J+#Y-uu021MHAS7a%!`J?Zp*WLBEH`&Irj&^Y#wBiLrm>V@LX z6C=MtIKMFl2B~CIVhC=zT+6skA4EE((G8V#_LHQ_o{GIPf&DNo{YbeKZ_QUnVGDS9 z2-DK$iKzAF*+?7Bm`lDa+}Nj*mE)3*4-C!_+Yd_$M`V-gTvQRAN+*YpX)SkguM zx#UU&B8FrwX_GM;R9m53ne!mj7>;HP+HPUgWe9Qy2eN!v1##$Yt!K}y*ig@W1W~Op zhoeI3+{6&J&-^O*_YNmrWXm`z2XUy@2E`0!cBA%Mc|$oRN$`6zFC@S8Zz-<6uzmuIcTy`XsG6 zz2w)=)k$V~XLpS#RX+YuJHZUN&?OkIwh zb~@=_Jlc5QX1U~p6<~6Yc~>IPXW_V3tLR`@mc3v<_m_-mW4Ckt%I+Zp8}!(g%Dm1D z!L(KXs)K3t>qr9|$^clH-*-746Unwf!?{%;_R}B%+k9B*z~b~V zPpqCkN$S+fADm6tZ<`+?4YKI3pv7BsUejVuf$Xx?K;GoE&wcU=+iRbV_6;`iGH0`( zB=f0FxmzT)?|36yYmraOqFVM2&iN$9odo(U4QGjTi_qD~AdN{2HdN6_G6D&Q0eScTQ$m$=+v|aRa z+`nAZwS`C*e^8DAtq?ah83{lB9Nm}xl0U3K*go>B@Ohz)7`=@+cR>@<(Is8M`W7bj zr_vK4EoB|;`vG7gbtg9&?QLC&jM62kZ_%EtM>^f6kAK_+o@49!aL{UN`n_>e=UrS@ zldsucd&?CY*79FN(P|@11{|qLsu-`RQ0lq8`_UzD!CV(q%ovmgUAjD3qtL5===AKx zy`(lJ-c6`OV#GqR@*qhUJ8uE|<=q!ff~=qK@(g`}h_Qjg9_d7yI1+Y}B+34@1@E7O zyDnh+JVV&mC_~EKqwhy%-E#lkkJ}5$PjX#^6S7^Su!WOmU12rvmv`#}lI>%FLzd6IZk$s; z2sGlZy5|17pGgUVF<;0O-7A-$g*X>rkV=0EDJ$wIla8Efi8O)zm3a|xu~LuLt#+Z* zZvm+Tqh&z&nF0i->hL~;|9hi&@ktz_#50)S7_GHD=JZj-er-#WK=RHu{ZhIS820^x zVn+$NP{-9G!2~4f{66C*JbyNis{5yC2+E{0rwYA4S0GuAFMQ<91E-gb>eRY& zVD?-#YpaqrBiBRWKJc`ae(`2-!xj>I^|AV=uK24XioBm;N2JpocZPyEuuO>jt6(1B zzgDm*HqwB!6}h0+wJ~GTa!P<~SfzOgw2%(W5-YvbfgCtfE0^rOrX>a9J(vrzgtee> zG)xsgcpOM4D*+s|V~Eng(44B3gJQ@mY0+kx*A;v9MmL#` zMP_M?UIuOIN;VjQ55()UDJK%~)E)(uKpoLsH2z5=a(uv?e*``4RtoBRyut302|Y+WC*t|ZNT zVu0#I3-WS9h1R?KP>riURBZD>*G$4>e3(Pj1-HVEvG`}2o=?6A%Xv;_D{}spt#fmX zXlUQu<6qm1uSTI|FbcE`p|-uDA?JWWWvL}GVJ25T_UcxltNKrC<7I?E6jt@KChj*P z7+nq9!ph0UIg(oBM04|Jc;bRYv3~)IIF4m5_bGkLjkm}dY>2ka`MZJ1{k#S|1z5;) z2i&mR_#LT@w~KWDr-EFX!cYjIzvpn0SnLZhE)DW}KN`95_TJWhsZ7ILQIfc-^75#6 zjkVpj+ZwpL)V7O^AB6mmN!tspY0SrOTH3Fq_O(Gx0G<*2tcz>^Oo})6n*e5T>zJwG zI!Sc}QGY@S+*kG@(i0NO?V~1NW44n%%J$Wu-X5{t%&NL%?1N#P#`zYQPgDjyj$2;v z{XZ5!>wygL05A=uY~k7&W+u$!Y>SQi=GuKVey`2(r{C{S3U9WeeTvm;<`8ILu_~V- zd|v%b>mc;|(V|=5%I}KvjPTPXxIQhfVR#t!+opFDE6SN4I`Eu>*@x4rnA;M{3(sKk zN;OM!1eky~Ov*uWsD3^VlL4W_oVx8)Jx&Ui<)?o=m!sBS=R299UT73`EI3kEOnPS% zFRQgT^kbK^UqOO}ydO&UkbZ|Pl`#D>tMOn#cAFltG_-Ljg%jCdJjwsu(7SbU`VARR z9pJV$^j;>F*-_=v(|im1=ki9%@%mLBK|VxtDtFgn+;8PALdX4oY?8kj|6hty3KYfC zZ}dME<(rBZcknl|m=?k^QOV@-sz}c)b3nCuQ4w zxLFhj`>k>(4h#_})2lb1qJTe( z*%B4N>aU0AFTfaNqEZiz-iFmXck7DKfV)C5=ea!)4mUE}3OSoj{R$~}HEJq``@!2_ zy&U-~%R!s2pMm|KhorWLO&mrp;0L17aGbKv4pJ&|z*@fcsev#;xQ6&$DkUePmZ(me zhWpa!E+XehZ()bGZTn*sG;mqHMj@H?E`t9icFt#?x_ZE=a;jd;rH~OyFt3N6q4s7Z%b<=Eaw6eW+_$m)zW# zgWCpZy`eghnd=5vi*wBly^d0oqk|?fT}Oe8%JrXxpUF%8UTg2gfgtRB%F5QBG$@RQ z36rb`503e;BgQtoV((P-h+_EEIg9G)R$a85aH-ZU7kl+y5BTma+9P~;z7>z6&Z%t& z-_Y>bOOjL$kAjsS+u6RC$5#JDGJaS6^usB=on7)NxGZ-x?3U|UAFV*L$4=N?HXyGP zdo>lW9PSHGk5?3%PxbWGo;#k7K^i=}XK~!Pa1?l&k`>C(m{RzBKqJnvcHs~yNl~Xd z-oOb*e>}aN_DgM)KItZQzSv`?G<&uM-+w9ZAj5b#H#2>A%bYuGSmX=>mvYF9eIXJI zJ2K}sG-*Q4=OA3e$KOeA8kIxv9>}*X_CTn($)k-zyg8Hk6_OP{+oaQDRfL0 znRRN?P=!>;UTC*2+nJR?S4TSC1DMor@q zFd26KhHp>e%%{TG3s)j0+*$z0COjFCt6ldxiA;4yYD|AHC__3qO)dt%5XJ_dejo zuOj6L^uZVDR{d3<>DCnieOkNDL8Ps@S>Mm%Uj{(pz8%YZG;&FvQG^oR*_R zLFjd%U3z<-ks%oLdfHa*)w(b&H`jw351n^LhVTU}YxR#wkH1rjQtM*MF6xkO%N5ls zfyhIEBw~zNmhCV-x|1q@FQ)}NUU)$h3`wA&Wp>X`XL3M?uRPOD$+j-rj&HTn-ACGm zHDh05Y9JBqMd{vKUg;qHOzxgDe{6SZs12^JFu?!RrOdQqxFM&i7S;pI93waLRIYI= zvL@MEBi_(r>Q-Ovx{-RT{?N}bq?K)V?6z%e(2lZPx!qIk)}~J!PRrM-kW#E#ZanwS z3T-o=>N1G;cR7@4QF$x~5o-i|fb5L)djmIq?-`B(`-Y?jSt+!l#mFL2R@$dPf9eV| zzoB1HRhD)$x~uojj*7PLmyPBJ=L5f<5AjY|VFW1i@GSsmBgL zNcpeHQ03UB$v1_RnGwIKUFux@X+uDheA3J5%c4sKE`CJZ+|NB535*l<;y~Zy{gY>3 zva#cbQ!JlwooN?aePPO@?-W!_r_=#k@VrQ9(QM(`C(b$9-|et4)i^!U3WY(H`wSic zId+ZBK$U3jzAK}Ij#Fq%vL<1^6;jXLvQAqI*nvMBypKm^kE|L+;xg&-ext{^!&^dK6Rdsc zQ1ZhrmhrpD{G+N13a1ePXW^8`-yIl^2+s4GS0vd-JYUel_T3%dlH~j*I&#&~Q!UBS z9>nM)@D=@;vSHhmLO)YZ??4)8crDIbU#>e3D=YDA9noHS;>TM@0QoU=j}+GGZjx6r zyjaAIHt0g_lzhUMMwahvz$u4EU|Ll<3zlc?n`6MLxa>rBrQr$rNfc5JyF2F61wmTd9!AYI5i~2%=R&|{;!Mi74?nQpvwguF&Sd*|Zl&PN zLm02Q5RV8^vhD7?KMDK5^R-C1EP8p;ZcVv9rVxFLP9a$7^cvYuESrf9w&L@#)7+wBj}W zJ}eT|=0)7g{}`$u>MlyB-xESpfF};T!$nEU{2dsVeBiLMsB$<>GVD;M=_>v8F^5M1 zc)23Cyw8jN*31VJ*f!A6+px_afUwUEjtS+v>@~~rf^qw(!t&O+;EQ~G7FDkQX=Qm7 zz@M6wcMhg7)?ndvLoat>^rk&^fK43HB5#=sZyyWR`@CUQ^S5wvt0=}0F+d)^fo>oi zyxti2zY0c0XaG#2{uEfF+d|^dLnA6vtQrj^$2of);(>8u$p3||`U+ouA<(|y)_)6S8xI(?7dvk^eF^Wc}Al-k=h|JfWYDCRxdpx2f#{ZTfd{9)5<_jD%9JKV7Nb@3)!pTC>R zpTX}r-$Pb|;{10M6TR99;{SxX`|ahS%vKYtLMn5;JM#g4zgWSeQVidoVO-(sSD-)Y zDDR6x&vq6jl)G7NDnw~HMuYWw;2as|L)FwWoIaLNK6cZ>AEg^lOP7-A2#iW((gOV4 zP(szE0t$o}nqHry5k0W?5vqBnQ7tMHantJyaVgs25K_t5>wrdRi6v3O{eaqX_peyZ zuY-xdp(UPw7SZf6AJhyqGfAJX0CMb+VZWN*7tw*(WYv?7v1h|IV72hhZfBXRKG)cd z4vIsGV7Q51*!9Led}dLd6p z!bBx{6!vne!k&@Ci1U@ewi^b9_)s?qHxSdcILh9K+LAIrw%w-hlU>eq><7WAkT2*B z9n2-j_>5%m_=Tv(sKJwN%u!2A4T@))4>IsX1y2wO>?IjrwoS>N;nT7p+ak}$+rb$Z z`&;(tXPjn?Cbt|bqH^?Q@1GGZ7Ytz^cBIPacBj-F|2Vmck?=LQ3vlS4X4!7tPSUtDP(*_yz&B$KdjF44i0M601_8whwxEkXK z1IF4$z#&7rr>_2BS?FAwMi0Sk-vyej(*W$Nan5)0iHf`)DEhX0)rY=ZC`BpU3#K98 znQyiRZR)BVr73EgK3rgcKG)Q{_V|j zYe8=XcFV4X*4q0os&oY@^m@jFD9IC+?DDUD@P$JUSbLlhZ84Px6TYk~XEg^>jnQIct>*e)J%Tej=B3d<<)X+OaLtXIaGsO>*S#tx^+kC_;{C$Y5 zSSnEb8pdLHkPmg=CTH&gW<;MyA*z-=pss5O@bP6M8R>K>Y@cnE zFn&In2uSA!tez$*oK2-*mcvUFu*bKz){g>cHcw9#^8sot1 zgZiNy`LKBoWO$37{P7_`d$xxM-8xdY8w!>4_}n{*BksX(mrDogVyiVs4TFie4EoyK zmvPbN<<=v6uzh#NU)-iBfpFFpjJfXOrhkj-Nbc|+I5I5n@ge7Q`uE6zWI(~=CObsA zl~EAkI9mHp>ak`qOkiZ|)ejXLHau z;#UhrxdW*1x8tljZy{}>%;v}fC8p-m03YWek2AmC9P zoaE7GU{knSt7}?e;is-?c@?uMRuz*mr)zDiv*dtnk(m~aJ1u8~jIsu~m9TKeo@z1A zMa%eT%?}no!wbl!xISBcpK+0&KYG$j#>cp}=0RyPw8*K&wcGN0{T&B-H4S^5{DPJk z-m%tacv)HfJ`u^+&?}6Bh^&e%0eyJCthao}D+X7Soano?`J-JEZ=sSLm3%kQ?hFF4 zR11J8i3FRa44IX>`?v1f^t`#*5M)h;x6P~5)6dX;a52YK82*>+2JuR$0%_2yCHN8s zj#Jbrj*^|c0TrJJbfX;yq*uw$N)4V%&N21J@`3+|ZVtfS*IRYrzT`*Y2Fjqj0=H$? z9#gGq!Jje5o_;4RWB4;W_;-GEZ~YQ|elGY=1mPUvdhgy6O9y;)!Kp6@hwUw7mc7mK;DB_?6{HSSjfWFo7fXZi|Zev_9YYO2W8{t};!s4|& zfYGl|D>Rl!I0nAl@ehf~*@OnWoQ?~EBd*+!1JO!*gPG(g!QN#qYyKacDR4g%F1Uy? zcoJlOzz+N`^Pk>uLi$|49|arkV${H4`WNWWpw0jddH3LqCb@>KYsm^R5z>e#_E2Qo zY@aEu*H(8jE-JU28QaM6D*&u}A!WyAje)7p`h(FM|QvM3c~d44^xb-NV{<%>$I#e*nfDDuApAPWD z&%=OTV>};B%5|>2>mCFzZ<_EjR}*E<%H5%^g1AQI9xMMwteH}!Hi?Lgf=KczWwwb}PamKW<2f4T0U5fq`?mG7DaO<$@76kK~tZ+K{FfBzr|b} z%}w6&#MCGh2Ulya?6^~YRG2rfv)lhwaR;LmCqxTv~s z1XDDSg?((8<^o&{g@5L8mBipm+80S{TFV+FQl74QHQwE#5Zl*9pDP0Gf z0LCt4>()FkE9LN`7lR5>fE7ssNfZoIrw}Fo`Bxf1v%<)P`4f%JYv}Ff#mV?AhK@f@ zD0eN-C@yAmD%TgR`L|*cY+w0r2AYbgPq>yR02wp_!fQAChhR}P=vSVYVg(f43h zT9>oFkXw68lQxY^IRC=s#apYZ9=E#seY6vWc8C5_(J8uRqiBv<`$Dq2`)Ci9u?~0W z@~2kHl_6_x)4j0s7);{U4H}|^j#?VzOc*LMvq)q=u77B}C{QU@27FDHRZSK>S<#8} zA2ljw@)UCMV2e_?2jGiG6nkKI+D87_C1xc93q{Y@7Reo@P5S4eEZOl_U(aze1X%0@ zN_+Bf5JyBJxi4l2{F=hG+IkH4En6+h?(#fg^%_ROzMjaBuYOf7{w=z4fy!<9bv78( zsbmDA^UiKC4e)|ftt*aaqz`ZXVT3|Wmznbmf=Cj%KW~#{I4%?QLOTIV3Epu%8wV{I zrg4UmBpN*n?FrN4-sxGn=6YhQRY^hcyfrL&FoXMR1o~K#U>*n6rqW6KMlt|-vrV5< zmVIfpBG3&Vl6)t%3DyhFntOjV?-gkl`N4(sIfYsbVs9HN2G<2etWEHkiQIb@+Pv#39=KGUc2)B4(x3DUk9JSw1eOiGv))8VaDP< z{8^&2bwgbmWi0skD*aWq#WfuJlnQbVZC*s{gq7oojE}PV2|pn@!!L(FPNQoICbbZ6 zzezZJ(-WMH-2@yyM0z!92JEy%gml3#e@8coRPBTQO4r#e2Ubo6f zkoRB$!HyvW)CK0a@QC96^@V_O(japtwJVZ#i6KsWo#z`7=?x5Ra#K&05n<7H)3ON# zr~bhZzLnz?7BaYKd?CQzIzO&qN&3-jK0eJSYpJ4p@5g%QrAzswhL&f}6H@H0khYqhy7SLDJ$;F^rF6P8mWNV)xg92S~tHBj%v z_l4Wqf+D@(V#V;oFm~K69oEw#Ng%U2l3obgc<+cg9~K3J)B)!{6m35Vs@LkVz(X`c z{&`8xXK?_vA)u{b7B&x>tX67GnoU*fG=?dL{{r8h%K&LBN18Ec^7f%f^VnmPox92e zV{s2$SG{`YXy@GTGpz5QAYR7d0k zej<9QDoOp{GI{%6ga^XJ=?vYo{rKYkg!urITXlkBV}cBaVJIp;AeF)Th$dC zZcbN*C+aJb2qQXCok7(pwCYi zS*!2zvwdGZ4bQ({HsV`cu`NPcIPY~5AYn@IxIIGDAzi(x$DNP^HGiOt<}j!%QZ=6{ zSlJqW36?jVDt~tci1Oa{^w!Qx(OIu`-#sr;@VN_CC|*ei|4I{AuoMbyAN4p1zOJ_S zxVV1I>4~K^vo;N8{kJvCqwaLNMSnEcoei~_vpnA4xPa z-`|p*5xWV_NTr*zKks2ogEld%6(Rz{^SD%9tez^V5V>Bd=PvzNu1$rBqj2gwV@6*; zW^?XJuqhxT#dX~)>=vN+WL8E58hu2N7{PyH5HAc|Y*sd1RO#2UDvW7=cAkl8ysCR7 zo6591FO9Hy+g&37Q7>pBA zik|#;lJ)gpQ$O}=MLG@zGHWq4LhXu5cq|`@DT)X69H81GY~(6NW{tTBUuQ0O z$)87|>5o8cAk5OE(C4Wa63Rh9P5@!Os9LH$d9Hn*ewgkvaxd32ChBV=qa5>%(H49u zjGXCikC&C5`O!B2AAr+*7X+ghBnt}JxsHGicns3~=r zyC1Rl?$-p`*PQ5o^9Nws(i_!xkzN=GG9&Q+#_E2P50?9xl-AA+)o+LmPuQMzp+FWC z-k{Kv;aq_JzehZBS2RM^%~G@7=-qZ2t$ILIg_08y6B1&O?H+*2~alQR$nL;#VhB3^Y?{Yj&LOKjhijF4hAx&XM(n-1K9lY8= z;lEUrWa(yS0$^8nDD(0p?>t)IwNMGr)eU8E_j6Y9!3yF8s2>#KFk1qT>(tj9D&hkw zdV&S}zUaGTMp&pD>Ku1~jHfM>P5KltF$-4u%ChpP*-ik--1r_M z+ZX$dKK}TNncPnf8_f@1I;OY=sUo9lsabrTk#PNnjJbk=QUKAf@^b#+E8Dz(C}(x~ zyuEhrcgkky=_uljQj?m#8AULdK{|MZlIt{Hm{&9xnU#|jlsypC%1bdA5y+)e1m4p9BwQzw6Pwe|^ee zORBcT3vlVbSk}MMcP;%1;r^EXo=SOK)-uw0$JHJ9$iM2WGkz7@RnX;aeplO%(9gP~ z&3e?sc$Y6j_17Q2>_`n|)%pWPx?mO7tbq^HY~3=(y<8g|O2LoljaA5SF{b=nM=Gm3 z@Zw+%MV9?r5vsy);*SPQ`izX0p#l5)9s`cKGHR?>Gl(gXz}Lj67Eo&*2GDdhwW9Z> z_eFKOI#RPGtGotlrX}21HU5MrK2&`s201l4+4X6g*Ldm={39)O;2cp^Ww3XEb1n1)bL&shX&H@4=cg zvLPoZcywl900nOq&6*t^TzGRKf$3vjOerSC?kPt3(&ovvlf8J>+sXz^^ry~|P!wV8 z(Y}_en*+N{IgX!e82GTo#UjE(o=-rdt9TfS!JcFGzl~~2UhI56*>^a-3g6;@J_01T z&1)MqJy?drWH0uIcDn9iNyU8llC5hMO?NkyqDWmeqf^eS{>K7POC&4n=#U!Wz6^RS zAU(n(;oP4w3wChj+-K&`n1Zu@LXNNQd5UHR`8JdT^|Ut{Ox~qW!p)tF z94<$0DWc0Tdz{9;7zs1Rhk`*osH|A2PwIfHE87HF>ANFm&*PGGHK7AQIU(dBY7Wr+ zdu_S8L+go(r0eXthp@vh#gk?ldp-sL#*-cQ$oKigGZ$4F= zuibidgAtIdnu_K=+uBlB0%J=-aqxJj0diqK$sFnQ{H2@O52A=>@SN+t5~3@CDpfE^ zd|5MaXM9ewZD8%o)3kSlzG<9`CHvoey-HphTWb@H|WtXA87!w ze54@>zoQF)O`|~SuWSkQJo>@aGPz`3wCfRAQn}|gy&}1C@~H6SKs~lvr3>Sj9;wuY zajrd8y%T`Ug~~9vdiF@gNDR^Dzz!FlAMs(C4}0+JJnQ>2$~yW@{QKOwl?-ucEObxK za;XB^)A&JUQj-;iXhC~u7_q@hbD!Tq(fjLU zfc3K(tb=%Da%TM~e?+Et;UIFFST{M|00kkzDV!fkLymY|ypvP%5be>Yv zrDt(o&J<9U2dNsF*&WZj9GSf~&p|Asb}7?Zel@87DW6*ixs5WoOV^QTy!VFHp}Z>S zbn6<0nDd-esLccvbXlqf;2OzIZCi3z#{%E88NJ-Eg4(o(Z+ltZVDW4MGkQ8R}WG|ExC zolbNta>@H7?LG&XE@Uht-?4}F4s?xe%u(iDg>e*l%0ETRvpo?EL4#TdqJJ9!5w$wyr63}Y2%t1nbzEB%u(3bi~B<+$Y;L1e-rGXm|qlQ zMwwl?*<%@*yWMAbbEWrGbE@8qk5oMaLa#fz5p1JlpmK^XhfK5xq*<%W!{hjLL$fI& zq@_A|FV3CI-dUxS?G%v-`kKO9J`Uo?w04HEi?0t#QipgK;G6v50&Wi9?1sL;3@1u2 zJ^<;(wryAkid*^>kUcis?JPXfa%We}Xi~`8g?$bNwuWhXJ3u1S&kp$uxTChaFE(gs zz2#J*H3icRPP{?U@;Rp9MqU4Eg*3+uy3b9$MLJ|?GSz1-m2C!N;EZHC0hy(9?IUR9 zQnQ~v4{J7!NI2me1RzM&H&rFx} z>kEsjH>2P)`IA%!+Z_znJs;oNvIj-k6o1>AnLi{C`hQ}^;%mo!eyY32@O4gU#UI94 z=-+)+oQ!?7?%EJPfH=X)e98!Swg)49k}6huu<>zKmnZCyJiaAE9IAA^jq+j)g{?X% zDvw?RvTc>_w?{0@0vC3+`4^?&emo;wfP#I?u6Y)pcv@ph6?4prwjt^jFAjn0b-f_v z$?4rZF#oOj)m!LxO(F!UTTn!3hFpdWR6kj4bdq@slBAryZ$&{Zsd&QtE%(!waeqLe4{)Mzw#3;2eJ2 z2-Xlndhx4*@w|+*1Mxz7JXHS>rg6`vI_ zbt8!&G!fJ=0B|Yzi7JlWxr6N0GuLZ^o9G;z^b_3=ou9i zez4#r7<({^8t^Gw%x2kJ$Na9T3dCB>A=04XeD{^0kB7I3zx(h(%HeK$XtOej2nR2I zAa#qGO-e;cQm9{&e53mM5 z1vp4+NX`pt$9p+U$?DLUyNF=QOi*R#}7Zj{f2!u?y@Vx-*{s9$EZ~>3L1&#UQ zPIw7o401vx%dY=j2K(#yzAtu@^jcv=YHv^I55+1YY-3?V-SjBW<%2C>LMRcjWC8~d zlOL-O1$n4jH05?r0}P@Ze623+{mwg0VZp@e zDpNi=g7;Reb6K5CP?xENkKbbG5q@qT<$Bh+FIb%o^N=a4Rg-E^w|*XbDOCZ_Y*9@b(j zVjN5>M&mG|^kB-~slMyTR%be|g*~-t=#9{?mLEg3Pn<@Q!!GFFZ<=n)OBrF;3QxrZ z9%7Kaq6Ez)O)h3YB*f5_{A$&%=4+FjZoeaN+)VfIWp<$V$`Iki{s2&&He}kzdWg(= z{tA`EB7#s75w9Zl>Jun$tCOQnqfB{&bNzNC~Y z{jP=x@0!?ZO)P78?>*S3&(<2Ts;nBU;0cFM^U8du@4>x-!@!G5 zL1$a_&l}(yYx{}9_1hU^dxK|9xztTAX_4=2s-PDwX%Qgr!(HK8i@-&w?L;6Zh1qJN zVfB%_%32E1*8)fz3BrnoW=>1oI>HL_eVcrbEuUmG4b`!{)Sk;TU6m~-QxB^A+%w@1 zZ@)brnre^DkjXhM9NyD43K8I_LV)lE5JaRwCf(^s;c9S$EG_oxU9)od5m+43fdG*7 zYV;Lex7`R156y!UMc8>HcuPU0n&%O4)yQ($wIOOMy#O*+s&vll+0ayZS{Yn711BTi zIA+lw2+zQ$%>e-+_Wq10Jp>B4R7jX{AzCU~N=u*Yn<){hfy=>QPl{JmeT+(g*4;SMn5WKa4Rc^ta% z#Xo*+YQ9mLI(QxfW3iEYLG7cTNnjM*=*6yh->pj8gq`<*Z;rdslIbv1Y#vD8on)8{ zOcl_-fU+<+6dvSWS{P#w?m}81pSrDVbV{M;IQAyy%P;Daw!zhENUxQcctx=l(1i-> zzz??SnhxRSfII}N_+%p@=Jvt6-sJkv$Rg9JJ;<80-P*G}ND2zKgSC{y2X@Z^%3=>Z z?*`{%o58CGNH^hX1(LjCWi=~qiLwjv%u%lm2vy508~GBF8K(WtFR^yL;sgnK_YRu&^89!U&A*HNz^;!p<@2&+DgVAo!5VTKYdF9t-GW@WG$J?43ba> zhY6h)sZbEcU?EL0MyMhVd)IBkYx!1u`r$f}?@*tP)l(x`!qt!38l5^si)Z#UY9MLQ zBbQZFx{I{tLe0scR{`5Bz*ou2q*@d~M^`uVa`2@QRum|IY}%O)>U0+OO_x;cv!#_Z z)=JrFGd^%ssCy~$io9v-5B13qjnNU%7%Lk7Lo8jjn9ow1i;6x%Z9h98KSfcsHB=x; zfI$7?i@9?j8UqCZa2a;O48&VR$;R!vBF9sN45Y;|F-9yMecfB@RjY;?37&_aS+&S? zcXT0(9EM%}%|hB6dmzaZf#E64#KIJCOg|_UGck4**?MBL!MyKpl8z$rKHq_Kilm8; zjBs_&E6B?6*-0bAnYu9jPB1RF#32*Bh6MNzPy{jPh)4So=i^RuxKFKf99PRHgZHqM zH2BgY|0prNx4O_KpRqExm&tLlNL(omXLF5gmk-?A9iy#5x@pz&$aeI(bq*3D>7HqC z!zt;g6N-5Xk)t4j0Wy?Uc0MundL^SVyQ<@Lm33J5tV4gOAH1h(`{0XQi=lg_fulQ_ z#ec9qy=ab81nib@&EFxX9zj53K0%9Be`tc^ff=!GW{Rn2OKRROAf3(@w?UPUjP(m4 z=h4!Zqf4bv0YRp)u~K*_ycXMcdptQq-h7Hax1W+z;~Als@y>b)(gp;3fkTXqff)7v zD_7FD^`3Y6D!tJ9lQbBxXwRq8)O7E)W@o%s`zM<|>;>Y!s$F5S=~?y9Hq)55eigcc zf|W`w&oPqVtVarXT@kWaK2-Lt<=3`pDVTxXqe3ymTCM8{>l*HS6I%&2>F;6N7nr^4 zoTpNzMA?-wA8)mOwL>d5+Hh*dgr@k<^U3LQp~C;h$MSl{n*B3mO`J2$Bp%5h|MvNKAEUaB&+H0|l%EJk zq2P1b^}?KiwDH4PVt;;iSM~9Mk-3MRlst+LLt~lCzP|(Vm7)S5B;49;HmudWKD+FC zRkg--k;Lkj(hmP*62h#4%f9pA)SoK_VcO+g-gi2^W?Un?+BkW{XI-841|u-HTTm+Q zERH9kzI?pJO9|T`QjGtEy#IJvK=h-FCvNOrP( z#i08(CFM_52#&zcd5eONzlxAg+PPIn%aqAYmMU(zP-5gMoX>;%Aad9mDp7J0#9HHI z&+7HD6c@F$npWZ^S%eE}KLAE^5tSLv7ei5uB@7r1X#sXqFJLQQ5API(Z(D+$LqEiO zdMSq=hokdSyC9UHCMbaz{vA~J2PQ$r%9Z|ksglS*3@oq2bAr=T0-AH@E}3)AI;9H5 zn6_d=({u+U#T~O;WH2t5tUhhPobymf}?jygB z81`^)fLksS8;uSU6iCen@QdAYi%uslfz7P8aoEfAK&@+Nw})ExiVeh;oT`R;d@O3= zzEh22Sf-d*$xiV40QCtOrA&&;OgY%jhifU4h~r5>a%-{kAuwM#+y-V4e8Z0CrEaX% zx?d%Hl6k=QZ#<*1^lOl~Q2#o$3x#7#HV5+Cj7&5Qp*C}sc)>7QqI@T~ZtDh)?W^PH z5=gmQ^jp?tJF;ZUb_lyc3Z*oOOf;WTMh>LVU*3}tnjd{|^xxkLE`tGoAC>EQWbcR# z;0Y0G0U%ll3y0&B!jHi|Um#<}2Zzi|q|+JUE6K>uTASyZ{iWZonEWZFGyUM#Ci!bH zC-q>3$gb}}nm<|6%|RDi+7Ty1#H!a{qR2mMsYE8aRYL(h!31t@YjuwroG_XT6iXxh z^Pu&shl_%5qi7)OTvv+P`m~xv;R?h@neOIApL-_ZQ?UGDuDW_APiXF&{rCRwnT6C$ z3$MY6n22k|#{ol^ErB1-d=&^{&|hB+=1khp^>;v7}4h9U{#)2MayJ z|K5@QyT$fa6Q~{d*MshzFSIe8S)boIg8>1B?v;Y8FQ(>}m2CezJ^ETnP)i5hn%m4k z;4&c$IR7tHV)Ff^Jg&abgO>Op8jN$fmGC5PKwL~{7J=%;1Uxe!k&p(-^kGN~(lI0r zVrTX!$RCw=TVf&_S_Y84$VA#8FNczp1nDS}62G5xD-d~>I_=aG8oNHsLX@tiF{n&< z#s>}OD27j8P~`8@Z$x0c^0ux`GMyTNYO$c& z?@ZEp`Ts~`O8=S0RDX$ym;I8Z+ue0+2bP`@%N#hZYAM@p&;W~|@_!)xrrLuq6y~H& zMcUNxI(sEUOVc;3|5rA~xFo3*iUAu9Ap7|v(dhcn3RPPgdIkSWW2LjD)PQx*lWvPV zri()#-UV}{K6I@Y)He{4|ADWqwG0NBzZE zmR(j~?z|Th38C85GB`-Vq7~>7J+8npxiCg~L3hMe!vF8Mnh2g%wUUAq+AA!9=kTo^1_5y9sy zYNJ0eKq}N7n~$BhW6g<2tER&a&c*Vn^eGjpzyVezGt?dD=LtY(aeCoS)f&6n9P16&a4cDDf!1{0a!| zfI<@-@6g+k7EdS-oQuo?ZQ=S|W{+xztpt0WackBo{5bs98h2>niBnvZjsYp<)YY6u z$;vG(KTQ%T*C1E^QNC5ntWz_&z&Du|4vq}bF}a>6_YQxA?BQx95-#z)e4RAm$F5wd zq^+Sl;xqSHB^0*QtNd1~j`Q}d%-$pjKA#uBu6LDs*{x&H)jgLY{0kkNS4u_()*kCk zvVR*jyBcWs{7bNR>a=;MLY>hcOmi)+-aEnOPOd>3oTKYV z88I_8b%h^+-9NE^`L7$BWA6W;t|0wL07vd4cS{U4pVyyRV73BL5Ng0`6cVXp1ZwbJ%? z-fayPi&vaHd*__*i{I=G0fha{*Oa~d^FCzg`pPX0O|8}=r)tBxud0Q5V&{Y4wsnLJ z4R26L7M8v%pvXYL#sVw?-h`(W>mYtI%^5kxL%O%&x)t0}!T>cK@I}xGx&^6la zrjoPCbaw5xU>W zR$|iX&c&lJcp*b1yc}C#$rk^Bfva^0i|=)VZ(|bnMSz#((M&X&Je9h-tBhf*Q!Veu zA>Qj_9CbY6-jDt*@1jZV#-F%j5SAoeczFV5SRdoi-{b|*Q=p30{(a%lNOJ93~ zw|q$J_}|t9^SS=?j`IY!g%up-d7C5ABOtX8V2YB;8!tVeRa@>~-Daj?Fi_Gs-LNH} z{oZRAc51TK!O2_NkFiIkLh5A`q zc-um^@u3{frGf5W*FZ5b1EG#v=kq0~4i2i5R?oK_$9;aOCLLDL5DTdmQVgFNgVCKp znT5361_yE#yL^kT#_zjlv~2Y#%8EFTtk)#;vQGc&Tbe8CAs>R zHqBX6f^28C8dRb1&hP%e^{3|?oFV97;J0tSR%!f?AJ6S%z8|Z)Ic4AbtlP$S(?3b* z^E4M8FY;9d9+D})d=}%!Jv#r6&)aykXpi;P8&T6=DNWu#L2Js7kV*INCP#xUZz|mM z`rbuu`OCEy@A_Y*UanoS{mn+*$)~|VH7!}|YJ>nhQ#b`#t;C z&$ret|GW3h4W@)gI#0iq{Z9R!yGV@NBrSOE>l>b%{O7+;erp)_!u);km&?0C7CNh+ z+#S>^=-Z?F>*4X0$4(sNo@cx*feBc`?Y%qcN%zWS0(Pkrzb#+(EACg#sx9+RrtLA{ zIVS79(e5Ph)TOdjuWfD2_nzMfiZbTl*e52Qd2t{1Y-BxfB=VGcw`Y;l-n%h--|qT# z(QE3R@=euUiW1;-^()cpqFe&-KRj8Sa!e3 z&S5mTX7+rY_{uj|`sZ@b+r9DhzV$I1{?6;S*NimDzNDSJXM@qbFVslxC5>6Oa#C04OX)sym<%{ut?#+P}8$vL3L e`CtP)H~zCbO?33~>AU3%a+{~CpUXO@geCwjkPn6c diff --git a/articles/02_train_simple_model_files/figure-html/Plot the model output-1.png b/articles/02_train_simple_model_files/figure-html/Plot the model output-1.png index d465e34bdea98c2738435afdd23a8990d61f54b8..54e23b65eae670974c049766f2a255d10fee39ac 100644 GIT binary patch literal 45475 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 S-E`%H diff --git a/articles/02_train_simple_model_files/figure-html/Prediction limits-1.png b/articles/02_train_simple_model_files/figure-html/Prediction limits-1.png index b51f9365db0d033c91deda7c7e78bf1e81236d60..363711333dc569bed6d2811fbf3ae15d6f5fb998 100644 GIT binary patch literal 38409 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 c_he<`rNcEAGQo|m;){bHvpHIMpF literal 38388 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 O2R~_jqV(A1AO0U0x23-T diff --git a/articles/02_train_simple_model_files/figure-html/Train models with spatial constrains-2.png b/articles/02_train_simple_model_files/figure-html/Train models with spatial constrains-2.png index e0f166e6fa5202a72b34a95a74b9007b56de1cf0..58fdf108c7dc093665bb16e28d7f2cd5e3b7821a 100644 GIT binary patch literal 36597 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­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 bcC83-=SOc3s%4t<#|Hn|^hEaYOTYX-ZYeMG literal 35315 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 diff --git a/articles/02_train_simple_model_files/figure-html/partial effect-1.png b/articles/02_train_simple_model_files/figure-html/partial effect-1.png index f22d5aaadc42ee9db59a1ee3c7552906239d7b96..b5440df755b1ac291924f40cf91be3c83f011a46 100644 GIT binary patch literal 48214 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 U{avWyu~^)t)=RR@HXZyw07Plbe*gdg literal 47718 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 XntrC)PThy{caB4x?GD;bTK0bd?~PcJ diff --git a/articles/02_train_simple_model_files/figure-html/partial effect-2.png b/articles/02_train_simple_model_files/figure-html/partial effect-2.png index 71b36631c87711cba102d1d4e99adc176063e9f4..4ec7aa7a37158da3237f7f284c226c94ef043064 100644 GIT binary patch literal 26005 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 oSkuIj#}*ml_y4D-H>KmT-Y%Z5#A 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 E4dvg)KmY&$ diff --git a/articles/03_integrate_data.html b/articles/03_integrate_data.html index 6f7cde6c..2c5a82b9 100644 --- a/articles/03_integrate_data.html +++ b/articles/03_integrate_data.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source:
vignettes/articles/03_integrate_data.Rmd
03_integrate_data.Rmd
@@ -309,7 +309,7 @@

Integration with priorspp <- priors(p) # The variables and values in this object can be queried as well pp$varnames() -#> 199d66d8-aec9-47cd-b015-33c621ff9cfc +#> 74b3ef61-412d-4ff9-a1bc-4eb22124e9cc #> "CLC3_211_mean_50km" # Priors can then be added via @@ -546,8 +546,8 @@

Joint likelihood estimation#> variable mean sd q05 q50 q95 mode kld #> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 Intercept -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 -#> 2 Intercept_X5bce1d17_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 -#> 3 Intercept_X2e62c88e_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 +#> 2 Intercept_X068f7048_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 +#> 3 Intercept_c95280ea_poi… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 4 bio01_mean_50km -0.109 0.134 -0.330 -0.109 0.112 -0.109 0 #> 5 bio03_mean_50km -0.482 0.121 -0.681 -0.482 -0.282 -0.482 0 #> 6 bio19_mean_50km 0.470 0.0870 0.327 0.470 0.613 0.470 0 @@ -569,7 +569,7 @@

Joint likelihood estimation -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/articles/03_integrate_data_files/figure-html/Combined integration-1.png b/articles/03_integrate_data_files/figure-html/Combined integration-1.png index 9c0dcd3587c36c68d5bd87ac52fe793747089935..823f9a3199d9755a285deb32a5421c760dc9b770 100644 GIT binary patch delta 13675 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 literal 48724 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 W@AS7;C$%SZPrQYeCYcLd_x&$Oiki3p diff --git a/articles/03_integrate_data_files/figure-html/Specification of priors-2.png b/articles/03_integrate_data_files/figure-html/Specification of priors-2.png index 3f2e5bfc04441fefc735bb5594b3637e0f3f8b19..44ac91e2c5467a5300d04a6a2a9c276590fac03d 100644 GIT binary patch literal 46239 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 literal 46541 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 diff --git a/articles/03_integrate_data_files/figure-html/unnamed-chunk-2-1.png b/articles/03_integrate_data_files/figure-html/unnamed-chunk-2-1.png index e5ca8b1b37e12f4d3eea6286ddcb0892a553cbb2..3044210464d17d797522311251467ecb0ea2a73c 100644 GIT binary patch literal 33505 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 F{|yr0c5eUx literal 33499 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 lu3292k^g`HZSzpCO@g?U{(9kW{}&+7I=lb? diff --git a/articles/04_biodiversity_projections.html b/articles/04_biodiversity_projections.html index e0cbe9cb..8435d41b 100644 --- a/articles/04_biodiversity_projections.html +++ b/articles/04_biodiversity_projections.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source:
vignettes/articles/04_biodiversity_projections.Rmd
04_biodiversity_projections.Rmd
@@ -465,7 +465,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/05_mechanistic_estimation.Rmd
05_mechanistic_estimation.Rmd
@@ -375,7 +375,7 @@

Simulating diff --git a/articles/05_mechanistic_estimation_files/figure-html/KISSMig dispersal simulation-1.png b/articles/05_mechanistic_estimation_files/figure-html/KISSMig dispersal simulation-1.png index e9878a71d5412c9391b7338c2fb9bfe4e0236511..98c723e33c02a9046af54176fbedbb1324a2f771 100644 GIT binary patch literal 73690 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 z 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 A^#A|> literal 66451 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 diff --git a/articles/05_mechanistic_estimation_files/figure-html/Load data and fit model-1.png b/articles/05_mechanistic_estimation_files/figure-html/Load data and fit model-1.png index b184190954c3220bcce41e2bb08b1f3940039b15..0298fe473ed55cb6a6ea5db234c7d6ed8ae9c69a 100644 GIT binary patch literal 15583 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 uIKJ`ixGB81){5T!|PN-ruXiWmqb^w67> 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�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%0AxDhxy^ZE75HE16BAb|^1$0q&L{jQsM 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�+F& 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 z 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Á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 diff --git a/articles/06_engine_comparison.html b/articles/06_engine_comparison.html index 12c20ae6..f052d796 100644 --- a/articles/06_engine_comparison.html +++ b/articles/06_engine_comparison.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source:
vignettes/articles/06_engine_comparison.Rmd
06_engine_comparison.Rmd
@@ -233,7 +233,7 @@

Capabilities of included engines diff --git a/articles/07_package_comparison.html b/articles/07_package_comparison.html index cd7a9f9b..6c6c379b 100644 --- a/articles/07_package_comparison.html +++ b/articles/07_package_comparison.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/07_package_comparison.Rmd
07_package_comparison.Rmd
@@ -166,7 +166,7 @@

Comparison with other packages -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/articles/08_frequently-asked-questions.html b/articles/08_frequently-asked-questions.html index e2304913..ad08ea18 100644 --- a/articles/08_frequently-asked-questions.html +++ b/articles/08_frequently-asked-questions.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/08_frequently-asked-questions.Rmd
08_frequently-asked-questions.Rmd
@@ -599,7 +599,7 @@

Any other questions and issues -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/articles/contributing.html b/articles/contributing.html index c4dff720..c41e8fc5 100644 --- a/articles/contributing.html +++ b/articles/contributing.html @@ -73,7 +73,7 @@

Martin Jung

-

2024-08-25

+

2024-10-08

Source: vignettes/articles/contributing.Rmd
contributing.Rmd
@@ -124,7 +124,7 @@

Development guidelines diff --git a/articles/index.html b/articles/index.html index 25042ee0..ab20c6f1 100644 --- a/articles/index.html +++ b/articles/index.html @@ -73,7 +73,7 @@

All vignettes

diff --git a/authors.html b/authors.html index ae119db4..9f3cbb3d 100644 --- a/authors.html +++ b/authors.html @@ -87,7 +87,7 @@

Citation

diff --git a/index.html b/index.html index 6d9bd93f..669cc953 100644 --- a/index.html +++ b/index.html @@ -172,7 +172,7 @@

Developers

diff --git a/news/index.html b/news/index.html index 7814414c..d10972fb 100644 --- a/news/index.html +++ b/news/index.html @@ -47,14 +47,16 @@

ibis.iSDM 0.1.5 (current dev branch)

New features
-
  • Support for ‘modal’ value calculations in ensemble().
  • +
    • New visualization function nicheplot() to visualize suitability across 2 axes
    • +
    • Support for ‘modal’ value calculations in ensemble().
    • Support for ‘superlearner’ in ensemble().
    • Support for ‘kmeans’ derived threshold calculation in threshold() and predictor_derivate().
    • Support for future processing streamlined. See FAQ section for instructions #18.
Minor improvements and bug fixes
-
  • Minor 🐛 fix related to misaligned thresholds and negative exponential kernels.
  • +
    • Now overwriting temporary data by default in predictor_transform() and similar functions.
    • +
    • Minor 🐛 fix related to misaligned thresholds and negative exponential kernels.
    • 🔥 🐛 fix for scenario projections that use different grain sizes than for inference.
@@ -310,7 +312,7 @@

ibis.iSDM 0.0.1< diff --git a/pkgdown.js b/pkgdown.js index 9757bf9e..1a99c65f 100644 --- a/pkgdown.js +++ b/pkgdown.js @@ -152,3 +152,11 @@ async function searchFuse(query, callback) { }); }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/pkgdown.yml b/pkgdown.yml index cb5ab9d1..c78290af 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -1,5 +1,5 @@ pandoc: 3.1.11 -pkgdown: 2.1.0 +pkgdown: 2.1.1 pkgdown_sha: ~ articles: articles/01_data_preparationhelpers: 01_data_preparationhelpers.html @@ -11,7 +11,7 @@ articles: articles/07_package_comparison: 07_package_comparison.html articles/08_frequently-asked-questions: 08_frequently-asked-questions.html articles/contributing: contributing.html -last_built: 2024-08-25T10:13Z +last_built: 2024-10-08T19:46Z urls: reference: https://iiasa.github.io/ibis.iSDM/reference article: https://iiasa.github.io/ibis.iSDM/articles diff --git a/reference/BARTPrior.html b/reference/BARTPrior.html index 0bf03e1c..c92d73d0 100644 --- a/reference/BARTPrior.html +++ b/reference/BARTPrior.html @@ -141,7 +141,7 @@

See also diff --git a/reference/BARTPriors.html b/reference/BARTPriors.html index 9a368bc2..792b451b 100644 --- a/reference/BARTPriors.html +++ b/reference/BARTPriors.html @@ -108,7 +108,7 @@

See also diff --git a/reference/BREGPrior.html b/reference/BREGPrior.html index e032bda8..ae860806 100644 --- a/reference/BREGPrior.html +++ b/reference/BREGPrior.html @@ -156,7 +156,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/BREGPriors.html b/reference/BREGPriors.html index e2269b2e..d3dee121 100644 --- a/reference/BREGPriors.html +++ b/reference/BREGPriors.html @@ -107,7 +107,7 @@

See also diff --git a/reference/BiodiversityDataset-class.html b/reference/BiodiversityDataset-class.html index 3ad16d63..93b34cde 100644 --- a/reference/BiodiversityDataset-class.html +++ b/reference/BiodiversityDataset-class.html @@ -420,7 +420,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/BiodiversityDatasetCollection-class.html b/reference/BiodiversityDatasetCollection-class.html index 46d6095e..c994f5db 100644 --- a/reference/BiodiversityDatasetCollection-class.html +++ b/reference/BiodiversityDatasetCollection-class.html @@ -507,7 +507,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/BiodiversityDistribution-class.html b/reference/BiodiversityDistribution-class.html index 8fff4151..24c6dc8b 100644 --- a/reference/BiodiversityDistribution-class.html +++ b/reference/BiodiversityDistribution-class.html @@ -67,7 +67,7 @@

Note

See also

-

add_control_extrapolation()

+

add_limits_extrapolation()

add_latent_spatial()

add_priors()

add_biodiversity_poipa(), add_biodiversity_poipo(), add_biodiversity_polpa(), add_biodiversity_polpo()

@@ -872,7 +872,7 @@

Examplespackage='ibis.iSDM',mustWork = TRUE)) # Define model x <- distribution(background) -#> [Setup] 2024-08-25 10:14:03.136657 | Creating distribution object... +#> [Setup] 2024-10-08 19:46:31.208288 | Creating distribution object... names(x) #> [1] ".__enclos_env__" "engine" #> [3] "log" "offset" @@ -914,7 +914,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/BiodiversityScenario-class.html b/reference/BiodiversityScenario-class.html index a063c1e4..53c4726f 100644 --- a/reference/BiodiversityScenario-class.html +++ b/reference/BiodiversityScenario-class.html @@ -894,7 +894,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/DistributionModel-class.html b/reference/DistributionModel-class.html index a06f7b2d..666b8155 100644 --- a/reference/DistributionModel-class.html +++ b/reference/DistributionModel-class.html @@ -584,7 +584,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/Engine-class.html b/reference/Engine-class.html index 5e1d50b1..96f45a26 100644 --- a/reference/Engine-class.html +++ b/reference/Engine-class.html @@ -237,7 +237,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/GDBPrior.html b/reference/GDBPrior.html index 12baa029..9d1cc08a 100644 --- a/reference/GDBPrior.html +++ b/reference/GDBPrior.html @@ -138,7 +138,7 @@

See also diff --git a/reference/GDBPriors.html b/reference/GDBPriors.html index f3bcb931..469dc1ba 100644 --- a/reference/GDBPriors.html +++ b/reference/GDBPriors.html @@ -108,7 +108,7 @@

See also diff --git a/reference/GLMNETPrior.html b/reference/GLMNETPrior.html index a9561f2f..a505b54f 100644 --- a/reference/GLMNETPrior.html +++ b/reference/GLMNETPrior.html @@ -160,7 +160,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/GLMNETPriors.html b/reference/GLMNETPriors.html index 50b0a90d..03da1eac 100644 --- a/reference/GLMNETPriors.html +++ b/reference/GLMNETPriors.html @@ -109,7 +109,7 @@

See also diff --git a/reference/INLAPrior.html b/reference/INLAPrior.html index a14c4993..3d7d797d 100644 --- a/reference/INLAPrior.html +++ b/reference/INLAPrior.html @@ -190,7 +190,7 @@

See also diff --git a/reference/INLAPriors.html b/reference/INLAPriors.html index b85bfd45..47310770 100644 --- a/reference/INLAPriors.html +++ b/reference/INLAPriors.html @@ -111,7 +111,7 @@

See also diff --git a/reference/Log-class.html b/reference/Log-class.html index 51c06664..964ee221 100644 --- a/reference/Log-class.html +++ b/reference/Log-class.html @@ -229,7 +229,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/PredictorDataset-class.html b/reference/PredictorDataset-class.html index 7d503bc1..2a150e17 100644 --- a/reference/PredictorDataset-class.html +++ b/reference/PredictorDataset-class.html @@ -523,7 +523,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/Prior-class.html b/reference/Prior-class.html index f0baed16..11dd66e1 100644 --- a/reference/Prior-class.html +++ b/reference/Prior-class.html @@ -289,7 +289,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/PriorList-class.html b/reference/PriorList-class.html index 4bde424a..5e26fa3b 100644 --- a/reference/PriorList-class.html +++ b/reference/PriorList-class.html @@ -373,7 +373,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/STANPrior.html b/reference/STANPrior.html index ac4714fe..1c23282c 100644 --- a/reference/STANPrior.html +++ b/reference/STANPrior.html @@ -131,7 +131,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/STANPriors.html b/reference/STANPriors.html index 409f5b7d..af977ffb 100644 --- a/reference/STANPriors.html +++ b/reference/STANPriors.html @@ -111,7 +111,7 @@

See also diff --git a/reference/Settings-class.html b/reference/Settings-class.html index 0f9dae18..a4a3f1aa 100644 --- a/reference/Settings-class.html +++ b/reference/Settings-class.html @@ -232,7 +232,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/XGBPrior.html b/reference/XGBPrior.html index 4a2e4b99..f1d97500 100644 --- a/reference/XGBPrior.html +++ b/reference/XGBPrior.html @@ -133,7 +133,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/XGBPriors.html b/reference/XGBPriors.html index f9ddcef5..9579d8ff 100644 --- a/reference/XGBPriors.html +++ b/reference/XGBPriors.html @@ -109,7 +109,7 @@

See also diff --git a/reference/add_biodiversity_poipa.html b/reference/add_biodiversity_poipa.html index 3e08add1..ba402a10 100644 --- a/reference/add_biodiversity_poipa.html +++ b/reference/add_biodiversity_poipa.html @@ -202,7 +202,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_biodiversity_poipo.html b/reference/add_biodiversity_poipo.html index fb6c880c..0cf8f657 100644 --- a/reference/add_biodiversity_poipo.html +++ b/reference/add_biodiversity_poipo.html @@ -191,8 +191,8 @@

Examples# Define model x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = "Observed") -#> [Setup] 2024-08-25 10:14:09.266048 | Creating distribution object... -#> [Setup] 2024-08-25 10:14:09.266916 | Adding poipo dataset... +#> [Setup] 2024-10-08 19:46:37.466082 | Creating distribution object... +#> [Setup] 2024-10-08 19:46:37.46719 | Adding poipo dataset... @@ -205,7 +205,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_biodiversity_polpa.html b/reference/add_biodiversity_polpa.html index 12629ad7..b81f13ad 100644 --- a/reference/add_biodiversity_polpa.html +++ b/reference/add_biodiversity_polpa.html @@ -222,7 +222,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_biodiversity_polpo.html b/reference/add_biodiversity_polpo.html index 0e5abe28..093d4e86 100644 --- a/reference/add_biodiversity_polpo.html +++ b/reference/add_biodiversity_polpo.html @@ -223,7 +223,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint.html b/reference/add_constraint.html index c3db7db2..924618ab 100644 --- a/reference/add_constraint.html +++ b/reference/add_constraint.html @@ -175,7 +175,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint_MigClim.html b/reference/add_constraint_MigClim.html index 24490a17..fb597268 100644 --- a/reference/add_constraint_MigClim.html +++ b/reference/add_constraint_MigClim.html @@ -209,7 +209,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint_adaptability.html b/reference/add_constraint_adaptability.html index 026d2570..c4ad1b4a 100644 --- a/reference/add_constraint_adaptability.html +++ b/reference/add_constraint_adaptability.html @@ -155,7 +155,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint_boundary.html b/reference/add_constraint_boundary.html index ba271874..675fa3c0 100644 --- a/reference/add_constraint_boundary.html +++ b/reference/add_constraint_boundary.html @@ -141,7 +141,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint_connectivity.html b/reference/add_constraint_connectivity.html index a3058fd1..2a2a5f2e 100644 --- a/reference/add_constraint_connectivity.html +++ b/reference/add_constraint_connectivity.html @@ -124,7 +124,7 @@

See also diff --git a/reference/add_constraint_dispersal.html b/reference/add_constraint_dispersal.html index bced129d..e1f192ca 100644 --- a/reference/add_constraint_dispersal.html +++ b/reference/add_constraint_dispersal.html @@ -140,7 +140,7 @@

See also diff --git a/reference/add_constraint_minsize.html b/reference/add_constraint_minsize.html index cdfea9d9..cc4b1cff 100644 --- a/reference/add_constraint_minsize.html +++ b/reference/add_constraint_minsize.html @@ -160,7 +160,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_constraint_threshold.html b/reference/add_constraint_threshold.html index 6087a249..af37d831 100644 --- a/reference/add_constraint_threshold.html +++ b/reference/add_constraint_threshold.html @@ -134,7 +134,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_control_bias.html b/reference/add_control_bias.html index 2878a8b5..da348570 100644 --- a/reference/add_control_bias.html +++ b/reference/add_control_bias.html @@ -216,7 +216,7 @@

References

See also

-

add_control_extrapolation()

+
@@ -238,7 +238,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_latent_spatial.html b/reference/add_latent_spatial.html index 3acc44d5..eba72edc 100644 --- a/reference/add_latent_spatial.html +++ b/reference/add_latent_spatial.html @@ -196,7 +196,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_limits_extrapolation.html b/reference/add_limits_extrapolation.html index 33c92c4e..b0cf0d39 100644 --- a/reference/add_limits_extrapolation.html +++ b/reference/add_limits_extrapolation.html @@ -244,7 +244,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_log.html b/reference/add_log.html index 5550382b..79cefe6d 100644 --- a/reference/add_log.html +++ b/reference/add_log.html @@ -96,7 +96,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_offset.html b/reference/add_offset.html index e67c092a..684f942f 100644 --- a/reference/add_offset.html +++ b/reference/add_offset.html @@ -149,7 +149,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_offset_bias.html b/reference/add_offset_bias.html index 653a0d86..16572b89 100644 --- a/reference/add_offset_bias.html +++ b/reference/add_offset_bias.html @@ -148,7 +148,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_offset_elevation.html b/reference/add_offset_elevation.html index 270b41f1..41167759 100644 --- a/reference/add_offset_elevation.html +++ b/reference/add_offset_elevation.html @@ -146,7 +146,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_offset_range.html b/reference/add_offset_range.html index 6cc9db4d..b9653ef3 100644 --- a/reference/add_offset_range.html +++ b/reference/add_offset_range.html @@ -232,7 +232,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_predictor_elevationpref.html b/reference/add_predictor_elevationpref.html index 8af6b1e3..2a7e8169 100644 --- a/reference/add_predictor_elevationpref.html +++ b/reference/add_predictor_elevationpref.html @@ -104,7 +104,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_predictor_range.html b/reference/add_predictor_range.html index e46d0434..d625b5ee 100644 --- a/reference/add_predictor_range.html +++ b/reference/add_predictor_range.html @@ -174,7 +174,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_predictors.html b/reference/add_predictors.html index 3615d62f..13fe5ba8 100644 --- a/reference/add_predictors.html +++ b/reference/add_predictors.html @@ -295,7 +295,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_predictors_globiom.html b/reference/add_predictors_globiom.html index 1dde5ca5..1b863fb6 100644 --- a/reference/add_predictors_globiom.html +++ b/reference/add_predictors_globiom.html @@ -211,7 +211,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_predictors_model.html b/reference/add_predictors_model.html index 18acdaae..60fb4b04 100644 --- a/reference/add_predictors_model.html +++ b/reference/add_predictors_model.html @@ -172,7 +172,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_priors.html b/reference/add_priors.html index b754e42e..850dc119 100644 --- a/reference/add_priors.html +++ b/reference/add_priors.html @@ -125,7 +125,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/add_pseudoabsence.html b/reference/add_pseudoabsence.html index efa8c091..d187b0d2 100644 --- a/reference/add_pseudoabsence.html +++ b/reference/add_pseudoabsence.html @@ -153,7 +153,7 @@

References -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/alignRasters.html b/reference/alignRasters.html index 5a7b2d4d..5ae31c3d 100644 --- a/reference/alignRasters.html +++ b/reference/alignRasters.html @@ -117,7 +117,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/as.Id.html b/reference/as.Id.html index cd392de5..cbb74e26 100644 --- a/reference/as.Id.html +++ b/reference/as.Id.html @@ -78,7 +78,7 @@

Arguments -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/bivplot.html b/reference/bivplot.html index 131f00cc..5a1d9ebc 100644 --- a/reference/bivplot.html +++ b/reference/bivplot.html @@ -1,5 +1,5 @@ -Bivariate plot wrapper for distribution objects — bivplot • ibis.iSDM
@@ -185,7 +185,7 @@

See also

diff --git a/reference/check.html b/reference/check.html index 7b90f552..72fd33d1 100644 --- a/reference/check.html +++ b/reference/check.html @@ -127,7 +127,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/coef.html b/reference/coef.html index f8d68d4d..46dd5180 100644 --- a/reference/coef.html +++ b/reference/coef.html @@ -89,7 +89,7 @@

See also diff --git a/reference/combine_formulas.html b/reference/combine_formulas.html index 97a2e06d..3e4da02e 100644 --- a/reference/combine_formulas.html +++ b/reference/combine_formulas.html @@ -96,11 +96,11 @@

Examples
# Combine everything (default)
 combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover)
 #> observed ~ rainfall + temp
-#> <environment: 0x55c5328c6b78>
+#> <environment: 0x55eba0b632f0>
 # Combine only LHS
 combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover, combine = "lhs")
 #> observed ~ rainfall + temp + rainfall + forest.cover
-#> <environment: 0x55c5328c6b78>
+#> <environment: 0x55eba0b632f0>
 

This engine is essentially a wrapper for stats::glm.fit(), however with customized settings to support offsets and weights.

+

If "optim_hyperparam" is set to TRUE in train(), then a AIC +based step-wise (backwards) model selection is performed. +Generally however engine_glmnet should be the preferred package for models +with more than >3 covariates.

References

@@ -142,7 +146,7 @@

Examples # Add GLM as an engine x <- distribution(background) |> engine_glm() -#> [Setup] 2024-08-25 10:14:16.00418 | Creating distribution object... +#> [Setup] 2024-10-08 19:46:44.011477 | Creating distribution object... print(x) #> <Biodiversity distribution model> #> Background extent: @@ -170,7 +174,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_glmnet.html b/reference/engine_glmnet.html index 778ea3cc..7cd1f12e 100644 --- a/reference/engine_glmnet.html +++ b/reference/engine_glmnet.html @@ -191,7 +191,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_inla.html b/reference/engine_inla.html index ec101a38..c930ae6b 100644 --- a/reference/engine_inla.html +++ b/reference/engine_inla.html @@ -253,7 +253,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_inlabru.html b/reference/engine_inlabru.html index 9a85584f..6a50a8dd 100644 --- a/reference/engine_inlabru.html +++ b/reference/engine_inlabru.html @@ -231,7 +231,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_scampr.html b/reference/engine_scampr.html index 93b341a7..cd05b3e3 100644 --- a/reference/engine_scampr.html +++ b/reference/engine_scampr.html @@ -163,7 +163,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_stan.html b/reference/engine_stan.html index 2a323dca..c270b9fa 100644 --- a/reference/engine_stan.html +++ b/reference/engine_stan.html @@ -198,7 +198,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/engine_xgboost.html b/reference/engine_xgboost.html index 6f821473..e2b9b65d 100644 --- a/reference/engine_xgboost.html +++ b/reference/engine_xgboost.html @@ -206,7 +206,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ensemble-1.png b/reference/ensemble-1.png index 2a076eac4dd20a0a34504005b0aee6754b0c6c7f..c5bfef8903f0300e3d3766142be191e88fb2bc05 100644 GIT binary patch literal 40295 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 I&MBb@0B6OYH2?qr literal 39964 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 DNsYrh diff --git a/reference/ensemble.html b/reference/ensemble.html index 22fb11ca..51a98e92 100644 --- a/reference/ensemble.html +++ b/reference/ensemble.html @@ -244,7 +244,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ensemble_partial.html b/reference/ensemble_partial.html index 63e24b65..83eb634e 100644 --- a/reference/ensemble_partial.html +++ b/reference/ensemble_partial.html @@ -164,7 +164,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ensemble_spartial.html b/reference/ensemble_spartial.html index 91b29766..527b020f 100644 --- a/reference/ensemble_spartial.html +++ b/reference/ensemble_spartial.html @@ -172,7 +172,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/formatGLOBIOM.html b/reference/formatGLOBIOM.html index ee408a82..2dc5482f 100644 --- a/reference/formatGLOBIOM.html +++ b/reference/formatGLOBIOM.html @@ -128,7 +128,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/get_data.html b/reference/get_data.html index 58c20466..f866c3db 100644 --- a/reference/get_data.html +++ b/reference/get_data.html @@ -107,7 +107,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/get_ngbvalue.html b/reference/get_ngbvalue.html index cf45121a..5bdc55d6 100644 --- a/reference/get_ngbvalue.html +++ b/reference/get_ngbvalue.html @@ -140,7 +140,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/get_priors.html b/reference/get_priors.html index d2bfd92a..233df79a 100644 --- a/reference/get_priors.html +++ b/reference/get_priors.html @@ -135,7 +135,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/get_rastervalue.html b/reference/get_rastervalue.html index d3212122..3ea201df 100644 --- a/reference/get_rastervalue.html +++ b/reference/get_rastervalue.html @@ -123,7 +123,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ibis.iSDM.html b/reference/ibis.iSDM.html index 01edd587..4a4e5878 100644 --- a/reference/ibis.iSDM.html +++ b/reference/ibis.iSDM.html @@ -94,7 +94,7 @@

Author< diff --git a/reference/ibis_dependencies.html b/reference/ibis_dependencies.html index 58bd2485..8ce1501d 100644 --- a/reference/ibis_dependencies.html +++ b/reference/ibis_dependencies.html @@ -112,7 +112,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ibis_enable_parallel.html b/reference/ibis_enable_parallel.html index 52e9547e..0d942760 100644 --- a/reference/ibis_enable_parallel.html +++ b/reference/ibis_enable_parallel.html @@ -80,7 +80,7 @@

See also diff --git a/reference/ibis_future.html b/reference/ibis_future.html index ebeb1c94..1984e9ce 100644 --- a/reference/ibis_future.html +++ b/reference/ibis_future.html @@ -71,7 +71,11 @@

Usage

Arguments

-
cores
+
plan_exists
+

A logical check on whether an existing future plan exists (Default: FALSE).

+ + +
cores

A numeric number stating the number of cores to use.

@@ -127,7 +131,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ibis_options.html b/reference/ibis_options.html index e85235ab..02a9e3d9 100644 --- a/reference/ibis_options.html +++ b/reference/ibis_options.html @@ -119,7 +119,7 @@

Examples#> [1] FALSE #> #> $ibis.seed -#> [1] 12179 +#> [1] 12494 #> #> $ibis.setupmessages #> [1] TRUE @@ -136,7 +136,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/ibis_set_strategy.html b/reference/ibis_set_strategy.html index acadf92b..0861a9c6 100644 --- a/reference/ibis_set_strategy.html +++ b/reference/ibis_set_strategy.html @@ -75,7 +75,7 @@

Details

See also

-

future, ibis_future_run

+

future, ibis_future

+ + nicheplot() + +
+
Niche plot wrapper for distribution objects
+
+ print(<distribution>) print(<BiodiversityDistribution>) print(<BiodiversityDatasetCollection>) print(<BiodiversityDataset>) print(<PredictorDataset>) print(<DistributionModel>) print(<BiodiversityScenario>) print(<Prior>) print(<PriorList>) print(<Engine>) print(<Settings>) print(<Log>) print(<Id>) print(<tbl_df>)
@@ -1016,7 +1028,7 @@

Miscellaneous functionsbivplot() -
Bivariate plot wrapper for distribution objects
+
Bivariate prediction plot for distribution objects

ibis_dependencies() @@ -1097,6 +1109,12 @@

Miscellaneous functionsWaiver

+ nicheplot() + +
+
Niche plot wrapper for distribution objects
+
+ plot(<DistributionModel>) plot(<BiodiversityDatasetCollection>) plot(<PredictorDataset>) plot(<Engine>) plot(<BiodiversityScenario>)
@@ -1135,7 +1153,7 @@

Miscellaneous functions diff --git a/reference/interpolate_gaps.html b/reference/interpolate_gaps.html index 4c80b192..05d0d9e8 100644 --- a/reference/interpolate_gaps.html +++ b/reference/interpolate_gaps.html @@ -100,7 +100,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/is.Id.html b/reference/is.Id.html index 9f35ffcd..24c4c0ca 100644 --- a/reference/is.Id.html +++ b/reference/is.Id.html @@ -75,7 +75,7 @@

Value

diff --git a/reference/is.Raster.html b/reference/is.Raster.html index 56c55a29..07deb88e 100644 --- a/reference/is.Raster.html +++ b/reference/is.Raster.html @@ -75,7 +75,7 @@

Value

diff --git a/reference/is.Waiver.html b/reference/is.Waiver.html index ec69a997..17abef46 100644 --- a/reference/is.Waiver.html +++ b/reference/is.Waiver.html @@ -75,7 +75,7 @@

Value

diff --git a/reference/is.formula.html b/reference/is.formula.html index af892111..b6563456 100644 --- a/reference/is.formula.html +++ b/reference/is.formula.html @@ -75,7 +75,7 @@

Value

diff --git a/reference/is.stars.html b/reference/is.stars.html index 1ad5c363..d1917d59 100644 --- a/reference/is.stars.html +++ b/reference/is.stars.html @@ -75,7 +75,7 @@

Value

diff --git a/reference/limiting.html b/reference/limiting.html index 96df5208..3b66a90f 100644 --- a/reference/limiting.html +++ b/reference/limiting.html @@ -119,7 +119,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/load_model.html b/reference/load_model.html index e4adc6ed..2b3697b6 100644 --- a/reference/load_model.html +++ b/reference/load_model.html @@ -110,7 +110,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/mask.html b/reference/mask.html index eaa0b129..28f9aacc 100644 --- a/reference/mask.html +++ b/reference/mask.html @@ -131,7 +131,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/modal.html b/reference/modal.html index d09ad3e6..1f9277af 100644 --- a/reference/modal.html +++ b/reference/modal.html @@ -57,12 +57,12 @@

Usage

Arguments

-
na.rm
-

logical whether NA values are to be removed (Default: TRUE)

+
x
+

A vector of values or characters.

-
A
-

vector of values or characters.

+
na.rm
+

logical whether NA values are to be removed (Default: TRUE)

@@ -87,7 +87,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/myLog.html b/reference/myLog.html index b919bf0f..168bf69f 100644 --- a/reference/myLog.html +++ b/reference/myLog.html @@ -88,7 +88,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/new_id.html b/reference/new_id.html index 57891ffc..1fbda682 100644 --- a/reference/new_id.html +++ b/reference/new_id.html @@ -73,11 +73,11 @@

Examples # print id print(i) -#> id: be93a870-f305-41af-aac8-cd4a6b4be59a +#> id: 324d8e5b-6f61-4709-8f6a-a58af6f707a8 # convert to character as.character(i) -#> [1] "be93a870-f305-41af-aac8-cd4a6b4be59a" +#> [1] "324d8e5b-6f61-4709-8f6a-a58af6f707a8" # check if it is an Id object is.Id(i) @@ -94,7 +94,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/new_waiver.html b/reference/new_waiver.html index 33473eeb..a34a3856 100644 --- a/reference/new_waiver.html +++ b/reference/new_waiver.html @@ -91,7 +91,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/nicheplot,ANY-method.html b/reference/nicheplot,ANY-method.html new file mode 100644 index 00000000..613aacd3 --- /dev/null +++ b/reference/nicheplot,ANY-method.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/reference/nicheplot-1.png b/reference/nicheplot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb73ba30f0531bf88d8d8b12d4d9d1bdec15a019 GIT binary patch literal 263616 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

)zaBz=<8EbDCRG1+&Pe5~%r+=s3{ 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

xT0()Sos+uY;cI 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

-`>C%npCEVf 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

xT0()Sos+uY;cI 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

-`>C%npCEVf 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 +Niche plot wrapper for distribution objects — nicheplot • ibis.iSDM + Skip to contents + + +
+
+
+ +
+

The suitability of any given area for a biodiversity feature can in +many instances be complex and non-linear. Visualizing obtained suitability +predictions (e.g. from train()) against underlying predictors might help +to explain the underlying gradients of the niche.

+

Supported Inputs for this function are either single trained ibis.iSDM +DistributionModel objects or alternatively a set of three SpatRaster objects. +In both cases, users have to make sure that "xvar" and "yvar" are set +accordingly.

+
+ +
+

Usage

+
nicheplot(mod, xvar, yvar, plot = TRUE, fname = NULL, title = NULL, ...)
+
+# S4 method for class 'ANY'
+nicheplot(mod, xvar, yvar, plot = TRUE, fname = NULL, title = NULL, ...)
+
+ +
+

Arguments

+ + +
mod
+

A trained DistributionModel or alternatively a SpatRaster +object with prediction model within.

+ + +
xvar
+

A character denoting the predictor on the x-axis. Alternatively a SpatRaster +object can be provided.

+ + +
yvar
+

A character denoting the predictor on the y-axis. Alternatively a SpatRaster +object can be provided.

+ + +
plot
+

A logical indication of whether the result is to be plotted +(Default: TRUE)?

+ + +
fname
+

A character specifying the output file name a created figure +should be written to.

+ + +
title
+

Allows to respecify the title through a character (Default: NULL).

+ + +
...
+

Other engine specific parameters.

+ +
+
+

Value

+

Saved niche plot in 'fname' if specified, otherwise plot.

+
+ + +
+

Examples

+
# Make quick prediction
+background <- terra::rast(system.file('extdata/europegrid_50km.tif',
+package='ibis.iSDM',mustWork = TRUE))
+virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points',quiet = TRUE)
+ll <- list.files(system.file('extdata/predictors/',package = 'ibis.iSDM',mustWork = TRUE),full.names = TRUE)
+
+# Load them as rasters
+predictors <- terra::rast(ll);names(predictors) <- tools::file_path_sans_ext(basename(ll))
+
+# Add GLM as an engine and predict
+fit <- distribution(background) |>
+add_biodiversity_poipo(virtual_points, field_occurrence = 'Observed',
+name = 'Virtual points',docheck = FALSE) |>
+add_predictors(predictors, transform = 'none',derivates = 'none') |>
+engine_glm() |>
+train()
+#> [Setup] 2024-10-08 19:46:51.992958 | Creating distribution object...
+#> [Setup] 2024-10-08 19:46:51.993864 | Adding poipo dataset...
+#> [Setup] 2024-10-08 19:46:51.999134 | Adding predictors...
+#> [Estimation] 2024-10-08 19:46:52.162925 | Collecting input parameters.
+#> [Estimation] 2024-10-08 19:46:52.313465 | Adding engine-specific parameters.
+#> [Estimation] 2024-10-08 19:46:52.317446 | Engine setup.
+#> [Estimation] 2024-10-08 19:46:52.4751 | Starting fitting: Virtual points
+#> [Estimation] 2024-10-08 19:46:52.542199 | Starting prediction...
+#> [Done] 2024-10-08 19:46:52.665892 | Completed after 0.5 secs
+
+# Plot niche for prediction for temperature and forest cover
+nicheplot(fit, xvar = "bio01_mean_50km", yvar = "CLC3_312_mean_50km" )
+
+
+
+
+
+ + +
+ + + +
+ + + + + + + diff --git a/reference/partial.html b/reference/partial.html index 5a1aa3d0..586ac8e8 100644 --- a/reference/partial.html +++ b/reference/partial.html @@ -158,7 +158,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/partial_density.html b/reference/partial_density.html index 634de344..a18fa124 100644 --- a/reference/partial_density.html +++ b/reference/partial_density.html @@ -138,7 +138,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/plot.html b/reference/plot.html index eb00e1b9..40d0f3e5 100644 --- a/reference/plot.html +++ b/reference/plot.html @@ -122,7 +122,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/posterior_predict_stanfit.html b/reference/posterior_predict_stanfit.html index fe94bffa..99e598c8 100644 --- a/reference/posterior_predict_stanfit.html +++ b/reference/posterior_predict_stanfit.html @@ -117,7 +117,7 @@

References -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/predictor_derivate-1.png b/reference/predictor_derivate-1.png index ab1dc647ce8c22e1e3832040c2a63ae56ec1a890..78b64538bf8d76afdfa2438a8bb803ef7b053701 100644 GIT binary patch literal 69368 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 literal 77089 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 Q9S{iG#?iXs)b}_41?FKMQUCw| diff --git a/reference/predictor_derivate.html b/reference/predictor_derivate.html index 65da89ac..2cf70417 100644 --- a/reference/predictor_derivate.html +++ b/reference/predictor_derivate.html @@ -159,7 +159,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/predictor_homogenize_na.html b/reference/predictor_homogenize_na.html index c551e28d..7c7a22b7 100644 --- a/reference/predictor_homogenize_na.html +++ b/reference/predictor_homogenize_na.html @@ -119,7 +119,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/predictor_transform-1.png b/reference/predictor_transform-1.png index 964ca5be006da1deb852c6793aba1daa7a6004be..2ed93f1fc0c5641c565153a849471d6a3bc4868e 100644 GIT binary patch literal 45399 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 UmlQF~jLkzH_B~X2Fy#CH25_zq;s5{u literal 45079 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�WQUURs6E&AXb3xu*w~He9@$tqdy)SvsX#?0JrNlysfhQxLNh>Q)-KD&76%irXDR6LRlF(R*VPs-|$VI%Jh=MHp(!RBU~^_uHHPLwCyr z+fXK!CeQqGC@&58Pm$F~^?5Iria<}Wl(l%Cdu0eWgv--(EBLpS1^B7L?R$Ed`-cs* zk$c%{n;(%a=NS`uKHM)Q9`OFh@3g))^#NbEH~6Zg0=xbH+zFigWjpLV?gupP9-pch zyn2Y*greTJH!w8^kutk=+YRloV@3v;A)^~>%E!Brjja^tu0ZM zw20u!6;fXRYDsnj#)oUwg?J5^u~ic}GkcSu{I8>eoEKwl>Pcxt`&)i3RDtWlO% za94@_3u*c-n5pOTg0*Q|Yy;+fo*ax{dkjt94ORE`2wGme6um>7Wre@>5n--mtRiuL zqFwKIV~z6j%hxt|J3Qw+_afJP2GHO;*aEU()v`db~) z6pnd1r#N79)I#Bxz$gE?`fvaCr6vbH$~yA@Z`2R%8owMEeOCK@jq^M%_JuF|v!>5? zPwQqy2TiENSClC1i3&O*xd)zPxkFmCF|p-x{{%8>J-VYHM9a(NDg^z*;tKrRI#3HH zqxVL^PR*x0%vGYAGeM`KW9#o7oDlHEY{BB$bI=JI?1on_BDt+~%zn5aKBRKV8e06h zMTR#H6VPoF?gMdrnrJ=2*+V!0%NTi~yja(i!A+XyhOik#No~K8^@TtPJWRbA)6ug( z7_sh2L=COml!504aIEW)?0d??L_t**6AnQ|FQtTNZDg_5Xas+3|LWVIV66!8wSwyQ zsCNkP-1|R#!bm93P{;?5p2PrLPzYFcMJyQPE78d>kD@v?RR4anP<<8kV1koLP=|e1 zBKic>Q179BOh1Pid{Gm6RQ-aXI!2HLiMXjfdGC+7+&CKIDKaD(_z&{vX5=Xemd4AN z$I?WC&@Zt71jm-EzkQiA1>XM$;{AthP2GWc7q{8L(MJ~}Zf^a_`brQa#A!3?sN-Q^(&E^>r!k9z1cf)d=}j*(eO)0cs8d_^@h zX}X@mGEUKZ2&_~F@aQA2#zugXc5w0IVYHg0iQFjK89CE+eDA{h;Rr`E;$n^Dn->BO z>Ka6`EXh(DwoI>0eijUF{(u!f3=-1G11b{P0a#QLa;Q7q5-^+C6nJ>#Jt)cJf#Uj# zgqP|wMpkVj(hz5Iw|`tK@%X$0Ty65HVWfI|KE3H+kfilTk9pIv28*0g`=_tY3|Y=X zP7bMmyVky%p_qh!>r`?L(>}`-1mDL?Lf_m5jlZbgD;N>c^pQkPQ*5Ao$u9;BRYs0kN zb6YTxb(-(r_5Q)Nzj!SpOvfX$6|?4?V9~IHHfmq_`pggBbC4FXWJXOs<7_%=Z!;)7 z1p8Jj$l3Wkpwc$s=`*T+`A>ZYUNNSUx{eu1v=#FcEB;w`fRg7PU)#)~&S5Nl)qQ6H z$@7Oc%*xFEZyu6>2C)zJpq;dlnd2P-DQ)%bGiZ((N35aNE)~p)7V`T2($^o>P2_tQ zmJR6B-@Ej1Z>pcqv)x0NyxJ&gFOu5Bsw!BBiLxa7(JjP}DXyXiR5u!>JAnoT;S}|Q=c4K5-iAXRObzuYnuD%-Z z25}{9_BjSyFUIss=Il)A_O9_w{kqJF9?On5Vd;48{uWG&4?i)=+ua|69zsQpBQ9_M zh*h?nZj(kjcO#zMmEm0yYN?3i==Dh#n@kpE@WF41-KJwqUr4<5Om0-A&PxN_pnea5 zaHXJ{&S80&yrgTIAM}Sbr1_#Ad|%TY!hXFG&0@Wky^!@09)xIld`@>)#7UB@%%|GY z@0kA0EscI91Tne8yAcE%<4shXP~&bny(&44jM9~l$MSb7OjZ-_QMJeg_tj~SedBt zBXbBCY0vfeit@B?p!_yuiD(4~^`F8tXt<_7zr_0Sf?s=!_Tpd{U1erRk7&)+q0by* z9GC_`-8@m@^w%p#P*0=l2Z)4IgPG{T-XcYu`=E=cB+;|I z=~h*Z^Wa`I;c(!C@&ho;_xk~jNa6gYL-F^M&z?SG{IKjw?9!dzFb9Qg+inD{cO1}+ zt7e`Vv``tfZw2`4XO}XQJ&X%Mko#>yy1mUux!it+suO$${RDX0IpNkAB7aH94e2Ba zTNZo5o@2(I`)F3l9%%Aw+CtytbyFpS{mBB5{ zq?lYEAvWpwH2uCi&&uqLx@ecTyGJ!9iIhztVeC{0C0i3X{0M1fF55JW`4 z5eOnp=?0SMSP&JE&r{pycb0dO@w#xB>g#3#kKPXWx#6{~@O!%%8eUuwAq!J&ijw z@3hlkgfvn@`Yrhr?!&3Tr2M}|z_cujuaVSqwXeHniBj4?c(dXp z^}&IuBQi{{Gh+_^0$aM@#h1HNx(^$Km$9%lo8geJ!+;=!CIn_hd%6V zxLNv1V{{0(W3fpmH*owXSFxABT7KL-h^BEi-~HWmwao5j=dYK%nLa9xneX(e-%|Gr zc|7o8OC|Too?Yfykz%V1l3$C%&Nmqgc)njh1=;tC*h7J68nsdCaf?tsqC>&S&=F>= zm43>@wEe9cOjmu#fAp3}x9vm8HN!2=$kYE}EaO%m#MDZG2-Y*a;vuy7l&OUF+&#-S z4WjMOsyO8}f4@f`RM$Dja#zI0rne90^$a{Y4TP~twPO``RS(g(k9|viEdfh+HMK;S zrvH}mX~xk)6{;SvbcinGJE=S20?w68>LGqc97DJw`tAP}=pbB`LS(ru-%|hfV2qVz zEtR!-HnmMHA;~9jFq3}20TM|?RC%GDg2Sn_H5el#j4#_1OV;8&jKZwW2vWN?K%W#a zw{~`?9QK4s>bZYLwg*pnW=xizRzb-@3sXNLzvS?_+qUg=fEk{Zu;K=EOL3Qn++6~@ z`pJg*A)k<5-XO`!8khA{E>iy;n(B#>gm^DC-=Z~bCrl2MGy!+I@6ByJ{T#lC?3&Hr zq-$+2yi+!oR7#QKI+4O(kVc+S{I;&Lt4q7pUXE+o^gdNgU*>tjI*)hh`uVh@G4RX8 zg-4W`;9FG`tK}7ccwKKniHCJP(xBc6rhssIg0}nZ$fSdRFP5TXJ6CYL@3B&tvQWiN(5jht#Ed z@9^~XWcad;d0F!^BBd(1csjbYa&`-;p!adNEvuFjD)D+elw;BkH|Cz+L1;1NW~FgV zxX;oYcYZ=267dE5mgPU>MnsCEP_cIfOCi&M=&rDq0m|$}1Rl_+qAE=WDtcNoPc0}T z;PHN`X$8jI4?iy#oo;V#GE-zUn{@;8I7+CC!PcFvD%l=UVbOkewTJN{b_em|S9?pJ z-G{IlcXZr0i5NZ7`pk-%OV3$=^D31KG!j!KKb>gmO6^hqYWt;U+lM6`k~6PF?T+)S z@^OSlr?HG~B#&@fFEZ6P|9s$0*3lBUcnKczNN$ER@*Af=W-59%lj>%F>c>X=sK`G( z5J-A@Xw4{}o7p0I5dHZBKg|XpWJX(V1f8)YrUhG7_HILDe}ZpDYw*s>6Mi~pqy-nT z95tB?(anwZ0C2hUKvi)vgFo$U9>u#TT#b{Q7#?07$KrOzr{Rd=?f=c`c(c%0M5}Oo zzT{>{*j|LR392A1(zx2P>gP_LBHA8&`Iq#WLyFl0Kg~HS3xiW0Xm<>Q=={!@3z4dr zbx_28aKOiWJh}CJe!w=A^~kd{i4jLpjZeJW%GR$Reais^{1ZIGDRgskRd6R)a(A11 z;)Hk|7T!GZm-Em<2!5azbQMYN+O0_3=cc)q-GOV?-HEo*7-FyNtZMtYz&)c4Be>tg zXytGM{?4zfjwMc?HPx}z$QW?>nB?+j*z?BYF`|9&9(AYN>qK@-LqLEWdes1tth)08 z)5o6JaUJFSZn|k$82l>Cbv9zxr^@AI3cM1OG_Aev*p{8aak1RbS0ab|`Kiw?BCxvQ z%P8eqFRP)(p^uUd5@xA_p`QyhAZUwf$=b$e>cm)Men!<*XGXi<%M9T(rGiS94?R+f zM@tDG2E4bk^USy%*p2*h_<2 zO3MB9SANsd`sd=X?G$wql2eYKcX{g-^lQ@!EgyNIf?@@qs3Umzc!GCy z>!F5@nu__2dGpp7F%7-bBGftie!p|T170Ov1ao4JU7qDBXI~oCaCFrAHM0Qm9R@>9ur6hzWDC!5xv! z6|9Gq)Ygmav13dqNP5R34Na0C^_sS7ViG?xy-M+wqK=n0o2}wAn{3&$S6xi5MPa@5 zJs&Xas!wLKTSee)jKwV#r$H43 z%Xcinlzg4Xbz`ZOiYMqnu?ORL5}zOEi3|ym=jP}NlUvSuXsJ$S;^=CV`Z$cmzc@ww zMUMH)NR}~I6=5SU2Xx&T zy~^ZX#JEYn9%5_{qC#p#@GR}|&jl)rhPVVJ^!awdT2vqN+C!Q19MIqbM{w(%XjtSl z?Yre_dAS{ps{;;#)mXb2lV+!cwr<-r_nzcHc%LB~n&Os(;U-$OYYurC4qF)!ZW!Db9@3zO66w054I;Kgdt6UP~WtR+m6+J6ITl0@kx-(|>D$RJQ$ z>Uf`N$8&F$wn3=2bY2O*`d(e4N3XYnq1Wyryp>}**dgQx!x3EO6C0{&K$N3*4(5ah zv|zw;n75hd88G>3FQJcgyjM8!;UcfD-CSeijhxZML>RQvHH?y5rR@&2mlXsZX6Sko%2{SCNzZybd zzADhVg{&QH#l<=`)$=iMRrS>d57np&IOAI`vj!&uyecbDcZ#NINVMDe;=c#x{~ZWI z7X$WJQ?|IA-kdH7M?Pk-asz=*@y>=v|2tH%xMy%%ditm9m%8MoHbC1j4EBo$cvbQIiB9sr;W00LmJ%q;}zRiA1a<@9J>mQb@VRB3v;4j z(UV!F_@weuhI?_!b z3$m6=ff7`5igaAR=`-^n1&nX!UB>)$+3Yw5ZbA$AfPA=Te%b*Ct6Nke+%BrQX%{th z>%sfC5zse{-+Rb=s2+pYf#`=Q>CrpiL5E_%53Hmu4q7q6tKsvy1m0fJ$p5J{KGT-m-9=1#8!awfq#k1wbJW_CbU6-LkG-y3ucm&lnq{oM#IT`_yB+cF%Vt^?Ha$!^x z6RqXV-b3h{Z$c3oxAIz5EZIT@{9|Gl3|f4|4eI|yfQnVr?Y^$ybbush!x*aQD>5Ka z3|Q=G(U9zAkBsWncgTe0Rr$1iZ&0&v)i)8!2X@X+!)r00IGHFy*36cpFPpiZ&VlHA z6laNs5J#yW;w;MGdPeOLv+kbCFP5m6ojYB3ORUa+h+i><$qz~n9ux^LpkrYr%R~18 zTmYMC@Vg$}YQ?{Sr_|2gGpCZ*lPcdJU&Sx?Kh@gRXVgRaL5O+Eo2{N~S||G`O{F}^ z3)+|PZW`VOe{GuZ9epNtkv%WzWjn;)k}Q#HCVqApD(D>50}C>|YH+636rlzSOnvA%G zK9083mjgBfLLJdcke-dwpn{}QPj=4B98}oA$2V; zOpApM2%Xu?9;Lh%*A|@LLkBz7#TO&u^ykj2gU8?UTvx{fO}OQ0^9TBWjbB0|dd5Y( z#g8)Ljb|*S6~vwKoqCO}$(GFA%Lf8|-kO%H5$ouQGn~kRK%V(EF&=ZuLaKTrt88_= zCbO-3jKAoA!TF#f+OXX%zi6rVy1nv87m9eWsAp+}g#wc9S*9JX?$v;83HHRjS(Adi zKpG2@7nrlq8XX>q5>qoJ*`I&%Rut(Znrw$q&iUIj3`SdUkE-g`@iFxW8#;ZxhRF9s zyJl|uvjVfUgHR=46cpmK9Y`mu^AWwK9(FmDt(&Ue_?h$@)L&K=b5n36;_*kYi^0*^ z(L~>JPwg(`MffOhD&)ckWV?S|qTjvn{a_(rDl@w^6tmJ>T@8}ws78!UUtk?eFKZ%S zbp}_rp4r6bwe}J(Kh`k!5Bel?d7RhOz2fPJd$(Rlq@jjVVT?RefyI&AunWO;-YOv#j@|u(@&4Hb?a20FuXqN;e6C8y96cZ-pIPq6d=hn5wXITJVrwmFN5g11B*J#&EFjFB(QOO+Z%UvQ4t zA7};*CKemn)5eU@=)%LYVA@8nei5BDV`Dq)B^`PudzE$|UkRp_1d4;=>4jWiKJ@&4 zf?1;TVCBUFqX7v)*lVA_Jwgj1iFBQ-^8#ynSZ@0QUW`mM8Pe|eTu9u0Tx-Zb{15ZF zBqLtM^d+L*gxLH@xlWR`e~p>(`6renPWU8ElrbQ)4S}#z^o;Gy8|Z1jtYp7`(o(*L zFo%sFAwk4(@K4YVM)H%1OGMtleXIzI*p^UBNBit*5Q{-g-LkhV^UHkV?N%U7Qf1yv zt_~-n|I`A&l^4^}T1`-euT#YZ@geGefr3wzK@Pt&M^ItH{lkaN+#o3wY-td*d_V<$ z*>EuvD*j_$P7Fx(L8ATeKCWsn_PRarab+4?My8!ZXe(_acdi4jWYP`v{vE7O@7sYhjxyFMdOqQ$|jKH=nb!#>FrtP?LQ!9WmIQJ{cJrZ>cH=_5wWp z5Ta(wNCbU1PfDsz;!F`0V#OrN2?XPcf>)o!NXwg_QULGL`dh=|%(;L3rXuF)js|Zx z&UO@rnIG(LSD#Ll&|4_nxCe8oiDo(j+5DkCM!Uves~CqlI4QvCrM;7U4QYmBv2oPo z$*+#BK}?CC3VRGYk$r8ua?txO67h^@a+=MP0e*Z8;S}*~m3u!E&K#FjvX8+ED4N%? z8EbR1(;8tu_psPRylpOlNiuT^We{2}vp*0fiSFSPKYOP1sa8*+KrQ<@(fdp}W-k&t%ewK8 z&h9z?AC7c!EQzg4R{ftoCI|H+nSDNWtem}W3U~}jK0W(AEZX5kA-*X=X`DuO@4Bl+xmV zd9u7B;C@zSv;^G&QERx`&V2cZDP7VW=glv}ZZ0O(rw<0(DeC4Am{H1&P?>42N)Hx9 z%grIoZ%BZWXDdnXYyteqiZd17$4K5a^%qpXMhvaNmd6|mwZxN5D8}VSFFi|J^!F$Z zconQjyEw?v#~oCzJrclE;qib~y~$mGbb+r|y#S~(WIm#0tB*SpxAYr=WXVL;Dc~^5 zlk%&fa4FKbHr zDr|GQ{^s<11LnD(1T7^sn}ONBJPx8T!^U%S57jOAAF$qP9);NCo^$QPrW%n?9!0L| z01_JOsQ`=Cz4AL0zaEe$^HOS5a(QrTDgGn%-r-MZ8i;z@zfgaUH1I%rjPFbS`KIu; z^XyL9&u!##6rqpZ00b*p)139Vov6w-Wc_8dw$yse4?1kP+T1qJPrXJXj~L5265RDZ z@5@3xlm(yF31Qp%0nhk1`nO6xg8MZpbJ59PLmV!X!#i22!gc*~*w z9W&-{2Hh~SKfCaKWlx&F3hDk0w zx$Mp;?m=$f4(lbKC$J7tCwdx+oB74`o-Pk)*9qaT{Z>O93B**^JXU{S*#qikwo3Y( zPR`1CoY>_9;lwxJfBGv)f30rt7m%{7z0PNRhYEZb0cZV*<4QLf4c+OvdN_atu76_+ zWEbCSkiNU)f19BWH9gIa3%@bnmAC;K%9Z`GES4DX8L73$ebH%mYrm=T>^S-TZ_LgL zKe9o2ZBRC)^h&QMG*tES`mIKrRnQr~7dRRyFOBtPgT(_e2TuF;sNa$hTRuqQo-S@ zc|4Ymc>rnMjdlO*@xYPee;620AMHAHejW9d;)7@mR%iBA00F_L_z+}H0u2?;ANDFK z?ko)2I~s{j?$ILrd?KBHN6~tD)%4l$`~3ALp31uipQroZlFb5spddv11Sjs>R< zs_6hs?(zl9jss}cFYu&;jB{P@-^Ten6=1z-(kr9AhZ&6OG2q#`|lz|;}-3|bcO*VZ`6~oI` zOjmM$BUHK3w!nN1`KJk0S7$MVz9ZNd=rt6&?w}hqDjfsK?v)xmr7(%rokJ3A`KCk3 z;mbxuCmiI&O`osC=oB!gz7q>0tm6s5}Fl z*xKuVqmK9+bGUU@k)}9#1hF26QW6-opTM2|IJ5sUxgHF4UMIzmd2D*D@0*-v>=w~Z z!L20CtU*VZv(t6 zXQL<5ud*G9W7yq*&TFiCj&uU2nlYZ4tYx$kPWY=O&-ejlE2fZv?C#tUw1}(M0GY!OVUq{aX?h1?l3(uz^BviT zeUUZ2G_8jN`7UD?Lv3C87(MMh;QB@18n!qXA1PY5!am3t61B()+p}O77-JO;^UAUo z{=NgqYf?gQ^5@H>5XGz^DL7NXM%rO-7!i?Pfm9;N{-E;UPiBw}n89xzcH`9cj=-q2 zoW%mQsLmv8;zco^r>J{iau_EhqzP2|7~y||Odsc~_=~ezuqy4g3%K%8M@9e+eZq)) zY88{X&PjIdjM;Gd_I@f_9MR0O3b&Wr7_^#$iHm; zxtXeB)^Mmu2e9sbfOU6OLf`(ctUFv)`c3llMXSw!!PM0ZhlsM@%$Ji&xl`(47@9{v4+M!lZh9Aqr z{IGN+rwngoSVr;NbLn?zPsoZJp~|&E6DGNPuEx0hm>U##JmdpO^!VX@%GMWSt%DM0 z`I%RPlkLGS{;p=|n8FU(EGB|VPS9YM^DP;64doEQ>&x8cUQqJ7q7w1=I zP?5!(cJ+}zxnb-RI46pm3L@J^F$CI8 zpntCGr(Odep?91kxC98g4|ZtBOf|i0P&J1y6;apkv_?sqVIZ4Hm%X7WKVVIp%Qy0z z;gV_9GD-W6?~W?&5X5zo|KXDM4DPp!Ave$%1mOPvs_gK+VP$EbTXZ(%5#!>M!}1VK z)GqHp;W7L%MC+e2h0&I+NBlm+)kOTqX`RRW;o2g8E3WR=62v6nFOsyjQ_Zb$ii5sV zG^SKSUyU+kwSj+8X;|FSgMF|>YvwPTS@BDINAsh#@sXp+B$eO8rEc!-<51jG1)c#+|F-yB=+pGR^xH}Cm zw)^Au;QZ>+W}}^%QGRxJ84`%>=X3pQqPCY->EmO{?kQI}9P!}iTKIW^p^Emo14>eQ z2PcgYZU_#7TkRuRd$y+R*k6nD{FOg>=pU1+f_MHK@(V{iqrYG2?52I$bPM~VC1Wb~ zcl%M-J|2Kc=9u*YU7_PkC;r0kK=@;mNLfl6<~7x>{z#Z)JS)aaGwr>hxKb3sTh(H` zK|W%|(qAMntZ_H33cyF#Th1>R=VL zN52~DOb$H%fu)cL8bIwP*xsW5PS9Lw|Ao+KAecu@;)N{s-Nd?rrlhOMCXuJsSMPUf7NVwUNl%jjUF`sV;@?#<{)3j+>fbo!z-eL9}iS4 zv{sO3ZYo=E7Z390$G2-j6Jx9WPz{a5e^6%4R1y@eM;%E=&oU?Zi!x1JrCE5n&Rb2t zKLz6{dEf1>Ir~)yzh8+W>A*3InogLj_Ig-vX{7md2e@R*nZ~5Igm9y*?A$NSo6Uzw z{Kk)W`!5&G6jJ;oy82DcGLt1B`B}yIC5kTWLhMowlFcv+sH*7c7pzo)Y{s%M(s-kn zY$=|6j{=LP&x%CKU0=*^x(zt|4t<})_X!zGhkA~cCNKAs>47}X5rk7_#HJ?AHhBy| z-Y%gWUrzx_U4aUu2+tBCqXC6f)PXF9dzawbTwwbU*;C8-peAp_p;FOxwV3UFrfV$Kiar&voCo0d!aO{Zaup3gUAqZD0a zqhZjSX>%~#1jI_2;yUPi{aVV=E(k@eC{bj$lEJ*h9JBl?nERV#k_Xtg^cwaZqbp1(1>jA{uQIbj?g_zD5v^+l=-O`BJv!VaBnC z*Y<}V6SKW{uZq3(%cbKc?QimDeRU(YEJU8JRuZs}_Xm65F-`VyW!EbvroWT?G(MW_ z7&W4XynJQN67S%on@0AOv^b(_bJtw)dDM0jEtkoR3f0TQ-mfe@^n)Eg4<^aumbM_^ zYGB`Aik6ws`%@LMddzeTG-PA7zWMcq&#wx=%69!@O}A%kZi(C7lU&f00d|brH~i)% zeqvojFrKr2Fmkl?T3FhJNRBTRRsN}!aJ_X!GWNZAxfZUwxfc7xBpk-=NuJ~CAoh;l z=xJ8ceJ<(?R0L~@=Q`cHZJ^)SPi*$5EWT<8Eu&-o64Pdz%szX?$3(@%Ej>y@Avi|W zd2d*uF*SI*vqHABLuV0U@P69jqDUAET!w_}^{*qu00#Fo?v<^}jrI)+v1U$p6SQu= zZba@gyatO7dS6M&t?f{2Z>iwUpV_1UD_J$lqjcuUl;T&K#oW05J>e00A6qEg+onvC z%SnCE!#fsDyU#1LG{flh#r{yw2m8GYb-Ks!ytM^9<9AZy#&&ERDPc8{L3)S0NE&Py z5FQbo7_K&!wYc#Bh`_T}zjzTem!89mRL25sT@-|yXG0w>P04B<_EN|cN|SV%e5(`! z9a1u)@izaU=$^cEKbb2P>X|WIRR)88zUTs-w;)BmsB4c@!7n%T(ZYZt;_=2Bg*U~A z_2P5c$u$9LSw;8{``}5c1tFk*NV2ZLHA#zt{KLad&=cNo>f)k)%EXdgz-N>_efRx4q zq&mAHK&!yih@_G?WHL+eVsWJDIH$YM^u0C;$RRdHbn?jPW{)uih_H;pACv{&PPizj z-$g8CAW<5ttxsP4P~Om1{spb!gtaN5oLL`2K2hC{4OGzDIe4-J`2lHZ-vwLzg7qqr z311mK=>VCZHEP;3&ztFIV|Wa^s%~U`L}$NgNBL&LWYbEW-clbZ0wGcFcdp(nyf=~3 z%n#Tpvq-h5Zef++pEC-RSH~AUkZBZyQlYDGrEr`U4!cm%6|eZ-ogbv=<{T~JJzKp! zq#?~}I;d;auk_2~Zs6C(~XYr8j` zS$L3uNdE)9`f~L*(%uK&%woJS4?~sMbW+YG08~T}fG3-mPAL?$@tj z*IKpQu1#wdJXwJj-2WM_5CcU(lwJ7wfx55X`bT}FR&j;mu782b$NwATYrL%N-uEmf z+-NfUKtAe9;`YvqAAbBesnA{*=zCA$N$pB{Waf>J zg_IA$g5dbH^M~FfuHVSV#N;i^&Tw@}as@;W0%d^EcO8m1h9{kmW~^Qq#w7aBT=IhA zV#2xpb`>>qdIa4oc{g=-zAnJ;YBEZ>I(qIFFA;KkDA~CRg)!kSF*l5*B9?4^x^d8Y77AiIs_A|v@5%Ai zx+$#?W!ZWB+p@ictf_gKu2m584VwuU?^N@419Wt}r3{aT{5;pE@856m%1lU9vT}h6 z$}l=@d3j*xB<4u!btaTXbp`;AaC~c@>By{JDiQO3yAS0>od%cVKmwZb<4-sCW+`nO z=o{1jVY|XMZNYZUpajQtQEBiIm}l7P4;!BGgW`b#qj>*$JCg4_j8Ih|xJH;nCN;y=0fx3UxeT?y9rl*zvV@+Yo{dBb(l zThe_ZZCM&n-hW?A477frmTzC~b;qH--2o4OJaM8ut_+_Lf6x=zwg*nc&iN!yl0IOM z@0iS=!&``i;u=L$YnOIV?wKfC-bbd*x`HVF#FG$LeN5uv{z-W9uLC0tyIi$v(8=cz z^G>y?7wBWMRf`IarT9R-1&F8er|k|rxGcbEeMq^6;sR}{aD7-u75V|?IPoe#keORL zV3P7n)1z$sO{_mlrACjEUz+rto_@#;h`t!jMW3!8CH$o0P-Ec^(?x40pWi0G2CHW z0fz;Tn`5a)FY`X@OLziO@$&q0tf;kXCq3d9-n-rA++*ui!cjf0Yo(|?-^yY@Ex`X* zIdS#ZXnpWBKKHbY$iMX!;oh2*Xzn~~*QW2JME~b0efjLXV$Mx_OR3E5Qsk|$&Y#?K zwLBGyh_Nu=xrKG;2LjKP-Q^#DJU-IpkMzjk&BRbTMYVe8vBc#3a{L5392Tudi?m~7 z27oq9GpTN&kW$LJ;tut$oRT8kW-qhBas$7St->rq`bNfX;q$lLV*|A5XS-haPU;=rPvSfYvVhO}6cm8-ma$ zio1&a@d$mSLbQHUzlU;{#W>Uq!;mO;C|NIDISRWn1dUhmFo@i!oe|2n>$vo!)v7C; z7qETBMc#2N-pM6dBzLlZq`{YVK&_7~tQ7Hz#@}9T=u;Rs^iV#2apjVv@%{95*leW! z$!Ke^geq3HxtNTVzuSS(Fse3dCn%;X(bOj0am=AE^vp`J_)DyZ>_CR(9zA={r6iUp@TE@1k^goxq2}N^` zs)w>ZcfPIX4}+nIY4EPj=uglS;w=7OM~{GR@9XYZO5*(DeIzsOSI1wcJx{AJ-W@Bh z8%a6?NyQ0G+YjIl#%N0hK1dU3h!){dOOqlJQ9BYhbBOhmpqbp1n|rnlaS-uZQR=kp zFaP*iao3iOMZJ~8s~0tXO9rW(A0&=)li4Mc$GypZk&}~=5l*O-29Kd zy~wiP*X=F*=O?3o?7hDkp=6CnxAe5Nt~x`8?08_A{xn2EHC25dG+v3?+qS{0tBAU1-RTk;?OIOD^~>(w=EcK1`$e&eu1c$A ziX0{UxoHV0h_U-Mjs~^L(R`c~q)kKrwC+y6*jruwT$?K33l(d|f&@=MqZu`l|6NZF za1vQ#h;${Ny}Wn{cTU<~CvoitvFQBQ^ZMa>y4>K_uoT4tPc_kyP8GuwPFg*_^!v5$ zg)4!_WbW(zxb9GJPAPp>Qw-5<#pNODsm*~c(L77u>cWz+{%tFvjQ>WiK;ksyhjss2 zQ`&EAF1KywjW^CFmem%8PD9KVlKY!Q2O3A@@EGymTlZc()AyX0&rHnU_9;8gNn8BNP1kPL7ZtXI*Qs%EM%gQ0yJP)Fq z;_(hP1@3|b)YIcrLs3+(U<14iy^prxN=x;ZD0L|9bw!&K$NK=(9g@cpB`CNkcF0bV zKP+pNAnT}orSgpav)WD_{`(tOE)hkUJzd^joS~M66v_IQ9F38?1&Ovu^~;f|Ve;&v z2|Nk&l03lnW#3Xp)Kzl^)Jx_S{OuY@qIr}{a!vy~0sFdQm@BXEGB#1g4j|W~w(16$ zp=&`SDFya8ieHQ(B~}&fahJg6?J1dFj){`1P1_Sm(CCKDkhq!SG59B5*_^(9Pnx`| zg#EzT>wZZBQbt?#yMxV$g5};CT&-@S6;4)N6yCdQDhqAJij!e`5yA39RlK6-fzzfl z!AUIYD;om=ZgG{p8-Wu9ladrRK`t-En#*xpL_6&9BjNJb8gL=Gf`L53!Uswtk~a;y zz^JtfN!4X40**&X>!ZYpXSR<-&_=b)6IH?XxSH|C<(x<$q}eGp>W!_p5epP;y-pUU zHbpQoB09Ig+Vz>9P?~>ByN8rq=-s^#rD+pKQ4|bvfR`nl~*m>;^S3T$!-(iPf@L) z+b54iBOGqFlSui3m8&?74F7j;Pj6MxJlO;P5xfC7_?oNeZM@J{>NORh*cgfnapWEA zyT^XID{{3Z|57$^8-*cT)BU@dTW~X;@B+m2Mq+`HdelfLuGV|U^mC&HtkP{1uI;Yw zy$Vg7X@Pl!PM$AvHmR*etwp`0JSi4lSJo23+XiJfMRZ3wMf;N~1{_?+s4$h|5j{0Q z&G^u%hqxIOB?vFGJ4*xsJt}FLMKwLK_(?WfuV!&LJ`S&wgAuutPzHES;nFa>8aLBN zEF-^IT}6pBk{z*)Q1mV7^$T>Aow-+DgK%U6oAQnvFR9=%_KGpX{CuLS4C8Gc zJZ|qY7DrV(0Hq!YswK;5UWrWg@))r8PCX$SJ>WQ@`*B63W$Ff+l2zt1Hn+iFnpGkS_hmd8TH8a^mV6w-6DXJoauIt&Y+&DkHiPs;dNT5cZONx46Hpetq$2%Wtghu-v zv`Xs0)Ttl@Pf|*f%@%UjucdOJOSX}OlIC##c8`tO&4IIB= zdyx}j`B32`5+|X!I;7~0SQy$~RZ*5Ka=ts;x}2{_df{BZ7Gtg}9O=%d#mvuhbJ-4d zB}o2)B)vaPF8&jblYVIafY8U)yh7#%1Ik3sp#-;a(($ zcQa)VL*sQ9sV-wfYMsMc2pBPq9ubN5GfBi}OSq{8zqe^3AI7e}P=}%_pN_n>>BM`w zLJmQB`SdFqG0x-OT}~r!MOj|1BSDEWNxvR|8WtpsOY2h?)sm(S(#!*z^WtOijc9wh zLXCiVO%wGx5`kqk&9LFfXEh9S3wjzp>jrjjnu(HzUqn9a>1K(VSp`_E>6PC7V5G@w z|5WO$D-+H{@`bkYj@k>oMtk7uG2H8vgJL%u_szinHh24^+#bnVyTuRobU+WKTd;my zcl5lt8`;%U+srl8b?lR8+uZd9m2JSO=0u<>G_=g->Q2&LXo#%X3{Y5bN|d$M*B$&A zqb^+93R*7!(-cAf^jY#2(vI z!J>UF_rZJ5eI4kbHlLSVmh4z*CI18HBcDe9+8TZ%E0fwd+Fm46=ui z7w(dgzK0)LQ(3T-pupailj&$d60Hv|kHH^KY_Ujo;f+s!j_QFNgu1uRdTkA_6_G&- zut^(z+%=EI^mjqNrVH=`S6DsX4BvCae3Ui5cFYLBIyI|3{V;!)c`9V(f^-Z%>&bL^ zJtV8)6Elpv7*t;|?LT`PLF{-K(Ie0d;@P?&DMo?RTdmZoc{s5~I9GtJWO7EjtKq4` z;P5L5Jn%NYYA%81GS+J)u<4DY`v-vR!qB1j<0hYMx`ADNL@eH0hj*QruRHAGykr6# zt_*M5IvmTQtC#qKa}9iZ#*gIN#EpE42j|kx_XOzektcD2GFTqUo2oC%H^-wmJF^0( z!DhYYCcA2+zQ*aJ&WkkXS&efkL~p4A_=}Nh#nDIdGLE9)R9Tq6T^MKsdRjaumv&4Q zm<6-Cmz^B+72GkwKXUpS-17o#}{vT9E3r1ZKWX^^h_Oz}9_O zj05FF<46W_`;}uInov6J?DHN^&C9NO+ z8ai;esO{r2og0SI(Zl%DS{?>ZM^4Caz;R@sTTpU>xg0$^q;Sbe10+ZV=$B+U0+Z?U zsK&4r*bgMXqHQ7tWiP>}w5UVbTNv&3TeDGs)t zXdkldXjK9Avk}zHuN(#*aM*o{+^NZinc^lhyPRhG7Xt&C%|nJhHz`)tcGSreo!61C zio4-lT?zl94-R0h>f9tYv6|dzPxMAbEtG6B^cgrL=aBDV8oVeI6mN))tIz^*@ zBa^#qs`SPV@c>I1@@DztM zI?d+w^WHJ@8S2HqSCexY+LlP=z%B^GK)NR2%V=m5c}Y00zL+AK|Dq1{9d*W6afH52 zrr;1u6~qyK4Juj32UtMo6A)B+%BnPxKWu6}3~i|BPVO7S=15$E!n;5IkkdR{DHMm) zMQYwTvi(*NNN56^mn>7jndXK!G?V+h`z|0e^eRipe$zshtqrn%xo1|6>Oc~ywu&R3 zTaCb0)GbA?sz#(Zad;v)ewv&FERjNIVjQa6rGm%q&vk%Qyj^B!49DpHDaZ$^e42~Ya zjewxSSiP$OBxt!oVD822{hNPX{?FN74Wc(%5QJkS4l~p|;PmI+&aB1gnW+mP2Ysmu z;xX+`qlb}OU1#nVMc|PY($6QpJh{`D$0iF_QuSSs?-LVw!S7lH<5fcJmqyIg7~}xd z)kEttayy+=MK+z4Jpkf?O1=@^4fDG`4OHA6guZXhXHe(P`j0J`ZE7a#ih?ZgcuYr~ zy6^0m00h1P0%5uflB1g0Oy=6NHw~_UBZIZ3@5wfsmOR;8%u!;CYP`6{g4L7NM2DWG zdS)F>JLossyi;p#McXGoT8n;Qmpt65^y$b%dNlAMuINKe%sdz8_v>lsWfhKxDpcD6 zg$2fypBalU68I;VWAgMISjoL0RjaH9cd^+kpOWUaqMe7)_A?bnl#WFs)}MxY2j*4UxW z`DykQ@3lDC07%YSmNyRS2NZyP9Z|jS4pOkA*YiylikBA_qeJ%QnLtd_{p)AKXM5;L z&J71ju@`WGN>!ST!T>6zR2c=28hIGN%q=~__#6q0;gpTowI97sZ^K})V|8cVNk&6eCzyYV3O zKe_){SIEz6K~;>ejcQb`ta+=5q&?n<&Ju*&Mg=;C&6noCRG>RaawVV*X3m6?Palt#GhP@1$E5cqf}Y9XBocG;rf)bHSS(aI>hA zvCvnxiF`MwW+F%$hAzT*hX&*WFURR&&EnN+DuCUIy0k^f24EQ>iYHG*#^Hz7v&)kz zUpw@y^dDJnh?G01&>->(#>>!x7aS|}x>DT7c&goTuCpP9s+#dWockg7UTYpz231Rsh=-4ZxZEze&lZ_r|Nq*%*03h8Ep6*qo<6mu zXM9ct73h=z?NOl+5xFI;C^X7Vp$Kx*0zvLz2!TMLmLt@ILP-=(Ku8e74V-uk&l3;ZOdszy0mKzP0wd-nI5x<%G8QgtAW6 zpj`aiu&iL#B6j_9H7zIe$(6_v9yS_^$4x{eb7XtI^>h7r`x3B--y7y=VoVKRGOuQ;xUlb zYfk8&+ARPL%8}d$hpG-=VPHDbe3Ih0W8aPNDt%nk(c;Xq>Y?8}fhN@b;DcyJrXF&^ zyKYRZ^GI3wbnCbCfR5X|ytQ+dBAKly%4Ii{SR*YO&-M!HS)D zoTk$W#HPBX!bqZ-048V`cGFLSb-{bJhN>$;RN&3(!QrmIJ_*MYtVDK2BAQtm;yjn_ zoMip9LYYPT4~CH>i)L45k-C=$v~li39q2Rgg+dvLCYJn(Ikksf2_oc{Xc*CeSbk-1 zV}cNyC!h?0TA)hBU-ZERnYW)m^YO~)aAq8QQ38P(fiS}b1&8eXN_SK3gP{rt*CNda zUr>eiX*Wf{Zi>_s1)hXPInn)cJl^E=vbJTgp$q{i!Zyf;H6!muNlShF7nm+!N_GUJ zbVabTqa7F?68iDU!cO+2^F=Q_{1W^#v9E63&Qou1!~GZ$eS!Vb$T%uIRukS9yqHR7 z4YA8czYo+SIr|_jyVn7MQ|UKsh#^bq=Ju0}6k|2UV)649I+S(E8F3Oqk#gs(`;oK}HGW{H$* zHf;%1$4v6v%j@2z9+sR+nK5qr06MB~Q z1qCrGF8vpUK1UtKuT*pyr$^v2oWdkcHU!8X6-OgzO#><~2vF4|UFc>xX&+p(fll=oq;Di-$%osy#cs&ckFm0^YzcXzw_&zYvK?geD`5$E@9eZ;|)_iu0nj`KT z(@`3J6jxK?d=E%1RRnwq(p4@k@XP-f9J!5QHXUGZ4>p7tvZgq?mRJc$M?Vt)fd26O z{WqrEjg1DVxpo*MU;6P!ajr`3naX)KAUI;uv7hY)uavBFhCq{6E)<*u=t>G(Z z!MX&11ZExpX^?SpOdv6;uJkMDfQ#axx|R+0zRuA*fnMWEk+IiBsl>F`x7?WSl&T^H z*^SA1I=qmg1RbjBh1rVK1DOw{>?;Z}lU3LQIItSh{r0f1P#N{){{1cEMDhqczKvhX*y5nO>4}`o*Oc{TvwI5MuUK@-;nh%U{PrmN_bIQ4kKwSxdka%~e=ArxcfB&QVcZI^3 zSWGk(A9bHuH&QzwLsll$UD0B80#NKfMR|L_E zuc0ehyA*4K>--xLGtX2b!eXN}S3c>Zc#K085SYt``X79a>_$f8#SQc@32 z-KANhub|VI5lJlejAlxP6ec{-pC3nsIm1#iI>@q9`n2dfth!F|bsPCwaaI#+JxRVA zft(Y7DCMlW@k?lFSBKqW(M;Fm-+|-NNY%8;7jB_zI&0*S^-W30MC$tqNAT3iUQviY|2pq>zWdy%X}!M7b>-MVuDc@4T6n0t!8Jae>C5)BL;3MJLkV$~ zP;tI3lU07s#0nY~rkJ1CH=6WCE|+K`!ug@G^*qG#STI^jy%vXdNoX`B1d4rLx#@F- zUa@Z)(OF9B??(^Z-mybJ9dY7Y-{$zp*sL-lHL)4&aRV>qCQ%W*TY@e~ZfZVQaIFz=B^n*w2~@1nhz79v9$= z>?`KdseMv~QRse{6TYsFHui%zV7agBWCt8RfXqE8jyf$YemuK*Ndw2&@dWFuSY!2VBQ=v%kq~PIEubu4A{vrof{FIZ>(dc4 zIUmUmLoplukNR1a=P>DhsgK-Qb@hP(fe8z{oz;m(Sght_cD8U50NaJ&qUqVu(EGPh zgVSgigt3uhCCmLtACrZ)(qf67uQ<$p)*ENg>2)<>^%QaS3CX#db-=mN*u{;C_9Gf% zqxL!;M#xifKl88{+yUZh6R_HCt`wvFp|wI@epX0U11*I)%w!cYmA8ntJ$xeiE63S4p|aJgzFi?7ob*A$FtXkVWa{0_4Ib<)tua_E7JiIqR#ptzJZcie*{4R} zoFWL&>IZSsHte_~^uNsQ(plZR zg2PY%D5V)X67O%o*#~T$Rg4uJ&S+3ByPuEb3;r(p2q7pJ?Ik!p98>-=-sa^l9aQ#0 z+FOf-6M4$*c$)WlJJ@MF{I-RP4A7tI4(^@O=C#{0uEqR3Y40UHEtzEwcfn+LCQQb3 zPGBAO#{6cWEqYPS!>P^&uI0+2c8;sL>ddR_o6rJ3a}EloINHqhr@RYJG1p;{W2XHjY6z1;U) z(CyHX-U!cw*vb>cwr*W-oZ`#p@Aw2C z3o4-7Mvl;1r|GUt*0Tv?g*~EjC~g1I(t#tN7!5q1o7i1X%+k}x4Be|xpfAOCP+`O1 z;C`)-w&vvMb1R4n{(%$t3QHK*MNZKmZBVbjYtB66QVC`$1PE*&Fg7I$MO*xlbe~g4 z$g4)YSKJpa!9h=It=XSOd3pfoP)M8+iB1zT+Q_ZSNiHEM#WN+`qiZa{Ipu3L>OR`= zVW>NB3S_@6{0jVhovX5GS$H44;{vN08bnGRGiSGIYJHe-fbDBe;0z4LOFnfh5>XJ+ z;BSU`_}Ac@3o9q#F5*jhAgsjQ`$hR9&9`MQH3N{1K$_!wJL;lIr!TvZI5^b#lc6+C z@_Do&r5bR>YxN|B^a`YOtwnnE%~c4k<;QjJ^Lu*25SgDdaveq52>eC~XRo%{vP~0D z4Sk)vq?E(WJ8MZs0lOMJE`N{b;U|Y?sddTc?zK{6-^HY()`ChzyAaeuQ4vfPagY2Z z<1`+WnXFb%7T=O~LmIzZPQ(|eI;{@!i3n{#`F*#wsR0DlQKPZZdgJw1k~9a)u$cM# znBx3D{0x3RLKc!l7Q;fU${%lKF~3s1i{8A5?HJb*O+1&2lFMJ>0@bTto<8cGQ|-eG zi(X2yY3*+`ub4pEBO!QM0g=ZcW?5bMpg+f_=-TRI1F@XnD zylAucTI(G(HJ`2g^oQxUUq-cpJ#(JdPTWlOa1<-@utU`UiV(`5D$sC}$Uds9#_2Z4 z%o;YDDFGR0CDXHw?l$9@w}l?+Z0y^5lRv(y0>QzkV9u+O7R#MU&7dD!OfJdf6cttd zs?+k~(#>sK;h2jLB8fZ@uo8|UqX4q%jhDs1&C^GzTT#ZCEf+}|4^x$Gjr(T^F53a{ zFAy?e@`Y~Aq*Ke@c=qN#MGjAJNDI0x34Gy@lhLf(v3QT=Z}0^Q-8OZYEL9oOB_|es1{FnWGcHv9LNrd(!Ufi?- zV5jNShsRv4@GA`EIl)WMtjh8C#q4Ty3ee>TV^7V_>2Vn5F`w=`a+m88fQjme>&PgMmeY+M_)Xk zZ@&4k=lXs8mq~|$ozTYt2;9p)X6&9nlvgRe@cFtQRyFVhl|J+z*k&)kQm^XP0l_hP zOhP0K$##b!~L0nH2%>U!-VgARaOThGVdRvRg zxe9G4F1!Vbsx?Eryu`e=7<{({LjY-%hLQYN%Q=};bUAA;k3Cyo&`{ zoho7NYKaNL$dV=5qfd|JNDa9w*-38jtcS)R0;axqB%K6onGoG}*_yW#8fA~S^K7h0trE6y}{iff+qlHJeh@Xj-`Phbk^?}nSR{kRaZggT?oTe$UT zf=zFB(Br>*MNB&>^p{Tkc#t#43(+DA)>(!T1%59yzryai_`TMDk8eIoBE`V7er=>&Fmt>qnrX3g(rQ5Z+CmE~lH_^$uABHs z1F6nLec_(9ZcNPD!rnIGDmtv5h#YN&nzq=fDUf5yA z@W#vW-HrSdDC5u0^OA+<64=y-c6VC`%!eo9dn9z`@S1Bakz?0u0c}X1^;Ny+^>u!+ z-XGNH*wz;qV!UY&9^*T{_M)b4T)Sco6$_Q@B^2%XAVqvPi?-cRc6XRVOH9f7!Jpr%P{bPH50g?5_vP zr)M2L?yi8aPc0`9CW}Ou)JdoDS!LnrY~ka6)C2WjtJfM@wC+=h_-usMNuHG#AEXi- z2aAX}p#Rx_UxdVHYZ1nWHf_Pb%)tKtgZ?k>fZx3hlcKM7^#5Y;`DPUc#7WN+4aYD1 F^q=-%sbc^D diff --git a/reference/predictor_transform.html b/reference/predictor_transform.html index 9b478b8f..297769de 100644 --- a/reference/predictor_transform.html +++ b/reference/predictor_transform.html @@ -169,7 +169,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/print.html b/reference/print.html index 95b69876..b0c5b290 100644 --- a/reference/print.html +++ b/reference/print.html @@ -139,7 +139,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/priors.html b/reference/priors.html index f787cdfc..50b68184 100644 --- a/reference/priors.html +++ b/reference/priors.html @@ -177,7 +177,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/project.html b/reference/project.html index 62092793..0cd816d4 100644 --- a/reference/project.html +++ b/reference/project.html @@ -190,7 +190,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/pseudoabs_settings.html b/reference/pseudoabs_settings.html index 01b76585..6e5d5e90 100644 --- a/reference/pseudoabs_settings.html +++ b/reference/pseudoabs_settings.html @@ -224,7 +224,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/render_html.html b/reference/render_html.html index 92b1a402..66aadf39 100644 --- a/reference/render_html.html +++ b/reference/render_html.html @@ -117,7 +117,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_biodiversity.html b/reference/rm_biodiversity.html index 7ab8e4d9..5c88e81b 100644 --- a/reference/rm_biodiversity.html +++ b/reference/rm_biodiversity.html @@ -95,7 +95,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_control.html b/reference/rm_control.html index b48a63d1..c63ecc2a 100644 --- a/reference/rm_control.html +++ b/reference/rm_control.html @@ -95,7 +95,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_latent.html b/reference/rm_latent.html index 8760b45b..7d5d3b49 100644 --- a/reference/rm_latent.html +++ b/reference/rm_latent.html @@ -96,7 +96,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_limits.html b/reference/rm_limits.html index 5d20206b..697d2125 100644 --- a/reference/rm_limits.html +++ b/reference/rm_limits.html @@ -95,7 +95,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_offset.html b/reference/rm_offset.html index a735acec..663df3ed 100644 --- a/reference/rm_offset.html +++ b/reference/rm_offset.html @@ -102,7 +102,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_predictors.html b/reference/rm_predictors.html index 659ee316..e7190e96 100644 --- a/reference/rm_predictors.html +++ b/reference/rm_predictors.html @@ -92,7 +92,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/rm_priors.html b/reference/rm_priors.html index d4fcee9d..4fea3ddf 100644 --- a/reference/rm_priors.html +++ b/reference/rm_priors.html @@ -119,7 +119,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/run_parallel.html b/reference/run_parallel.html index 7b03ac9e..b042bffa 100644 --- a/reference/run_parallel.html +++ b/reference/run_parallel.html @@ -88,10 +88,14 @@

Arguments or "future").

-
export_package
+
export_packages

A vector with packages to export for use on parallel nodes (Default: NULL).

+ +
...
+

Any other parameter passed on.

+

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/predictor_filter.html b/reference/predictor_filter.html index 78af573b..6cc44017 100644 --- a/reference/predictor_filter.html +++ b/reference/predictor_filter.html @@ -129,7 +129,7 @@

)zaBz=<8EbDCRG1+&Pe5~%r+=s3{ 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

Details

@@ -116,7 +120,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/run_stan.html b/reference/run_stan.html index f658acd9..f34e485f 100644 --- a/reference/run_stan.html +++ b/reference/run_stan.html @@ -156,7 +156,7 @@

See also diff --git a/reference/sanitize_names.html b/reference/sanitize_names.html index 90dd6604..9d20823a 100644 --- a/reference/sanitize_names.html +++ b/reference/sanitize_names.html @@ -94,7 +94,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/scenario.html b/reference/scenario.html index 20388bd8..a59a1859 100644 --- a/reference/scenario.html +++ b/reference/scenario.html @@ -88,7 +88,7 @@

Arguments

Note

If a limit has been defined already during train(), for example by adding -an extrapolation limit add_control_extrapolation(), this zonal layer can be +an extrapolation limit add_limits_extrapolation(), this zonal layer can be reused for the projections. Note: This effectively fixes the projections to certain areas.

@@ -109,7 +109,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/sel_predictors.html b/reference/sel_predictors.html index 1af13c73..dfdce79b 100644 --- a/reference/sel_predictors.html +++ b/reference/sel_predictors.html @@ -95,7 +95,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/set_priors-BiodiversityDistribution-method.html b/reference/set_priors-BiodiversityDistribution-method.html index 86052f84..e43893d6 100644 --- a/reference/set_priors-BiodiversityDistribution-method.html +++ b/reference/set_priors-BiodiversityDistribution-method.html @@ -123,7 +123,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/set_priors.html b/reference/set_priors.html index fc367b2a..af17696a 100644 --- a/reference/set_priors.html +++ b/reference/set_priors.html @@ -122,7 +122,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/similarity.html b/reference/similarity.html index c168a8b1..9f0e2494 100644 --- a/reference/similarity.html +++ b/reference/similarity.html @@ -189,7 +189,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/simulate_population_steps.html b/reference/simulate_population_steps.html index c5ee72be..ac0857f5 100644 --- a/reference/simulate_population_steps.html +++ b/reference/simulate_population_steps.html @@ -215,7 +215,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/spartial.html b/reference/spartial.html index 4ef0a3f4..94474b57 100644 --- a/reference/spartial.html +++ b/reference/spartial.html @@ -131,7 +131,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/stancode.html b/reference/stancode.html index a0bcbf7b..edb15496 100644 --- a/reference/stancode.html +++ b/reference/stancode.html @@ -94,7 +94,7 @@

See also diff --git a/reference/summary.html b/reference/summary.html index cdd892c3..a4691147 100644 --- a/reference/summary.html +++ b/reference/summary.html @@ -132,7 +132,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/thin_observations.html b/reference/thin_observations.html index 260d499e..00efab38 100644 --- a/reference/thin_observations.html +++ b/reference/thin_observations.html @@ -208,7 +208,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/threshold.html b/reference/threshold.html index a3cb2a59..50dc5c06 100644 --- a/reference/threshold.html +++ b/reference/threshold.html @@ -260,7 +260,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/train.html b/reference/train.html index 7b4234b1..fae0a055 100644 --- a/reference/train.html +++ b/reference/train.html @@ -270,20 +270,20 @@

Examples add_predictors(env = predictors, transform = "scale", derivates = "none") |> # Use GLM as engine engine_glm() -#> [Setup] 2024-08-25 10:14:30.170942 | Creating distribution object... -#> [Setup] 2024-08-25 10:14:30.171664 | Adding poipo dataset... -#> [Setup] 2024-08-25 10:14:30.244549 | Adding predictors... -#> [Setup] 2024-08-25 10:14:30.326762 | Transforming predictors... +#> [Setup] 2024-10-08 19:46:59.767894 | Creating distribution object... +#> [Setup] 2024-10-08 19:46:59.768788 | Adding poipo dataset... +#> [Setup] 2024-10-08 19:46:59.847214 | Adding predictors... +#> [Setup] 2024-10-08 19:46:59.852389 | Transforming predictors... # Train the model, Also filter out co-linear predictors using a pearson threshold mod <- train(x, only_linear = TRUE, filter_predictors = 'pearson') -#> [Estimation] 2024-08-25 10:14:30.422435 | Collecting input parameters. -#> [Estimation] 2024-08-25 10:14:30.568613 | Filtering predictors via pearson... -#> [Estimation] 2024-08-25 10:14:30.57466 | Adding engine-specific parameters. -#> [Estimation] 2024-08-25 10:14:30.579962 | Engine setup. -#> [Estimation] 2024-08-25 10:14:30.710105 | Starting fitting: a735207f -#> [Estimation] 2024-08-25 10:14:30.765785 | Starting prediction... -#> [Done] 2024-08-25 10:14:30.828823 | Completed after 0.4 secs +#> [Estimation] 2024-10-08 19:46:59.891953 | Collecting input parameters. +#> [Estimation] 2024-10-08 19:46:59.930851 | Filtering predictors via pearson... +#> [Estimation] 2024-10-08 19:46:59.936484 | Adding engine-specific parameters. +#> [Estimation] 2024-10-08 19:46:59.941496 | Engine setup. +#> [Estimation] 2024-10-08 19:47:00.064427 | Starting fitting: 9c042b64 +#> [Estimation] 2024-10-08 19:47:00.101275 | Starting prediction... +#> [Done] 2024-10-08 19:47:00.165675 | Completed after 0.27 secs mod #> Trained GLM-Model (Unnamed run) #> Strongest summary effects: @@ -302,7 +302,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/unwrap_model.html b/reference/unwrap_model.html index a60f0717..3d21f1b3 100644 --- a/reference/unwrap_model.html +++ b/reference/unwrap_model.html @@ -103,7 +103,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/validate.html b/reference/validate.html index 293eb37d..d58177b9 100644 --- a/reference/validate.html +++ b/reference/validate.html @@ -197,7 +197,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/wrap_model.html b/reference/wrap_model.html index f44d37fd..e91ce223 100644 --- a/reference/wrap_model.html +++ b/reference/wrap_model.html @@ -102,7 +102,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/wrap_stanmodel.html b/reference/wrap_stanmodel.html index 22627c0a..b213a234 100644 --- a/reference/wrap_stanmodel.html +++ b/reference/wrap_stanmodel.html @@ -78,7 +78,7 @@

Value

diff --git a/reference/write_model.html b/reference/write_model.html index 4237c419..cfe70e10 100644 --- a/reference/write_model.html +++ b/reference/write_model.html @@ -131,7 +131,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/write_output.html b/reference/write_output.html index e78fa8f2..0b358c96 100644 --- a/reference/write_output.html +++ b/reference/write_output.html @@ -179,7 +179,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/reference/write_summary.html b/reference/write_summary.html index b39bcc93..7e34dbba 100644 --- a/reference/write_summary.html +++ b/reference/write_summary.html @@ -141,7 +141,7 @@

Examples -

Site built with pkgdown 2.1.0.

+

Site built with pkgdown 2.1.1.

diff --git a/search.json b/search.json index d7f3c54d..79a23e87 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-biodiversity-data","dir":"Articles","previous_headings":"","what":"Preparing and altering biodiversity data","title":"Preparation of biodiversity and predictor data","text":"SDM approaches require observation biodiversity data, typically form presence-presence-absence data, can available range different formats points polygons. range existing tools assist modellers preparing cleaning input data (instance biases). vignette intend give overview options. Rather highlights functions created specifically ibis.iSDM package might help situations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"adding-pseudo-absence-points-to-presence-only-data","dir":"Articles","previous_headings":"Preparing and altering biodiversity data","what":"Adding pseudo-absence points to presence-only data","title":"Preparation of biodiversity and predictor data","text":"Although philosophy ibis.iSDM package advisable use presence-models Poisson point process modelling framework (‘poipo’ modelling functions use background points (see Warton Sheperd 2010). Yet, good case can also made instead add pseudo-absence points existing presence-data. allows use logistic regressions ‘poipa’ methods ibis.iSDM generally easier interpret (response scale 0 1) also faster fit model. Adding pseudo-absence data ibis.iSDM package works first specifiying Pseudoabsence options object contains parameters many pseudo-absences sampled. respective function called pseudoabs_settings(). details available options (many) can found help file. default packages uses random sampling absence points settings can queried ibis_options()$ibis.pseudoabsence. options defined, pseudoa-absence data can added point dataset via add_pseudoabsence(). Example:","code":"## Lets load some testing data from the package # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\",quiet = TRUE) # Add a range virtual_range <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'range', quiet = TRUE) # Define new settings for sampling points outside the minimum convex polygon of # the known presence data abs <- pseudoabs_settings(background = background, nrpoints = 1000, # Sample 1000 points method = \"mcp\", # Option for minimum convex polygon inside = FALSE # Sample exclusively outside ) print( abs ) # See object, check abs$data for the options # Now add to the point data point1 <- add_pseudoabsence(virtual_species, # Point to the column with the presence information field_occurrence = 'Observed', settings = abs) plot(point1['Observed']) # --- # # Another option sampling inside the range, but biased by a bias layer bias <- terra::rast(system.file(\"extdata/predictors/hmi_mean_50km.tif\", package = \"ibis.iSDM\", mustWork = TRUE)) abs <- pseudoabs_settings(background = background, nrpoints = 100, # Sample 100 points method = \"range\", # Define range as method inside = TRUE, # Sample exclusively inside layer = virtual_range, # Define the range bias = bias # Set a bias layer ) # Add again to the point data point2 <- add_pseudoabsence(virtual_species, # Point to the column with the presence information field_occurrence = 'Observed', settings = abs) plot(point2['Observed'])"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"thinning-observations","dir":"Articles","previous_headings":"Preparing and altering biodiversity data","what":"Thinning observations","title":"Preparation of biodiversity and predictor data","text":"Many presence-records often spatially highly biased varying observational processes resulting quite clustered point observations. example, urban areas natural sites near considerably often frequented citizens observed wildlife sites remote areas. Particular Poisson process models can problematic models critically assume - without accounting - observational process homogeneous space. Thinning observations method remove point observations areas “oversampled”. Critically however remove points grid cells provided background case never removes entire grid cell fully. can also beneficial model convergence modelling speed, particular well-sampled species (e.g. common blackbird Turdus merula) diminishing returns fitting SDM like 1 million presence-points instead just 20000 well separated ones. ibis.iSDM package implementation spatial thinning, one can also refer Aiello-Lammens et al. alternative implementation rationale thinning. Thinning needs conducted care effectively discards data!","code":"## We use the data loaded in above plot(virtual_species['Observed'], main = \"Original data\") # Random thinning. Note the messages of number of thinned points point1 <- thin_observations(data = virtual_species, background = background, method = 'random', remainpoints = 1 # Retain at minimum one point per grid cell! ) #> (random) thinning completed! #> Original number of records: 208 #> Number of retained records: 175 plot(point1['Observed'], main = \"Random thinning\") # Another way: Use environmental thinning to retain enough points # across the niche defined by a set of covariates covariates <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) point2 <- thin_observations(data = virtual_species, background = background, env = covariates, method = 'environmental', remainpoints = 5 # Retain at minimum five points! ) #> (environmental) thinning completed! #> Original number of records: 208 #> Number of retained records: 26 plot(point2['Observed'], main = \"Environmentally stratified data\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-predictor-data","dir":"Articles","previous_headings":"","what":"Preparing and altering predictor data","title":"Preparation of biodiversity and predictor data","text":"order used species distribution modelling predictors need provided common extent, grain size geographic projections. need align provided background extent distribution() ideally contain missing data. missing data, package check remove model fitting points fall grid cells missing data. ibis.iSDM package number convenience functions modify input predictors. functions rather provide nuance(s) variation modelling process, rather preparing input data (needs undertaken using terra package).","code":"# Load some test covariates predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"transforming-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Transforming predictors","title":"Preparation of biodiversity and predictor data","text":"better model convergence usually makes sense bring predictors common unit, example noramlizing scaling . ibis.iSDM package convenience function can applied terra ‘SpatRaster’ object. NOTE: functionality also available directly add_predictors() parameter! options transformation also available listed methods file.","code":"# Let's take a simple layer for an example layer <- predictors$bio19_mean_50km # Transform it in various way new1 <- predictor_transform(layer, option = \"norm\") new2 <- predictor_transform(layer, option = \"scale\") new <- c(layer, new1, new2) names(new) <- c(\"original\", \"normalized\", \"scaled\") terra::plot( new ) # Another common use case is to windsorize a layer, for example by removing # top outliers form a prediction. # Here the values are capped to a defined percentile new3 <- predictor_transform(layer, option = \"windsor\", # Clamp the upper values to the 90% percentile windsor_props = c(0,.9)) new <- c(layer, new3) names(new) <- c(\"original\", \"windsorized\") terra::plot( new )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"derivates-of-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Derivates of predictors","title":"Preparation of biodiversity and predictor data","text":"simple linear SDM (e.g. engine_glmnet()) includes predictors thus assumes increase response variable follows linear relationship covariate. However, reality always simple usually can assumed many relationships highly non-linear otherwise complex. standard way introduce non-linearities linear algorithm create derivates predictors, example quadratic transformation temperature. ibis.iSDM package convenience function can applied terra ‘SpatRaster’ object create additional derivates model. Note creates (cases substantial) additional predictors. NOTE: functionality also available directly add_predictors() parameter! fine-tuned control can also achieved creating specific interactions among variables, example one expects climate interact forest cover.","code":"# Let's take a simple layer for an example layer <- predictors$ndvi_mean_50km # Make a quadratic transformation new1 <- predictor_derivate(layer, option = \"quadratic\") new <- c(layer, new1) names(new) <- c(\"original\", \"quadratic\") terra::plot( new ) # Create some hinge transformations new2 <- predictor_derivate(layer, option = \"hinge\", # The number is controlled by the number of knots nknots = 4 ) terra::plot( new2 ) # What does this do precisely? # Lets check df <- data.frame( ndvi = terra::values(layer), terra::values(new2)) plot(df$ndvi_mean_50km, df[,2], ylab = \"First hinge of ndvi\", xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,3], ylab = \"Second hinge of ndvi\",xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,4], ylab = \"Third hinge of ndvi\", xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,5], ylab = \"Fourth hinge of ndvi\",xlab = \"NDVI\") # Create interacting variables new <- predictor_derivate(predictors,option = \"interaction\", int_variables = c(\"bio01_mean_50km\", \"CLC3_312_mean_50km\")) plot(new, main = \"Interaction variable\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"homogenize-missing-data-among-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Homogenize missing data among predictors","title":"Preparation of biodiversity and predictor data","text":"mentioned , model training covariates extracted biodiversity observational record. Missing data case discarded. example 10 predictors considered single one missing value one grid cell, grid cell considered missing among predictors well. ibis.iSDM package convenience functions easily harmonize check extent missing data set predictors can convenient assessing errors data preparation.","code":"# Make a subset of all predictors to show the concept layers <- subset(predictors, c(\"aspect_mean_50km\", \"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # All these layers have identical data coverage. # Now add missing data in one of the layers for testing layers$CLC3_312_mean_50km[sample(1:ncell(layers), 1000)] <- NA # Harmonize the predictors new <- predictor_homogenize_na(env = layers) # Now all the predictors have identical coverage of NA values terra::plot(new) # Or assess like this plot(!terra::noNA(new$aspect_mean_50km), main = \"Missing observations\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-future-scenario-data","dir":"Articles","previous_headings":"","what":"Preparing and altering future scenario data","title":"Preparation of biodiversity and predictor data","text":"Creating scenarios R requires input predictors formatted different format . ibis.iSDM package makes extensive use stars prepare load multi-dimensional data. One common issue predictors requested time dimension. example climate data might available decadal scale (e.g. 2020, 2030, 2040), yet predictions often required finer temporal grain. purpose ibis.iSDM contains dedicated function (interpolate_gaps()), can also directly called within project().","code":"# Load some stars rasters ll <- list.files(system.file('extdata/predictors_presfuture/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load the same files future ones suppressWarnings( pred_future <- stars::read_stars(ll) |> dplyr::slice('Time', seq(1, 86, by = 10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # The predictors are here only available every 10 years stars::st_get_dimension_values(pred_future, 3) #> Units: [(days since 1970-1-1)] #> [1] 16436 20089 23741 27394 31046 34699 38351 42004 45656 # --- # # The ibis.iSDM contains here a function to make interpolation among timesteps, # thus filling gaps in between. # As an example, # Here we make a temporal interpolation to create an annual time series new <- interpolate_gaps(pred_future, date_interpolation = \"annual\") stars::st_get_dimension_values(new, 3) #> [1] \"2015-07-02\" \"2016-07-02\" \"2017-07-02\" \"2018-07-02\" \"2019-07-02\" #> [6] \"2020-07-02\" \"2021-07-02\" \"2022-07-02\" \"2023-07-02\" \"2024-07-02\" #> [11] \"2025-07-02\" \"2026-07-02\" \"2027-07-02\" \"2028-07-02\" \"2029-07-02\" #> [16] \"2030-07-02\" \"2031-07-02\" \"2032-07-02\" \"2033-07-02\" \"2034-07-02\" #> [21] \"2035-07-02\" \"2036-07-02\" \"2037-07-02\" \"2038-07-02\" \"2039-07-02\" #> [26] \"2040-07-02\" \"2041-07-02\" \"2042-07-02\" \"2043-07-02\" \"2044-07-02\" #> [31] \"2045-07-02\" \"2046-07-02\" \"2047-07-02\" \"2048-07-02\" \"2049-07-02\" #> [36] \"2050-07-02\" \"2051-07-02\" \"2052-07-02\" \"2053-07-02\" \"2054-07-02\" #> [41] \"2055-07-02\" \"2056-07-02\" \"2057-07-02\" \"2058-07-02\" \"2059-07-02\" #> [46] \"2060-07-02\" \"2061-07-02\" \"2062-07-02\" \"2063-07-02\" \"2064-07-02\" #> [51] \"2065-07-02\" \"2066-07-02\" \"2067-07-02\" \"2068-07-02\" \"2069-07-02\" #> [56] \"2070-07-02\" \"2071-07-02\" \"2072-07-02\" \"2073-07-02\" \"2074-07-02\" #> [61] \"2075-07-02\" \"2076-07-02\" \"2077-07-02\" \"2078-07-02\" \"2079-07-02\" #> [66] \"2080-07-02\" \"2081-07-02\" \"2082-07-02\" \"2083-07-02\" \"2084-07-02\" #> [71] \"2085-07-02\" \"2086-07-02\" \"2087-07-02\" \"2088-07-02\" \"2089-07-02\" #> [76] \"2090-07-02\" \"2091-07-02\" \"2092-07-02\" \"2093-07-02\" \"2094-07-02\" #> [81] \"2095-07-02\""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"derivates-of-scenario-predictors","dir":"Articles","previous_headings":"Preparing and altering future scenario data","what":"Derivates of scenario predictors","title":"Preparation of biodiversity and predictor data","text":"SpatRaster covariates, also possible create transformed derivate versions scenario predictors helper function.","code":"# Load some stars rasters ll <- list.files(system.file('extdata/predictors_presfuture/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load the same files future ones suppressWarnings( pred_future <- stars::read_stars(ll[1:3]) |> dplyr::slice('Time', seq(1, 86, by = 10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # Scale new <- predictor_transform(pred_future, option = \"scale\") # Add quadratic transformed variables to the scenario object new2 <- predictor_derivate(pred_future, option = \"quad\") # New variable names names(new2) #> [1] \"bio01\" \"bio12\" \"crops\" \"quadratic_bio01\" #> [5] \"quadratic_bio12\" \"quadratic_crops\""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"load-package-and-make-a-basic-model","dir":"Articles","previous_headings":"","what":"Load package and make a basic model","title":"Train a basic model","text":"Creating model ibis.iSDM package relatively straight forward demonstrate testdata come package. data show distribution simulated forest-associated species northern Europe. also test predictors available modelling. first lets load data: example model going use ‘Integrated Nested Laplace approximation (INLA)’ modelling framework available INLA inlabru packages. implemented separately ibis.iSDM package, especially dealing future scenarios use inlabru package advised. Now lets build simple model object. case make use presence-biodiversity records (add_biodiversity_poipo). presence-records added object created distribution() default modelled intensity λ\\lambda inhomogeneous Poisson point process model (PPM), Number Individuals NN integrated relative rate occurrence per unit area: Ni∼Poisson(λi|Ai)N_i \\sim Poisson(\\lambda_i|A_i). λ\\lambda can estimated relating environmental covariates log(λi)=α+β(xi)log(\\lambda_i) = \\alpha + \\beta(x_i), ii grid cell. inhomogeneous since lambdalambda varies whole sampling extent. context species distribution modelling PPMs structurally similar popular Maxent modelling framework (see Renner & Warton 2013 Renner et al. 2015. Critically, presence-records can give indication biased sampling thus sampling bias taken somehow account, either careful data preparation, apriori thinning model-based control including covariates σi\\sigma_i might explain sampling bias. print call end now shows summary statistics contained object, extent modelling background projection used, number biodiversity datasets added statistics predictors, eventual priors engine used. course steps can also done “pipe” using |> syntax. Also helpful know object contains number helper functions allow easy summary visualization contained data. example, possible plot obtain data added object. Now finally model can estimated using supplied engine. train function many available parameters affect model fitted. Unless possible, default way fitting linear model based provided engine biodiversity data types.","code":"# Load the package library(ibis.iSDM) library(inlabru) library(xgboost) library(terra) library(uuid) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\") #> Reading layer `points' from data source #> `/home/runner/work/_temp/Library/ibis.iSDM/extdata/input_data.gpkg' #> using driver `GPKG' #> Simple feature collection with 208 features and 5 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 4.109162 ymin: 48.7885 xmax: 24.47594 ymax: 64.69323 #> Geodetic CRS: WGS 84 # Predictors predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) # Make use only of a few of them predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # First we define a distribution object using the background layer mod <- distribution(background) # Then lets add species data to it. # This data needs to be in sf format and key information is that # the model knows where occurrence data is stored (e.g. how many observations per entry) as # indicated by the field_occurrence field. mod <- add_biodiversity_poipo(mod, virtual_species, name = \"Virtual test species\", field_occurrence = \"Observed\") # Then lets add predictor information # Here we are interested in basic transformations (scaling), but derivates (like quadratic) # for now, but check options mod <- add_predictors(mod, env = predictors, transform = \"scale\", derivates = \"none\") # Finally define the engine for the model # This uses the default data currently backed in the model, # !Note that any other data might require an adaptation of the default mesh parameters used by the engine! mod <- engine_inlabru(mod) # Print out the object to see the information that is now stored within print(mod) #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> Point - Presence only <208 records> #> --------- #> predictors: bio01_mean_50km, bio03_mean_50km, bio19_mean_50km, ... (8 predictors) #> priors: #> latent: None #> log: #> engine: print(\"Create model\") #> [1] \"Create model\" mod <- distribution(background) |> add_biodiversity_poipo(virtual_species, name = \"Virtual test species\", field_occurrence = \"Observed\") |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru() # Make visualization of the contained biodiversity data plot(mod$biodiversity) # Other options to explore names(mod) #> [1] \"summary\" \"show_biodiversity_length\" #> [3] \"show_biodiversity_equations\" \"show_background_info\" #> [5] \"show\" \"set_priors\" #> [7] \"set_predictors\" \"set_offset\" #> [9] \"set_log\" \"set_limits\" #> [11] \"set_latent\" \"set_engine\" #> [13] \"set_control\" \"set_biodiversity\" #> [15] \"rm_priors\" \"rm_predictors\" #> [17] \"rm_offset\" \"rm_limits\" #> [19] \"rm_latent\" \"rm_engine\" #> [21] \"rm_control\" \"priors\" #> [23] \"print\" \"predictors\" #> [25] \"plot_offsets\" \"plot_bias\" #> [27] \"plot\" \"offset\" #> [29] \"name\" \"log\" #> [31] \"limits\" \"latentfactors\" #> [33] \"initialize\" \"get_resolution\" #> [35] \"get_projection\" \"get_priors\" #> [37] \"get_prior_variables\" \"get_predictor_names\" #> [39] \"get_offset_type\" \"get_offset\" #> [41] \"get_log\" \"get_limits\" #> [43] \"get_latent\" \"get_extent\" #> [45] \"get_engine\" \"get_control\" #> [47] \"get_biodiversity_types\" \"get_biodiversity_names\" #> [49] \"get_biodiversity_ids\" \"get_biodiversity_equations\" #> [51] \"engine\" \"control\" #> [53] \"clone\" \"biodiversity\" #> [55] \"background\" \".__enclos_env__\" print(\"Fit model\") #> [1] \"Fit model\" # Finally train fit <- train(mod, runname = \"Test INLA run\", aggregate_observations = FALSE, # Don't aggregate point counts per grid cell verbose = FALSE # Don't be chatty )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"summarizing-and-plotting-the-fitted-distribution-object","dir":"Articles","previous_headings":"","what":"Summarizing and plotting the fitted distribution object","title":"Train a basic model","text":"created distribution model object can visualized interacted . print() outputs model, inherent parameters whether predictions contained within. summary() creates summary output contained model. plot() makes visualization prediction background effects() visualizes effects, usually default plot package used fit model. See reference help pages options including calculating threshold(), partial() similarity() estimate used data. common practice species distribution modelling resulting predictions thresholded, e.g. abstraction continious prediction created separates background areas environment supporting species presumably suitable non-suitable. Threshold can used ibis.iSDM via threshold() functions suppling either fitted model, RasterLayer Scenario object. options functions please see help pages!","code":"# Plot the mean of the posterior predictions plot(fit, \"mean\") # Print out some summary statistics summary(fit) #> # A tibble: 9 × 8 #> variable mean sd q05 q50 q95 mode kld #> #> 1 Intercept -2.45 0.127 -2.66 -2.45 -2.24 -2.45 0 #> 2 bio01_mean_50km -0.0400 0.178 -0.332 -0.0400 0.252 -0.0400 0 #> 3 bio03_mean_50km -0.477 0.162 -0.744 -0.477 -0.210 -0.477 0 #> 4 bio19_mean_50km 0.482 0.115 0.294 0.482 0.670 0.482 0 #> 5 CLC3_112_mean_50km 0.443 0.0666 0.334 0.443 0.553 0.443 0 #> 6 CLC3_132_mean_50km 0.0818 0.0653 -0.0256 0.0818 0.189 0.0818 0 #> 7 CLC3_211_mean_50km 0.919 0.105 0.746 0.919 1.09 0.919 0 #> 8 CLC3_312_mean_50km 1.07 0.0890 0.926 1.07 1.22 1.07 0 #> 9 elevation_mean_50km 0.0444 0.114 -0.144 0.0444 0.233 0.0444 0 # Show the default effect plot from inlabru effects(fit) # To calculate a partial effect for a given variable o <- partial(fit, x.var = \"CLC3_312_mean_50km\", plot = TRUE) # The object o contains the data underlying this figure # Similarly the partial effect can be visualized spatially as 'spartial' s <- spartial(fit, x.var = \"CLC3_312_mean_50km\") plot(s[[1]], col = rainbow(10), main = \"Marginal effect of forest on the relative reporting rate\") # Calculate a threshold based on a 50% percentile criterion fit <- threshold(fit, method = \"percentile\", value = 0.5) # Notice that this is now indicated in the fit object print(fit) #> Trained INLABRU-Model (Test INLA run) #> Strongest summary effects: #> Positive: CLC3_312_mean_50km, CLC3_211_mean_50km, bio19_mean_50km, ... (6) #> Negative: bio01_mean_50km, bio03_mean_50km, Intercept (3) #> Prediction fitted: yes #> Threshold created: yes # There is also a convenient plotting function fit$plot_threshold() # It is also possible to use truncated thresholds, which removes non-suitable areas # while retaining those that are suitable. These are then normalized to a range of [0-1] fit <- threshold(fit, method = \"percentile\", value = 0.5, format = \"normalize\") fit$plot_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"validation-of-model-predictions","dir":"Articles","previous_headings":"","what":"Validation of model predictions","title":"Train a basic model","text":"ibis.iSDM package provides convenience function obtain validation results fitted models. Validation can done continious discrete predictions, latter requires computed threshold fits (see ). ‘validate’ fitted model using data used model fitting. scientific paper recommend implement cross-validation scheme obtain withheld data use independently gathered data. Validating integrated SDMs, particular fitted multiple likelihoods challenging something yet fully explored scientific literature. example strong priors can substantially improve modifying response functions model, challenging validate validation data similar biases training data. One way SDMs can validated spatial block validation, however care needs taken datasets part block.","code":"# By Default validation statistics are continuous and evaluate the predicted estimates against the number of records per grid cell. fit$rm_threshold() validate(fit, method = \"cont\") #> modelid name method #> 1 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> 2 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> 3 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> 4 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> 5 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> 6 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species continuous #> metric value #> 1 n 208.0000000 #> 2 rmse 0.6103975 #> 3 mae 0.5318326 #> 4 logloss 1.4551043 #> 5 normgini NaN #> 6 cont.boyce NA # If the prediction is first thresholded, we can calculate discrete validation estimates (binary being default) fit <- threshold(fit, method = \"percentile\", value = 0.5, format = \"binary\") validate(fit, method = \"disc\") #> modelid name method #> 1 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 2 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 3 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 4 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 5 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 6 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 7 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 8 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 9 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 10 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 11 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 12 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> 13 5d860049-d544-48f7-a1ce-33f510a92de0 Virtual test species discrete #> metric value #> 1 n 600.0000000 #> 2 auc 0.6964286 #> 3 overall.accuracy 0.7566667 #> 4 true.presence.ratio 0.4160000 #> 5 precision 0.7123288 #> 6 sensitivity 0.5000000 #> 7 specificity 0.8928571 #> 8 tss 0.3928571 #> 9 f1 0.5875706 #> 10 logloss 6.2300546 #> 11 expected.accuracy 0.5787111 #> 12 kappa 0.4224074 #> 13 brier.score 0.2433333"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"constrain-a-model-in-prediction-space","dir":"Articles","previous_headings":"","what":"Constrain a model in prediction space","title":"Train a basic model","text":"Species distribution models quite often extrapolate areas species unlikely persist thus likely predict false presences false absences. “overprediction” can caused multiple factors true biological constraints (e.g. dispersal), used algorithm trying clever overfitting towards complex relationships (machine learning literature problem commonly known bias vs variance tradeoff). One option counter extent SDMs add spatial constraints spatial latent effects. underlying assumption distances geographic space can extent approximate unknown unquantified factors determine species range. options constrains integrate additional data sources add parameter constraints (see [integrate_data] vignette). Currently ibis.iSDM package supports addition spatial latent effects via add_latent_spatial(). See help file information. Note every spatial term accounts spatial autocorrelation, simply add distance observations predictor (thus assuming much spatial pattern can explained commonalities sampling process). Another option constraining prediction place concrete limits prediction surface. can done adding factor zone layer distribution object. Internally, assessed ‘zones’ biodiversity observations fall, discarding others prediction. approach can particular suitable current future projections larger scale using instance biome layer stratification. assumes rather unlikely species distributions shift different biomes entirely, instance dispersal eco-evolutionary constraints. Note approach effectively also limits prediction background / output!","code":"# Here we are going to use the xgboost algorithm instead and set as engine below. # We are going to fit two separate Poisson Process Models (PPMs) on presence-only data. # Load the predictors again predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\"), \"*.tif\",full.names = TRUE)) predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\", \"koeppen_50km\")) # One of them (Köppen) is a factor, we will now convert this to a true factor variable predictors$koeppen_50km <- terra::as.factor(predictors$koeppen_50km) # Create a distribution modelling pipeline x <- distribution(background) |> add_biodiversity_poipo(virtual_species, field_occurrence = 'Observed', name = 'Virtual points') |> add_predictors(predictors, transform = 'scale', derivates = \"none\") |> engine_xgboost(iter = 8000) # Now train 2 models, one without and one with a spatial latent effect mod_null <- train(x, runname = 'Normal PPM projection', only_linear = TRUE, verbose = FALSE) # And with an added constrain # Calculated as nearest neighbour distance (NND) between all input points mod_dist <- train(x |> add_latent_spatial(method = \"nnd\"), runname = 'PPM with NND constrain', only_linear = TRUE, verbose = FALSE) #> |---------|---------|---------|---------|========================================= # Compare both plot(background, main = \"Biodiversity data\"); plot(virtual_species['Observed'], add = TRUE) plot(mod_null) plot(mod_dist) # Create again a distribution object, but this time with limits (use the Köppen-geiger layer from above) # The zones layer must be a factor layer (e.g. is.factor(layer) ) # Zone layers can be supplied directly to distribution(background, limits = zones) # or through an extrapolation control as shown below. x <- distribution(background) |> add_biodiversity_poipo(virtual_species, field_occurrence = 'Observed', name = 'Virtual points') |> add_predictors(predictors, transform = 'scale', derivates = \"none\") |> # Since we are adding the koeppen layer as zonal layer, we disgard it from the predictors rm_predictors(\"koeppen_50km\") |> add_limits_extrapolation(layer = predictors$koeppen_50km, method = \"zones\") |> engine_xgboost(iter = 3000, learning_rate = 0.01) # Spatially limited prediction mod_limited <- train(x, runname = 'Limited prediction background', only_linear = TRUE, verbose = FALSE) # Compare the output plot(mod_limited)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"load-relevant-packages-and-testing-data","dir":"Articles","previous_headings":"","what":"Load relevant packages and testing data","title":"Data integration","text":"Lets load prepared test data exercise. time going make use several datasets. can define generic model use sections .","code":"# Load the package library(ibis.iSDM) library(inlabru) library(glmnet) library(xgboost) library(terra) library(igraph) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\", quiet = TRUE) virtual_range <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'range', quiet = TRUE) # In addition we will use the species data to generate a presence-absence dataset with pseudo-absence points. # Here we first specify the settings to use: ass <- pseudoabs_settings(background = background, nrpoints = 200, method = \"random\") virtual_pseudoabs <- add_pseudoabsence(df = virtual_species, field_occurrence = \"Observed\", settings = ass) # Predictors predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) # Make use only of a few of them predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # First define a generic model and engine using the available predictors basemodel <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-through-predictors","dir":"Articles","previous_headings":"","what":"Integration through predictors","title":"Data integration","text":"simple way integrating prior observations species distribution models add covariate. based assumption instance expert-drawn range map can useful predicting species exist might might find suitable habitat (see instance Domisch et al. 2016). benefit approach predictors can easily added kinds engines ibis.ISDM package also used scenarios. Expert-ranges can currently added simple binary distance transform. latter options available bossMaps R-package described Merow et al. 2017. Another option added possibility add thresholded masks based elevational () limits. idea generate two layers, one areas lower upper range one upper range. Regression thresholded layers can thus approximate lower upper bounds. instance suppose species known occur 300 800m sea level, can added follows:","code":"# Here we simply add the range as simple binary predictor mod1 <- basemodel |> add_predictor_range(virtual_range, method = \"distance\") # We can see that the range has been added to the predictors object # 'distance_range' mod1$get_predictor_names() #> [1] \"bio01_mean_50km\" \"bio03_mean_50km\" \"bio19_mean_50km\" #> [4] \"CLC3_112_mean_50km\" \"CLC3_132_mean_50km\" \"CLC3_211_mean_50km\" #> [7] \"CLC3_312_mean_50km\" \"elevation_mean_50km\" \"range_distance\" # Specification basemodel <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru() mod1 <- basemodel |> add_predictor_elevationpref(layer = predictors$elevation_mean_50km, lower = 300, upper = 800) # Plot the threshold for an upper plot( mod1$predictors$get_data()[[c(\"elev_low\", \"elev_high\")]] )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-through-offsets","dir":"Articles","previous_headings":"","what":"Integration through offsets","title":"Data integration","text":"Apart including spatial-explicit prior biodiversity knowledge predictors SDM model, - particular Poisson Process Models (PPM) - also different approach, include variable offset prediction. effectively tells respective engine change intercepts coefficients based existing knowledge, can instance existing coefficient. Offsets can specified addition nuisance model, instance either adding expert-delineated range offset factoring spatial bias areas high sampling density accessibility. Multiple offsets can specified given PPM simply multiplying , since log(off1*off2)=log(off1)+log(off2)log(off_1 * off_2) = log(off_1) + log(off_2). comprehensive overview including offsets SDMs can found Merow et al. (2016). ways add offsets model object, either directly (add_offset()) externally calculated RasterLayer instance “BossMaps” R-package, calculate range (add_offset_range()) elevation (add_offset_elevation()) offset, also biased offset (add_offset_bias()) case offset removed prediction.","code":"# Specification mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> add_offset_range(virtual_range, distance_max = 5e5) |> engine_glmnet() |> # Train train(runname = \"Prediction with range offset\",only_linear = TRUE) plot(mod1)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-with-priors","dir":"Articles","previous_headings":"","what":"Integration with priors","title":"Data integration","text":"different type integration also possible use informed priors, can set fixed random effects model. Bayesian context prior generally understood form uncertain quantity meant reflect direction /magnitude model parameters usually known -priori inference prediction. Offsets can also understood “priors”, however context SDMs, usually included spatial-explicit data, opposed priors available tabular form (known habitat affiliations). Since ibis.iSDM package supports variety engines Bayesian strict sense (engine_gdb engine_xgboost), specification priors differs depending engine question. Generally [Prior-class] objects can grouped : Probabilistic priors estimates placed example mean (μ\\mu) standard deviation (σ\\sigma) precision case [engine_inla]. priors usually allow greatest amount flexibility since able incorporate information sign magnitude coefficient. Monotonic constraints direction coefficient predictor model, f(x1)>=f(x2)f(x_1) >= f(x_2) f(x1)<=f(x2)f(x_1) <= f(x_2). Useful incorporate instance prior ecological knowledge certain response function example positive. complex priors specified random spatial effects penalized complexity priors used SPDE effects [add_latent_spatial()]. Probabilistic priors inclusion probability certain variable certainty variable included regularized outcome. example used case [engine_breg] [engine_glmnet]. Prior specifications specific engine information can found individual help pages priors() function. also now convenience function allows extract coefficients weights existing model can passed another model engine (get_priors()). requirement fitted model provided well target engine coefficients/priors created.","code":"# Set a clean base model with biodiversity data x <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> add_biodiversity_poipo(virtual_species, field_occurrence = \"Observed\") |> engine_inlabru() # Make a first model mod1 <- train(x, only_linear = TRUE) # Now assume we now that the species occurs more likely in intensively farmed land. # We can use this information to construct a prior for the linear coefficient. p <- INLAPrior(variable = \"CLC3_211_mean_50km\", type = \"normal\", hyper = c(2, 1000) # Precision priors, thus larger sigmas indicate higher precision ) # Single/Multiple priors need to be passed to `priors` and then added to the model object. pp <- priors(p) # The variables and values in this object can be queried as well pp$varnames() #> 199d66d8-aec9-47cd-b015-33c621ff9cfc #> \"CLC3_211_mean_50km\" # Priors can then be added via mod2 <- train(x |> add_priors(pp), only_linear = TRUE) # Or alternatively directly as parameter via add_predictors, # e.g. add_predictors(env = predictors, priors = pp) # Compare the difference in effects p1 <- partial(mod1, pp$varnames(), plot = TRUE) p2 <- partial(mod2, pp$varnames(), plot = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-with-ensembles","dir":"Articles","previous_headings":"","what":"Integration with ensembles","title":"Data integration","text":"Another straight forward way model-based integration simply fit two separate models different biodiversity dataset create ensemble . approach also works across different engines variety data types (cases requiring normalization given difference units model assumptions). (Note also possible create ensemble partial responses via ensemble_partial()).","code":"# Create and fit two models mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_glmnet() |> # Add dataset 1 add_biodiversity_poipo(poipo = virtual_species, name = \"Dataset1\",field_occurrence = \"Observed\") |> train(runname = \"Test1\", only_linear = TRUE) mod2 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_xgboost(iter = 5000) |> # Add dataset 2, Here we simple simulate presence-only points from a range add_biodiversity_polpo(virtual_range, name = \"Dataset2\",field_occurrence = \"Observed\", simulate = TRUE,simulate_points = 300) |> train(runname = \"Test1\", only_linear = FALSE) # Show outputs of each model individually and combined plot(mod1) plot(mod2) # Now create an ensemble: # By setting normalize to TRUE we furthermore ensure each prediction # is on a comparable scale [0-1]. e <- ensemble(mod1, mod2, method = \"mean\", normalize = TRUE) # The ensemble contains the mean and the coefficient of variation across all objects plot(e)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"combined-and-joint-likelihood-estimation","dir":"Articles","previous_headings":"","what":"Combined and joint likelihood estimation","title":"Data integration","text":"examples always added single biodiversity data source model trained, add multiple different ones? outlined Isaac et al. 2020 joint, model-based integration different data sources allows borrow strengths different types datasets (quantity, quality) accurate parameter estimations well control biases. Particular SDMs also benefit avoiding make unreasonable assumptions absence species, commonly done addition pseudo-absences (despite called pseudo, logistic likelihood function treats true absence). Depending engine, ibis.iSDM package currently supports either combined joint estimation several datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"combined-integration","dir":"Articles","previous_headings":"Combined and joint likelihood estimation","what":"Combined integration","title":"Data integration","text":"default engines support joint estimation (see ) make use combined integration, currently three different options: “predictor”: predicted output first (previously fitted) models added predictor stack thus predictors subsequent models (Default). “offset”: predicted output first (previously fitted) models added spatial offsets subsequent models. Offsets back-transformed depending model family. might work likelihood functions engines! “prior”: option make use coefficients previous model define priors used next model. Note option creates priors based previous fits can result unreasonable constrains (particular coefficients driven largely latent variables). Can used projections (scenario()). “interaction”: case two datasets type also possible make use factor interactions. case prediction made based first reference level (e.g. first added dataset) others “partialed” prediction. method works one fits model multiple datasets response (e.g. Bernoulli distributed). Can used projections (scenario()). “weights”: type integration works two biodiversity datasets type. datasets combined one, however observations weighted weights parameter add_biodiversity call. can example used give one dataset arbitrary (expert-defined) higher value compared another. can specified parameter train(). Note methods (like “predictor” & “offset”), models trained sequence datasets added!","code":"# Specification mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # A presence only dataset add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> # A Presence absence dataset add_biodiversity_poipa(virtual_pseudoabs,field_occurrence = \"Observed\") |> engine_xgboost() |> # Train train(runname = \"Combined prediction\",only_linear = TRUE, method_integration = \"predictor\") # The resulting object contains only the final prediction, e.g. that of the presence-absence model plot(mod1)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"joint-likelihood-estimation","dir":"Articles","previous_headings":"Combined and joint likelihood estimation","what":"Joint likelihood estimation","title":"Data integration","text":"engines, notably [engine_inla], [engine_inlabru] [engine_stan] support joint estimation multiple likelihoods. algorithmic approach package generally follows approach outlined presence-datasets modelled log-Gaussian Cox process expected number individuals estimated function area AA following Poisson distribution: $$\\begin{align*} N() &\\sim {\\sf Poisson}\\left(\\int_{} \\lambda()\\right) \\\\ \\end{align*}$$ log(λ())=α1+∑kKβkxi\\begin{align*} \\log(\\lambda()) = \\alpha_{1} + \\sum_{k}^{K} \\beta_{k}x_{} \\end{align*} NN number individuals, AA Area given spatial unit ii, N()N() estimate relative rate occurrence per unit area (ROR). kk increment KK number predictors. λ\\lambda intensity function, α\\alpha intercept β\\beta parameter coefficients environmental covariates. Note interactions Presence-absence data estimated draws Bernoulli distribution: $$\\begin{align*} Y_{} &\\sim {\\sf Bernoulli(p_{})}, = 1, 2, ... \\\\ \\end{align*}$$ log(−log(1−pi))=α2+∑kKβkxi\\begin{align*} \\log(-\\log(1-p_{})) &= \\alpha_{2} + \\sum_{k}^{K} \\beta_{k}x_{} \\end{align*} YY presence-absence record (usually standardized survey) sampled Bernoulli distribution given spatial unit ii. α\\alpha intercept β\\beta parameter coefficients environmental covariates. log-likelihood can understood cloglog functon. Joint likelihood estimated multiplying two likelihoods ∏lLf(l)\\prod_{l}^{L} f(l), LL individual likelihood, βk\\beta_{k} shared parameters two likelihoods. works assume cloglog(pi)≈log(λ())cloglog(p_i) \\approx log(\\lambda()). Equally also possible add shared latent spatial effects Gaussian fields (approximated stochastic partial differential equation (SPDE)) model, assuming shared factors - biases - affecting datasets. See Engine comparison overview engines support level integration.","code":"# Define a model mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # A presence only dataset add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> # A Presence absence dataset add_biodiversity_poipa(virtual_pseudoabs,field_occurrence = \"Observed\") |> # Use inlabru for estimation and default parameters. # INLA requires the specification of a mesh which in this example is generated from the data. engine_inlabru() |> # Train train(runname = \"Combined prediction\", only_linear = TRUE) # The resulting object contains the combined prediction with shared coefficients among datasets. plot(mod1) # Note how an overall intercept as well as separate intercepts for each dataset are added. summary(mod1) #> # A tibble: 11 × 8 #> variable mean sd q05 q50 q95 mode kld #> #> 1 Intercept -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 2 Intercept_X5bce1d17_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 3 Intercept_X2e62c88e_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 4 bio01_mean_50km -0.109 0.134 -0.330 -0.109 0.112 -0.109 0 #> 5 bio03_mean_50km -0.482 0.121 -0.681 -0.482 -0.282 -0.482 0 #> 6 bio19_mean_50km 0.470 0.0870 0.327 0.470 0.613 0.470 0 #> 7 CLC3_112_mean_50km 0.407 0.0496 0.325 0.407 0.488 0.407 0 #> 8 CLC3_132_mean_50km 0.0628 0.0496 -0.0188 0.0628 0.144 0.0628 0 #> 9 CLC3_211_mean_50km 0.897 0.0787 0.768 0.897 1.03 0.897 0 #> 10 CLC3_312_mean_50km 0.989 0.0661 0.880 0.989 1.10 0.989 0 #> 11 elevation_mean_50km 0.0264 0.0853 -0.114 0.0264 0.167 0.0264 0"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"load-relevant-packages-and-testing-data","dir":"Articles","previous_headings":"","what":"Load relevant packages and testing data","title":"Creating biodiversity projections","text":"purpose example loading testing data species distributions well contemporary future predictors. Note names predictors used building distribution model consistent creating projections! ## Train model create future projection make use data loaded () first create species distribution model contemporary conditions (b) project obtained coefficients future using future predictors. guidance distribution models trained, see vignettes (1). scenario object can finally trained via project().","code":"# Load the packages library(ibis.iSDM) library(stars) library(xgboost) library(terra) library(igraph) library(ggplot2) library(ncdf4) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background and biodiversity data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM')) virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points', quiet = TRUE) # Note we are loading different predictors than in previous examples # These are in netcdf4 format, a format specific for storing spatial-temporal data including metadata. ll <- list.files(system.file(\"extdata/predictors_presfuture/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.nc\",full.names = TRUE) # From those list of predictors are first loading the current ones as raster data # We are loading only data from the very first, contemporary time step for model fitting pred_current <- terra::rast() for(i in ll) suppressWarnings( pred_current <- c(pred_current, terra::rast(i, lyrs = 1) ) ) names(pred_current) <- tools::file_path_sans_ext( basename(ll) ) # Get future predictors # These we will load in using the stars package and also ignoring the first time step pred_future <- stars::read_stars(ll) |> stars:::slice.stars('Time', 2:86) st_crs(pred_future) <- st_crs(4326) # Set projection # Rename future predictors to those of current names(pred_future) <- names(pred_current) # Plot the test data plot(pred_current['secdf'], col = colorRampPalette(c(\"grey20\", \"orange\", \"lightgreen\", \"green\"))(10), main = \"Share of secondary vegetation\") # Train model adding the data loaded above x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'Observed', name = 'Virtual points') |> # Note that we scale the predictors here add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_glmnet(alpha = 0) #> Loaded glmnet 4.1-8 # Train the model modf <- train(x, runname = 'Simple PPM', verbose = FALSE) # Add a threshold to this model by getting 05 percentile of values modf <- threshold(modf, method = 'percentile', value = 0.05) # -- # # Now lets create a scenarios object via scenarios sc <- scenario(modf) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from the model object. threshold() #> Warning in add_predictors(scenario(modf), pred_future, transform = \"scale\"): #> State variable of transformation not found? # This creates a scenario object sc #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: None # The object contains its own functions. See the scenarios help file for more information on # what is possible with them names(sc) #> [1] \"threshold\" \"verify\" \"summary_beforeafter\" #> [4] \"summary\" \"show\" \"set_simulation\" #> [7] \"set_predictors\" \"set_latent\" \"set_data\" #> [10] \"set_constraints\" \"scenarios\" \"save\" #> [13] \"rm_predictors\" \"rm_limits\" \"rm_latent\" #> [16] \"rm_data\" \"rm_constraints\" \"print\" #> [19] \"predictors\" \"plot_threshold\" \"plot_scenarios_slope\" #> [22] \"plot_relative_change\" \"plot_migclim\" \"plot_animation\" #> [25] \"plot\" \"modelobject\" \"modelid\" #> [28] \"mask\" \"limits\" \"latentfactors\" #> [31] \"initialize\" \"get_timeperiod\" \"get_thresholdvalue\" #> [34] \"get_threshold\" \"get_simulation\" \"get_resolution\" #> [37] \"get_projection\" \"get_predictors\" \"get_predictor_names\" #> [40] \"get_model\" \"get_limits\" \"get_latent\" #> [43] \"get_data\" \"get_constraints\" \"get_centroid\" #> [46] \"constraints\" \"clone\" \"calc_scenarios_slope\" #> [49] \"apply_threshold\" \".__enclos_env__\" sc.fit1 <- sc |> project() # Note that an indication of fitted scenarios has been added to the object sc.fit1 #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: Yes"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"summarizing-and-plotting-the-fitted-projections","dir":"Articles","previous_headings":"","what":"Summarizing and plotting the fitted projections","title":"Creating biodiversity projections","text":"distribution models number ways scenarios can visualized interacted : plot() makes visualization projections time steps (!) plot_relative_change() calculates change suitability area first last timestep categorizes result accordingly. Note SDMs directly infer colonization extinction, gains losses suitable habitat! calc_scenarios_slope() calculates slope (rate change) across timesteps. Useful summarizing results summary() creates summary output contained scenarios. threshold() specified, function summarize amount area timestep. get_data() gets created scenarios stars object (plus thresholds specified). Finally, scenarios projections can also saved specific outputs. , enabled via write_output() works just [BiodiversityScenario] objects, difference output can specified netCDF-4 file.","code":"# Plot all scenarios. With a large number of predictors this figure will be messy... plot(sc.fit1) # or sc.fit1$plot() # As an alternative, visualize the linear slope per grid cell and across all time steps o <- sc.fit1$calc_scenarios_slope(plot = TRUE) # Another option is to calculate the relative change between start and finish o <- sc.fit1$plot_relative_change(plot = TRUE) # We can also summarize the thresholded data o <- sc.fit1$summary() plot(area_km2~band, data = o, type = 'b', main = \"Suitable habitat across Time\", ylab = \"Amount of area (km2)\", xlab = \"Time\") # How does habitat gain and loss change over time? plot(totchange_gain_km2~band, data = o, type = 'n', main = \"Habitat gain and loss\", ylim = c(-1.5e4, 1.5e4), ylab = \"Amount of area (km2)\", xlab = \"Time\") lines(o$totchange_gain_km2~o$band, col = \"blue\") lines((o$totchange_loss_km2)~o$band, col = \"red\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"adding-constraints-to-projections","dir":"Articles","previous_headings":"","what":"Adding constraints to projections","title":"Creating biodiversity projections","text":"simple scenario use naive assumption , depending response functions fitted distribution model, suitable habitat within background modelling region potentially reachable species. reality might however geographic (e.g. islands), environmental biotic constraints far species can disperse. can specified constrain function [add_constraint()] variety constraints currently available, depend packages. add_constraint() Generic wrapper specific ‘method’ can supplied. See documentation information available options parameters. add_constraint_dispersal() add dispersal constraint projections applied time step. Supports various options 'sdd_fixed' fixed dispersal kernels, 'sdd_nexpkernel' negative exponential kernel 'sdd_kissmig' applying kissmig framework. add_constraint_MigClim() Use MigClim R-package simulate dispersal events time steps. number parameters required adding constrain also overwrite default plotting capacities (example via sc$plot_migclim()). See also help file Engler et al. (2012) information. add_constraint_connectivity() Add connectivity constrain projection. Currently hard barriers implemented, future additional sub-modules planned enable options . add_constraint_adaptability() Simple constraints adaptability species novel climatic conditions. Currently simple nichelimits implemented, ‘cap’ projections novel environments observed ranges contemporary predictors. add_constraint_boundary() Specifying hard boundary constraint projections, example limiting (future) projections certain area biome contemporary range. Lastly also options stabilize suitability projections via project() function. Specifying stabilization results projections smoothed informed incremental time steps. can particularly help projections use variables known make sudden, abrupt jumps time steps (e.g. precipitation anomalies). Another option constraining prediction also imposing zonal limit (instance climatically defined) projections (see alternatively add_constraint_boundary() ). done fitting SDM reference conditions (see example limits (1) ) considered (future) projections.","code":"# Adding a simple negative exponential kernel to constrain the predictions sc.fit2 <- sc |> add_constraint(method = \"sdd_nex\", value = 1e5) |> # Directly fit the object project(stabilize = F) # Also fit one projection a nichelimit has been added sc.fit3 <- sc |> add_constraint(method = \"sdd_nex\", value = 1e5) |> add_constraint_adaptability(method = \"nichelimit\") |> # Directly fit the object project(stabilize = F) # Note how constrains are indicated in the scenario object. sc.fit3 #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Constraints: dispersal (sdd_nexpkernel), adaptability (nichelimit) #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: Yes # The naive assumption is that there is unlimited dispersal across the whole background # Note how the projection with dispersal constrain results in a considerable smaller amount of suitable habitat. sc.fit1$plot(which = 40) # Baseline sc.fit2$plot(which = 40) # With dispersal constrain sc.fit3$plot(which = 40) # With dispersal limit and nichelimitation (within a standard deviation) # Lets compare the difference in projections compared to the naive one defined earlier. o1 <- sc.fit1$summary() o2 <- sc.fit2$summary() o3 <- sc.fit3$summary() arlim <- c(min(o1$area_km2, o2$area_km2, o3$area_km2)-10000, max(o1$area_km2, o2$area_km2, o3$area_km2)) plot(area_km2~band, data = o1, type = 'n', ylim = arlim, main = \"Suitable habitat projection\", ylab = \"Amount of area (km2)\", xlab = \"Time\") lines(o1$area_km2~o1$band, col = \"black\", lty = 1) lines(o2$area_km2~o2$band, col = \"black\", lty = 2) lines(o3$area_km2~o3$band, col = \"black\", lty = 3) legend(\"bottomleft\", legend = c(\"Unlimited dispersal\", \"Constrained dispersal\", \"Constrained dispersal and niche limit\"), lty = c(1, 2, 3), cex = 1.2, bty = \"n\") # Lastly it is also possible to directly summarize the state # before (usually first year) and end (last year). sc.fit2$summary_beforeafter() #> # A tibble: 13 × 5 #> runname category period value unit #> #> 1 Simple PPM Current range 2016-01-01 433. ha #> 2 Simple PPM Future range 2100-01-01 334. ha #> 3 Simple PPM Unsuitable 84 years 857. ha #> 4 Simple PPM Loss 84 years 101. ha #> 5 Simple PPM Gain 84 years 1.64 ha #> 6 Simple PPM Stable 84 years 332. ha #> 7 Simple PPM Percent loss 84 years 23.3 % #> 8 Simple PPM Percent gain 84 years 0.378 % #> 9 Simple PPM Range change 84 years -99.4 ha #> 10 Simple PPM Percent change 84 years -10.4 % #> 11 Simple PPM Sorensen index 84 years 0.877 similarity #> 12 Simple PPM Centroid distance 84 years 105. km #> 13 Simple PPM Centroid change direction 84 years 36.8 deg"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"specific-parsers-for-globiom-related-scenarios","dir":"Articles","previous_headings":"","what":"Specific parsers for GLOBIOM related scenarios","title":"Creating biodiversity projections","text":"IIASA’s Global Biosphere Management Model (GLOBIOM) partial equilibrium model used analyze competition land use agriculture, forestry, bioenergy, main land-based production sectors. builds . ibis.iSDM part IIASA’s suite integrated models, direct link available make use downscaled GLOBIOM outputs. Implemented functions either directly format data via [formatGLOBIOM()] add DistributionModel-class BiodiversityScenario-class object directly via add_predictors_globiom() .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"mechanistic-species-distribution-modelling","dir":"Articles","previous_headings":"","what":"Mechanistic species distribution modelling","title":"Mechanistic species distribution modelling","text":"vignette describes available options incorporating mechanistic modelling approaches ibis.iSDM package. approaches can broadly separated “added” existing modelling routines, ibis.iSDM outputs can used input mechanistic modelling. package provides basic wrappers. delve options mechanistic SDMs ibis.iSDM package, useful remind us term ‘mechanism’ actually means. literature range different definitions, sometimes referring mechanistic SDMs incorporate ecological processes (e.g. demography, dispersal, eco-evolutionary principles). Yet often, correlative SDMs also declared “mechanistic” somehow incorporate specific constrain response function towards environmental variable. example, micro-climatic limits persistence species Briscoe et al. 2023, presence biotic interactions (estimated separate SDM different species) also sometimes referred limiting mechanisms (Ohlmann et al. 2023). latter approaches - largely fine-tuning specific response function - can extent emulated creating specific derivates adding covariate priors (add_priors()) model predictors (add_predictors_model()) SDM. methods added package become available can readily incorporated modelling framework. types integration can also directly modelled integration. details provided vignettes data preparation creating derivates vignette data integration. Users package also directed various add_constraint() functions, many enable corrections projected scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-ecological-processes-to-correlative-sdms","dir":"Articles","previous_headings":"Mechanistic species distribution modelling","what":"Adding ecological processes to correlative SDMs","title":"Mechanistic species distribution modelling","text":"range wrappers implemented ibis.iSDM allow convenient passing outputs parameters mechanistic modelling packages. wrappers support convenient addition ecological processes dispersal scenarios data integration. enable ibis.iSDM outputs directly become inputs simulations. case key parameters available, package users encouraged check various options add_constraint() function. mechanistic approaches require quite extensive model understanding many cases additional training. Furthermore range parameters usually required outputs meaningful. beyond scope vignette provide introduction various models. Rather, demonstrated linkages ibis.iSDM models can made, reader referred original publication underlying approach (see help page references).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-dispersal-to-scenarios-with-kissmig","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Adding dispersal to scenarios with KISSMig","title":"Mechanistic species distribution modelling","text":"KISSMig model provide simple model estimate limit dispersal species distribution models (Nobis & Normand, 2014). include ecological mechanism related recruitment , instead works simple stochastic migration estimator allows inclusion time-lagged dispersal local neighborhoods. ibis.iSDM package KISSMig simulator can added dispersal constraint (among others) scenario objects. Example: Now lets add KISSMig dispersal constraints. constrain directly used fitted suitability estimates projected timestep also makes use created thresholded layer. Per time-step dispersal events stochastically simulated constraint range expansions next modelling steps. See ?kissmig::kissmig help-page help explanations parameters.","code":"library(ibis.iSDM) library(terra) #> terra 1.7.78 #> #> Attaching package: 'terra' #> The following object is masked from 'package:ibis.iSDM': #> #> modal library(ggplot2) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background and biodiversity data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM')) virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points', quiet = TRUE) # Add some pseudo-absence information for later poa <- virtual_points |> add_pseudoabsence(field_occurrence = 'Observed', template = background) # Note we are loading different predictors than in previous examples # These are in netcdf4 format, a format specific for storing spatial-temporal data including metadata. ll <- list.files(system.file(\"extdata/predictors_presfuture/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.nc\",full.names = TRUE) # From those list of predictors are first loading the current ones as raster data # We are loading only data from the very first, contemporary time step for model fitting pred_current <- terra::rast() for(i in ll) suppressWarnings( pred_current <- c(pred_current, terra::rast(i, lyrs = 1) ) ) names(pred_current) <- tools::file_path_sans_ext( basename(ll) ) # Get future predictors # These we will load in some time steps using the stars package and ignoring the first time step suppressWarnings( pred_future <- stars::read_stars(ll) |> stars:::slice.stars('Time', seq(2,86,by=10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # Set projection # Rename future predictors to those of current names(pred_future) <- names(pred_current) # ------ # # Fit a model fit <- distribution(background) |> add_biodiversity_poipa(poa, field_occurrence = 'Observed', name = 'Virtual points') |> # Note that we scale the predictors here add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_glmnet(alpha = 0) |> # Train the model train(verbose = FALSE) |> # Add simple percentile thresholds threshold(method = 'percentile', value = .33) # Show the threshold fit$plot_threshold() # Create a scenario object sc <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() #> Warning in add_predictors(scenario(fit), pred_future, transform = \"scale\"): #> State variable of transformation not found? # Add KISSMig constraint sc1 <- sc |> add_constraint_dispersal(method = \"kissmig\", type = \"DIS\", # Final distribution result value = 10, # Number of iteration steps # These parameters are for KISSMig and get passed on # Probablitiy of local extinction between iterations pext = 0.5, # Probability corner cells are colonized. pcor = 0.2 ) sc2 <- sc |> add_constraint_dispersal(method = \"kissmig\", type = \"DIS\", # Final distribution result value = 10, # Number of iteration steps # These parameters are for KISSMig and get passed on # Probablitiy of local extinction between iterations pext = 0.9, # Probability corner cells are colonized. pcor = 0.1 ) # Project two scenarios with varying local extinction probability df1 <- project(sc1, verbose = FALSE) |> summary() #> Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is FALSE df2 <- project(sc2, verbose = FALSE) |> summary() df <- dplyr::bind_rows(df1 |> dplyr::mutate(scenario = \"low\"), df2 |> dplyr::mutate(scenario = \"high\") ) # ------ # ggplot(df, aes(x = band, y= area_km2/1e6, group = scenario, color = scenario)) + theme_bw(base_size = 16) + geom_line() + labs(x = \"Time\", y = \"Occupied area (Million km2)\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-dispersal-to-scenarios-with-migclim","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Adding dispersal to scenarios with MIGCLIM","title":"Mechanistic species distribution modelling","text":"Another dispersal simulator MIGCLIM (Engler et al. 2014), stochastic simulator innovatively allows differentiate short long-distance dispersal events well varying propagule pressure. Unfortunately currently available CRAN anymore (stand September 2023), possibly lack maintenance missing dependency. package can still downloaded github however (https://github.com/robinengler/MigClim/). Assuming user able install MigClim package ’s dependencies (also disappared CRAN), can run ibis.iSDM follows: example updated update current R versions (>3.0) becomes available.","code":"prj <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() |> # Check the help files for the function for an explanation of the parameters. add_constraint_MigClim(rcThresholdMode = 'continuous', dispSteps = 1, dispKernel = c(1.0, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6,0.8, 0.95), replicateNb = 10) |> # Project the model project() # MIGCLIM outputs are provided a single updated layer and can be plotted through # a customized plotting function. prj$plot_migclim()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"simulating-spatial-explicit-population-abundance-with-steps","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Simulating spatial-explicit population abundance with steps","title":"Mechanistic species distribution modelling","text":"steps package implements spatial-temporal explicit metapopulation simulator (Visintin et al. 2021) able account varying vital rates, dispersal barriers density dependence. steps simulator, thus makes use range parameters critical correlative assumptions estimate example abundance given time step. ibis.iSDM package linkage steps can established directly scenario projections simply adding separate module. added, steps used make spatial-temporal abundance estimates aligned projection time step, eventual specified barriers provided parameters regards vital rates density-dependence. Note: wrapper functionality implemented ibis.iSDM package based assumption higher habitat suitability (estimated correlative SDM) linearly correlated higher population abundance. noted assumptions questioned interpreted caution (Lee-Yaw et al. 2021). Users always clearly understand rationale behind parameter choices!","code":"if(\"steps\" %in% installed.packages()[,1]){ require(\"steps\") # Define some arbitrary vital rates for the transition for this purpose # Define vital rates vt <- matrix(c(0.0,0.52,0.75, 0.52,0.28,0.0, 0.0,0.52,0.75), nrow = 3, ncol = 3, byrow = TRUE) colnames(vt) <- rownames(vt) <- c('juvenile','subadult','adult') # We again specify a scenario as before using the fitted model prj <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() |> # We then specify that we we simulate_population_steps(vital_rates = vt) # Notice how we have added steps as additional simulation outcome prj # Now project scenario1 <- project(prj) plot(scenario1, \"population\") # Also see a different one where we add a dispersal constraint and density dependence dispersal <- steps::fast_dispersal(dispersal_kernel = steps::exponential_dispersal_kernel(distance_decay = 1)) scenario2 <- project(prj |> simulate_population_steps(vt, dispersal = dispersal, density_dependence = steps::ceiling_density(3) ) ) # We can see that the dispersal constraint and higher density dependence cleary # results in a population abundance that tends to be concentrated in central Europe. plot(scenario2, \"population\") } #> Loading required package: steps #> Warning in add_predictors(scenario(fit), pred_future, transform = \"scale\"): #> State variable of transformation not found?"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/06_engine_comparison.html","id":"capabilities-of-included-engines","dir":"Articles","previous_headings":"","what":"Capabilities of included engines","title":"Comparison of different engines","text":"outlined Fletcher et al. (2019), many different forms integration [ensemble] modelling, adding [offsets], predictors (e.g. [add_predictor_range()] ) [priors] full integration different likelihoods (See (Data integration) ). options available every engine supported ibis.iSDM package table shows currently implemented engines various types integrations supported . Stating name function call engine supported model complexity linear (ln) non-linear (nl) formulations, although noted linear models can approximate non-linearity including transformations (Maxent, e.g. hinge/product/quadratic). every engine supports different types integration via ensembles, offsets, priors, joint likelihood estimation ensemble compositing models using separate datasets species. multiple biodiversity datasets added engine support joint likelihood estimation, parameter method_integration [train()] determines different predictions integrated. Available options integration via predictors, offsets, interactions, priors weights (see help file [train()] information).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/07_package_comparison.html","id":"comparison-with-other-packages","dir":"Articles","previous_headings":"","what":"Comparison with other packages","title":"Capabilities compared to other SDM packages","text":"Species distribution modelling (SDM) approaches around quite result number ecological modelling focused packages developed. general customized towards specific purposes modelling paradigm. isn’t just another SDM package? Indeed , ibis.iSDM number particular features set apart SDM packages: focuses particularly integration guiding principle different ways heterogeneous sources evidence can integrated. puts strong focus biodiversity types, particular Poisson-Process models (PPMs) default way analyzing presence-data. follows object-based modular programming philosophy, taking inspiration tidy programming approaches. supports number Bayesian SDM approaches algorithms, field traditionally less represented owing computational constraints. customized create modify spatio-temporal scenarios, including IIASA integrated land-use assessment model GLOBIOM. Thus overall, idea package part trying bring innovation SDM modelling world, also trying bring together strengths different existing tools. Non exhaustive list acknowledging SDM packages R compare ibis.iSDM provided : hSDM -> Bayesian framework hierachical mixed models. Fast, little flexibility regards weights, offsets different datatypes. multispeciesPP -> Package allows integrated SDMs, however developed since years key gaps remain particular regards different modelling approaches. inlabru -> Package specifically Lox-Gaussian-Cox Process (LGCP) models INLA, now integrated also engine ibis.iSDM pointedSDMs -> Another wrapper INLA allows integrate different datasets SDM. Less focus priors, offsets scenarios. biomod2 -> Popular package ensemble modelling, fixed specific (non-Bayesian) engines data types integration options. sdmTMB -> Package fitting spatial-Temporal SDMs specific biodiversity data. modleR -> similar biomod2 wrapper construct ensembles models. kuenm -> Another wrapper Maxent. flexSDM Similar biomod2 wrapper SDMs, coming several helper functions data preparation cross-validation. Besides SDMs also new packages available spatial integrated species occupancy models, spOccupancy. Occupancy modelling however requires specific biodiversity data information infer detectability species occurrences.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"frequently-asked-questions-faq","dir":"Articles","previous_headings":"","what":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"document contains series frequently asked questions using ibis.iSDM package work progress.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"data-and-model-preparation","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Data and model preparation","title":"Frequently Asked Questions (FAQ)","text":"ibis.iSDM R-package can handle standard spatial formats R (vector raster formats) works predominantly [sf], [SpatRaster] [stars] packages much formatting processing work. adding [biodiversity] [predictor] variables distribution() object number default validity checks alignments commonly conducted, instance ensuring provided points align geographic projection. ease modelling avoid unfortunate errors crashes, ideally ensure following steps taken: 'background' layer describing modelling extent provided directly [sf] 'POLYGON' 'MULTIPOLYGON' object covers biodiversity predictor data. provided data geographic projection. Biodiversity data provided [sf] format covers 'background' bounding box. Furthermore biodiversity dataset set \"field_occurrence\" field numeric values. appropriately formatted (see also ). Important: environmental predictors becomes important ensure nodata values appropriately handled. Unfortunately many implemented [engines] can handle nodata values well, thus necessary pre-processing remove rows covariate extraction least one variable missing data. instance assinging constant NA values: Technically, impossible estimate probability occurrence just presence-data (commonly available databases like GBIF). people normally add called pseudo-absence (often excessive numbers) entire background data, approximating probability occurrence assuming detection probability uniform landscape (see Merow et al. 2013). ibis.iSDM package follows design principle data types (e.g. presence-presence-absence records) modelled least amount assumptions possible. presence-records default way estimating kind responses habitat suitability estimate data following Poisson-Process modelling approach. However, possible add pseudo-absence points presence-dataset follows: Also see add_pseudoabsence() pseudoabs_settings() help pages settings also first article website. example possible define pseudo-absence sampling specific spatial formats, sampling within outside minimum convex polygon (MCP) presence points within certain buffer. Yes, ibis.iSDM package uses range different functionalities , existing packages functions required specific purpose, packages question installed. easy convenience functions install packages ibis_dependencies() installs packages listed getOption(\"ibis.dependencies\").","code":"predictors[is.na(predictors)] <- 0 virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points',quiet = TRUE) # This takes the default pseudo-absence options created when loading the Ibis package. virtual_points <- add_pseudoabsence(virtual_points, field_occurrence = \"Observed\") # Check that absence points are present unique(virtual_points$Observed)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"model-setup","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Model setup","title":"Frequently Asked Questions (FAQ)","text":"Yes, can desirable outcome modelling. instance one can make - absence better information dispersal constrain (see [add_constrain_dispersal]) - assumption certain species can disperse within given ecoregion beyond. See instance method section Wessels, Merow Trisos (2021). directly ibis.iSDM R-package, one specify limit projection [distribution()] object. context zones extent whole background (extent spatial scale). prediction however limited zones supplied biodiversity observations fall . dedicated function ([create_zonaloccurrence_mask()]) help set zones, either taking existing categorical raster datasets constructing buffers around existing presence records (example reflect assumed maximum dispersal distances). ibis.iSDM R-package allows users add prior information parameters model estimated. priors added engine-specific priors format depends engine question (see specific help pages information). prior can generally define via combination ENGINENAME + Prior wrapped PriorList used estimation. Example: Multiple priors Engine can defined PriorList. Whenever prior variable set , overwrites previous value. great number SDM literature suggests altering background / pseudo-absence points created, can greatly affect model outcomes (see add_pseudoabsence() references). ibis.iSDM R-package options available modify pseudo-absence points created. default package creates least 10 000 points least 25% presence-points (ever larger). change default pseudo-absence sampling settings, two options. Either change global default settings pseudo-absence sampling adding settings add_biodiversity function. overwrite global settings, following: Alternatively one think specifying specific pseudo-absence sampling information one biodiversity dataset specifically: code ibis.iSDM R-package default already parallelized many computationally-intensive operations making use cores (can find example case, please raise issue). number cores generally decided option \"ibis.nthread\" [ibis_options()]. cases, parallelized code run via [parallel] [doParallel] packages, although code infancy support [future] parallelization approaches well, offering greater flexibility. See function [ibis_future] information also use. typical use case thus run separate models (via train()) loop scheduler High-Performance-Computer. Users careful case shared resources, e.g. don’t parallelize operations machine. need parallelize multiple models instance, suggested disable 'ibis.runparallel' option. Yes. add_offset() add_offset_range() functions allows specify spatial explicit offset term added regression model question. offset generally just coefficient set specific value. get one offset, one just needs combine different provided offsets way consistent get fixed value (see reference. can done either summing transformed value (discouraged can errorprone) simply multiplying . Internally provided offsets model object combined via simple addition together. thus requires users transform aprior (instance log transform) adding estimation.","code":"# Where zone is a provided raster mod <- distribution(background, limits = zone) |> add_biodiversity_poipo(species_data) |> engine_gdb() |> train() plot(mod) # Alternatively one can also create such limits based on a minimum convex polygon # of the provided data. Here we create a non-buffered MCP across all points used # in species_data to constrain the prediction. mod <- distribution(background, limits_method = \"mcp\", mcp_buffer = 0) |> add_biodiversity_poipo(species_data) |> engine_gdb() |> train() plot(mod) # We have prior information that 'Forest' is important for a species # In this case and for the INLA engine we define normal prior on the mean and precision p <- INLAPrior(variable = \"Forest\",type = \"normal\",hyper = c(2, 10)) # This is then wrapped in a PriorList pp <- priors(p) print( pp ) # We can specify multiple priors of course p <- list( INLAPrior(variable = \"Forest\",type = \"normal\",hyper = c(2, 10)), INLAPrior(variable = \"Cropland\",type = \"normal\",hyper = c(0, 1)) ) pp <- priors(pp) # And can now added to the model mod <- distribution(background, limits = zone) |> add_biodiversity_poipo(species_data) |> add_predictors(covariates) |> add_priors(priors = pp) engine_inlabru() # Define new settings with greater number of background points ss <- pseudoabs_settings(background = NULL, nrpoints = 1e6) # Overwrite the default settings options(\"ibis.pseudoabsence\" = ss) # Define absence layer with biased background to sample from ss <- pseudoabs_settings(background = NULL, bias = bias_layer) # Assuming background and point data exists x <- distribution(background) |> add_biodiversity_poipo(points, pseudoabsence_settings = ss) # Check ibis options if set ibis_options() options('ibis.runparallel' = FALSE) # Set to FALSE offset1 <- runif(10) offset2 <- runif(10) # Identical log(offset1) + log(offset2) log(offset1*offset2)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"fitting-and-scenarios","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Fitting and Scenarios","title":"Frequently Asked Questions (FAQ)","text":"two options can enabled reduce number messages: setting parameter verbose train() FALSE messages created respective engine suppressed. Setting parameter ibis.setupmessages FALSE suppresses package related message. can done via Cross-validation deliberatly integrated package. Users like make use cross-validation techniques thus need set external modelling routines. Reason multiple types integration package, construction (independent) testing datasets trivial (considering example offsets, priors multiple datasets). ibis.iSDM R-package two engines makes use INLA framework, namely [engine_inla] [engine_inlabru]. package author started developing package, [engine_inlabru] yet support multiple likelihoods thus implemented directly. Predictions [engine_inla] [engine_inlabru] identical, although latter infer predictions directly, instead simulating posterior. simulation particularly helpful creating (future) projections otherwise new model need fitted every newdata object. creating predictive models SDMs often concern predict variable range outside environmental conditions model trained. ibis.iSDM package supports variable ‘clamping’ predictions similar popular Maxent model, however [engine]. Clamping can enabled setting parameter clamp [train] TRUE. restricts spatial (spatial-temporal) projections combined range predictor variables observed training localities. Similar functionalities also available separately scenario projections setting adaptability constraints (see [add_constraint_adaptability] [add_constraint_boundary]). many predictors SDM can cause substantial -parametrization subsequently overfitting (e.g. model reproducing data trained rather projecting areas unknown). recommended () either use engine strong regularization, example [engine_glmnet] [engine_gdb], (b) train model caution minimum number observations (arbitrary rule thumb, least 10 observations additional predictor included), (c) make use pre-estimation removal predictor, example variable importance criteria colinearity. See code example. distribution model trained inference_only parameter train() set FALSE (Default), outputs prediction found created object SpatRaster. default engines produce SpatRaster object least one band called “mean” average prediction engine. also result returned created model object plotted. addition, Bayesian Engines bands quantifying posterior predictive uncertainty might available can plotted well. raster can also saved spatial GeoTiff given filename using write_output() function. Example: usually due either number rounds estimation low learning_rate high. Try different options parameters engine. good way check performance also plot evaluation log logloss. Yes . Generally, computation speed handled respective engine every engine supports example multi-threaded computations. However, computationally demanding steps package usually spatial prediction functionalities ‘tile’ data predictions made. using R [future] package asynchronous projections. Note: won’t usually improve things small models/covariates overhead setting model negates speed improvements set , simply execute following Now prediction make use specified future plan. counts initial model predictions projections. aim parallelize range species instead, might worthhile rather parallize iteration prediction.","code":"options(\"ibis.setupmessages\" = FALSE) # Prior to model fitting, remove highly collinear predictors through a pearson correlation assessment mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_glmnet() |> train(filter_predictors = \"pearson\") # Alternatively use a RandomForest estimator to remove the least important variables mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_glmnet() |> train(filter_predictors = \"RF\") mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_inlabru() |> train() # To plot plot(mod, \"mean\") plot(mod, \"sd\") # To get the layer mod$get_data(\"prediction\") # To save the output layer as floating point geoTiff write_output(mod, \"myoutput.tif\", type = \"gtif\", dt = \"FLT4S\") # Requires a fitted model plot(fit$get_data(\"fit_best\")$evaluation_log) # Set parallel option ibis_enable_parallel() # Enable parallel processing in general ibis_set_threads(4) # 4 Threads ibis_set_strategy(\"multisession\") # R multi-session ibis_future() # Set up a future plan"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"model-troubleshooting","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Model troubleshooting","title":"Frequently Asked Questions (FAQ)","text":"various forms integration simple approach adding [ensembles], [priors] [offsets] fully integrated multiple likelihood models (see Fletcher et al. 2019). Thus, users range possibilities combine different sources evidence modelling. regards different [engines] treat multiple biodiversity datasets. Unfortunately [engine_inla()], [engine_inlabru()] [engine_stan()] support fully integrated multiple likelihood models. full overview can found Engine comparison table. [engines] combine multiple datasets running separate models sequence order determined sequence datasets added model. Within train() function, users option specifying previous predictions handled [method_integration] parameter. example predictions one model added predictors offset next. coefficients one model can used create starting priors next model. default, presence biodiversity data modelled point-process model (PPM, see Renner et al. 2015). Similar Maximum Entropy models models can quite sensitive biased input, common non-structured biodiversity observations presence points tend clustered urban easily accessible areas. avoid predictions biased towards covariates, number things can potentially done . Modify targeted background sampling better control background points. can instance done via add_pseudoabsence() pseudoabs_settings() methods. See respective help files. Make use spatial thinning approaches. See instance Aiello-Lammers et al. 2015 Steen et al. 2021. Note however spatial thinning remove data points, affecting instance poisson distributed models (PPMs) process. Theibis.iSDM package functionality spatial thinning implemented thin_observations() function. Partial biased variable prediction. add_control_bias() function can used specify value needs partialed model. bias_value specified can set instance 0 amount assumed equivalent minimal bias. Consider setting [clamp] parameter train() TRUE. Add spatial offset account bias introduced Merow et al. 2016. can done via add_offset_bias() function requires preparation bias layer advance. Apply rigorous filtering bias control input data. end correction can replace good data preparation cleaning. Remember GIGO principle.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"any-other-questions-and-issues","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Any other questions and issues","title":"Frequently Asked Questions (FAQ)","text":"Often easier communicate index suitability (scale [0-1]) stakeholders policy, can principle derived ibis.iSDM output. Especially using Poisson Process models infer suitability given area, units can hard interpret non-scientists. easy way achieve added function Biodiversity distribution object. See example. feature, bug ;) Many covariates often come unusual characters symbols can readily used equations queries tabular data. sanitize_names() function cleans variable names removes / resets non conform symbols. Particular multi-dimensional scenarios (e.g. 1 variable) created, necessary also read multi-dimensional array. default Version 0.1.3 onwards, files ending ‘nc’ (netcdf) multiple variables stored . read :","code":"# Train a model fit <- distribution(background) |> # Presence-absence data add_biodiversity_poipo(my_gbifpoints) |> add_predictors(predictors) |> engine_glmnet() |> train() # Make a transformed prediction of the suitability layer # The output is a normalized prediction surface # created via (x - min) / (max - min) or x/sum(x) respectively pred <- fit$calc_suitabilityindex() # It can be disabled by setting the following option to false at the start of the script. options('ibis.cleannames' = FALSE) library(stars) sc <- stars::read_mdim('myscenarioprojection.nc') # Split the attribute variable up sc <- sc |> split() # Check sc"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/contributing.html","id":"contributing-to-development-of-the-ibis-isdm-r-package","dir":"Articles","previous_headings":"","what":"Contributing to development of the ibis.iSDM R-package","title":"Contributing to the Package development","text":"welcome contributions ibis.iSDM R-package. contributions simple typo fixes, additions documentation testthat tests, enhancing vignettes provide greater understanding package, completely new functions. latter, please get touch package author one maintainers first. Pull requests master branch require confirmation code review package maintainers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/contributing.html","id":"development-guidelines","dir":"Articles","previous_headings":"Contributing to development of the ibis.iSDM R-package","what":"Development guidelines","title":"Contributing to the Package development","text":"ibis.iSDM contains primarily functions fitting models. Speed flexibility key Don’t repeat . Create new functions necessary classes. Equally try reuse common names R, e.g. plot, summary Please run code checks tests regularly. Avoid using additional package dependencies possible. Comment code!! Use assertions verify inputs functions. bored, please write unit tests ensure evaluate (CRTL+SHIFT+T)! (also see issues projects) open issues","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martin Jung. Author, maintainer, copyright holder. Maximilian H.K. Hesselbarth. Contributor.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Jung, M. (2023). integrated species distribution modelling framework heterogeneous biodiversity data. Ecological Informatics, 102127. Jung, M., Hesselbarth, H.K.M. (2023). integrated species distribution modelling framework heterogeneous biodiversity data. R package version 0.0.5","code":"@Article{, title = {An integrated species distribution modelling framework for heterogeneous biodiversity data}, author = {Martin Jung}, journal = {Ecological Informatics}, volume = {76}, year = {2023}, pages = {102127}, url = {https://doi.org/10.1016/j.ecoinf.2023.102127}, } @Misc{, title = {An integrated species distribution modelling framework for heterogeneous biodiversity data}, author = {Martin Jung and Maximilian H.K. Hesselbarth}, year = {2023}, version = {0.0.9}, }"},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"the-ibis-framework---an-integrated-model-for-biodiversity-distribution-projections","dir":"","previous_headings":"","what":"A R-package for Integrated Biodiversity distribution modelling","title":"A R-package for Integrated Biodiversity distribution modelling","text":"ibis.iSDM package provides series convenience functions fit integrated Species Distribution Models (iSDMs). integrated models generally refer SDMs incorporate information different biodiversity datasets, external parameters priors offsets respect certain variables regions. See Fletcher et al. (2019) Isaac et al. (2020) introduction iSDMs.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"A R-package for Integrated Biodiversity distribution modelling","text":"latest version can installed GitHub. CRAN release planned, meantime package can found R-universe well.","code":"# For installation (Not yet done) install.packages(\"ibis.iSDM\", repos = \"https://iiasa.r-universe.dev\") # For Installation directly from github install.packages(\"remotes\") remotes::install_github(\"IIASA/ibis.iSDM\")"},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"basic-usage","dir":"","previous_headings":"","what":"Basic usage","title":"A R-package for Integrated Biodiversity distribution modelling","text":"See relevant reference site articles. Note package active development parameters functions might change. Citation: Jung, Martin. 2023. “Integrated Species Distribution Modelling Framework Heterogeneous Biodiversity Data.” Ecological Informatics, 102127, DOI","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"acknowledgement-","dir":"","previous_headings":"","what":"Acknowledgement","title":"A R-package for Integrated Biodiversity distribution modelling","text":"ibis.iSDM developed maintained Biodiversity, Ecology Conservation group International Institute Applied Systems Analysis (IIASA), Austria.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"contributors","dir":"","previous_headings":"","what":"Contributors","title":"A R-package for Integrated Biodiversity distribution modelling","text":"contributions project gratefully acknowledged using allcontributors package following -contributors specification. Contributions kind welcome!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a tree-based split probability prior for BART — BARTPrior","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Function include prior information split probability Bayesian additive regression tree model added via engine_bart. Priors engine_bart specified transition probabilities variables internally used generate splits regression tree. Specifying prior can thus help 'enforce' split given variable. can numeric coded values 0 1.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"","code":"BARTPrior(variable, hyper = 0.75, ...) # S4 method for class 'character' BARTPrior(variable, hyper = 0.75, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"variable character matched existing predictors latent effects. hyper numeric object number >0 equal 1. Defaults 0.75. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Even given variable included split regression classification tree, necessarily mean prediction changes value non-informative (split can occur early ). however affect variable importance estimates calculated model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Chipman, H., George, E., McCulloch, R. (2009) BART: Bayesian Additive Regression Trees. Chipman, H., George, E., McCulloch R. (2006) Bayesian Ensemble Learning. Advances Neural Information Processing Systems 19, Scholkopf, Platt Hoffman, Eds., MIT Press, Cambridge, MA, 265-272.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"helper function specify several BARTPrior objects hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"","code":"BARTPriors(variable, hyper = 0.75, ...) # S4 method for class 'character' BARTPriors(variable, hyper = 0.75, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"variable character matched existing predictors latent effects. hyper numeric object number >0 equal 1. Defaults 0.75. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Function include prior information via Zellner-style spike slab prior generalized linear models used engine_breg. priors similar horseshoe priors used regularized engine_stan models penalize regressions assuming predictors effect 0.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"","code":"BREGPrior(variable, hyper = NULL, ip = NULL) # S4 method for class 'character' BREGPrior(variable, hyper = NULL, ip = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"variable character matched existing predictors. hyper numeric estimate mean regression coefficients. ip numeric estimate 0 1 inclusion probability target variable (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Zellner-style spike slab prior generalized linear models specified described Boom R-package. Currently supported two options work models Poisson binomial (Bernoulli) distributed errors. Two types priors can provided variable: \"coefficient\" Allows specify Gaussian priors mean coefficients model. Priors coefficients can provided via \"hyper\" parameter. Note variables prior can still regularized model. \"inclusion.probability\" vector giving prior probability inclusion specified variable. can useful prior information preference known strength . coefficients set, inclusion probability also modified default. However even knowing particular estimate beta coefficients direction, one can still provide estimate inclusion probability. words: hyperparameters 'hyper' 'ip' NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Hugh Chipman, Edward . George, Robert E. McCulloch, M. Clyde, Dean P. Foster, Robert . Stine (2001), \"Practical Implementation Bayesian Model Selection\" Lecture Notes-Monograph Series, Vol. 38, pp. 65-134. Institute Mathematical Statistics.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"","code":"if (FALSE) { # \\dontrun{ # Positive coefficient p1 <- BREGPrior(variable = \"forest\", hyper = 2, ip = NULL) p1 # Coefficient and direction unknown but variable def. important p2 <- BREGPrior(variable = \"forest\", hyper = NULL, ip = 1) p2 } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"helper function specify several BREGPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"","code":"BREGPriors(variable, hyper = NULL, ip = NULL) # S4 method for class 'character' BREGPriors(variable, hyper = NULL, ip = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"variable character matched existing predictors. hyper numeric estimate mean regression coefficients. ip numeric estimate 0 1 inclusion probability target variable (Default: NULL).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":null,"dir":"Reference","previous_headings":"","what":"BiodiversityDataset prototype description — BiodiversityDataset-class","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"BiodiversityDataset prototype description","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"name default name dataset character. id character unique id dataset. equation formula object containing equation dataset modelled. family family used dataset character. link link function used data character. type character type character. weight numeric containing custom weights per observation dataset. field_occurrence character name column name containing observations. data Contains observational data sf format. use_intercept logical flag whether intercepts included dataset. pseudoabsence_settings Optionally provided pseudoabsence settings.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"BiodiversityDataset$new() BiodiversityDataset$print() BiodiversityDataset$set_equation() BiodiversityDataset$get_equation() BiodiversityDataset$show_equation() BiodiversityDataset$get_id() BiodiversityDataset$get_type() BiodiversityDataset$get_column_occ() BiodiversityDataset$get_family() BiodiversityDataset$get_link() BiodiversityDataset$get_data() BiodiversityDataset$get_weight() BiodiversityDataset$show() BiodiversityDataset$get_observations() BiodiversityDataset$mask() BiodiversityDataset$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$new( name, id, equation, family, link, type, weight, field_occurrence, data, use_intercept, pseudoabsence_settings )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"name default name dataset character. id character unique id dataset. equation formula object containing equation dataset modelled. family family used dataset character. link link function used data character. type character type character. weight numeric containing custom weights per observation dataset. field_occurrence character name column name containing observations. data Contains observational data sf format. use_intercept logical flag whether intercepts included dataset. pseudoabsence_settings Optionally provided pseudoabsence settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-set-equation-","dir":"Reference","previous_headings":"","what":"Method set_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Set new equation writes formula","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$set_equation(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"x new formula object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-equation-","dir":"Reference","previous_headings":"","what":"Method get_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"placeholder formula object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-show-equation-","dir":"Reference","previous_headings":"","what":"Method show_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Function print equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$show_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get Id within dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-type-","dir":"Reference","previous_headings":"","what":"Method get_type()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get type dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_type(short = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"short logical flag formatted shortform.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-column-occ-","dir":"Reference","previous_headings":"","what":"Method get_column_occ()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get field occurrence information","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_column_occ()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character occurence field","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-family-","dir":"Reference","previous_headings":"","what":"Method get_family()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get family","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_family()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character family dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-link-","dir":"Reference","previous_headings":"","what":"Method get_link()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get custom link function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_link()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character family dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get data object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"sf object data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-weight-","dir":"Reference","previous_headings":"","what":"Method get_weight()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get weight","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_weight()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"numeric weights within dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Print input messages","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-observations-","dir":"Reference","previous_headings":"","what":"Method get_observations()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Collect info statistics number observations","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_observations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"numeric number observations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed mask","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":null,"dir":"Reference","previous_headings":"","what":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Acts container specified set BiodiversityDataset contained within. Functions provided summarize across BiodiversityDataset-class objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"can likely beautified .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"data list BiodiversityDataset objects. name default name collection character.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"BiodiversityDatasetCollection$new() BiodiversityDatasetCollection$print() BiodiversityDatasetCollection$show() BiodiversityDatasetCollection$get_types() BiodiversityDatasetCollection$get_names() BiodiversityDatasetCollection$set_data() BiodiversityDatasetCollection$get_data_object() BiodiversityDatasetCollection$get_data() BiodiversityDatasetCollection$get_coordinates() BiodiversityDatasetCollection$mask() BiodiversityDatasetCollection$rm_data() BiodiversityDatasetCollection$length() BiodiversityDatasetCollection$get_observations() BiodiversityDatasetCollection$get_equations() BiodiversityDatasetCollection$get_families() BiodiversityDatasetCollection$get_links() BiodiversityDatasetCollection$get_columns_occ() BiodiversityDatasetCollection$get_weights() BiodiversityDatasetCollection$get_ids() BiodiversityDatasetCollection$get_id_byType() BiodiversityDatasetCollection$get_id_byName() BiodiversityDatasetCollection$show_equations() BiodiversityDatasetCollection$plot() BiodiversityDatasetCollection$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$print(format = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"format logical flag whether message printed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-types-","dir":"Reference","previous_headings":"","what":"Method get_types()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Types biodiversity datasets included ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_types(short = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"short logical flag whether types short format.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-names-","dir":"Reference","previous_headings":"","what":"Method get_names()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get names format necessary","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_names(format = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"format logical flag whether names formatted","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Add new Biodiversity dataset collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"x character name id dataset. value BiodiversityDataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-data-object-","dir":"Reference","previous_headings":"","what":"Method get_data_object()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get specific Biodiversity dataset id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_data_object(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Returns BiodiversityDataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get biodiversity observations given dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_data(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Returns data set BiodiversityDataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-coordinates-","dir":"Reference","previous_headings":"","what":"Method get_coordinates()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get coordinates given biodiversity dataset. Else return wkt object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_coordinates(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"coordinates given object data.frame.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$mask(mask, inverse = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Remove specific biodiversity dataset id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$rm_data(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Number Biodiversity Datasets connection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"numeric number datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-observations-","dir":"Reference","previous_headings":"","what":"Method get_observations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get number observations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_observations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"numeric number observations across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-equations-","dir":"Reference","previous_headings":"","what":"Method get_equations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get equations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector equations across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-families-","dir":"Reference","previous_headings":"","what":"Method get_families()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get families datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_families()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector families across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-links-","dir":"Reference","previous_headings":"","what":"Method get_links()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get custom link functions","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_links()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector link functions across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-columns-occ-","dir":"Reference","previous_headings":"","what":"Method get_columns_occ()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get fields observation columns","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_columns_occ()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector names observation columns.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-weights-","dir":"Reference","previous_headings":"","what":"Method get_weights()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get weights across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_weights()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector weights set per dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-ids-","dir":"Reference","previous_headings":"","what":"Method get_ids()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get ids assets collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector ids datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-id-bytype-","dir":"Reference","previous_headings":"","what":"Method get_id_byType()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Search specific biodiversity dataset type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_id_byType(type)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"type character given data type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character id(s) datasets given type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-id-byname-","dir":"Reference","previous_headings":"","what":"Method get_id_byName()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get id name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_id_byName(name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"name character given name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character id(s) datasets given name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-show-equations-","dir":"Reference","previous_headings":"","what":"Method show_equations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Show equations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$show_equations(msg = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"msg logical whether use print message instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Shows equations screen character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Plot whole collection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Biodiversity Distribution master class — BiodiversityDistribution-class","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Base R6 class biodiversity distribution objects. Serves container supplies data functions R6 classes. Generally stores objects parameters added model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Run names() distribution object show available functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"implemented yet. implemented yet.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"background SpatRaster sf object delineating modelling extent. limits optional sf object potential extrapolation limits biodiversity BiodiversityDatasetCollection object. predictors PredictorDataset object. priors optional PriorList object. control optional Control object. latentfactors character whether latentfactors used. offset character whether methods used. log optional Log object. engine Engine object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"BiodiversityDistribution$new() BiodiversityDistribution$print() BiodiversityDistribution$show() BiodiversityDistribution$name() BiodiversityDistribution$show_background_info() BiodiversityDistribution$set_limits() BiodiversityDistribution$get_limits() BiodiversityDistribution$rm_limits() BiodiversityDistribution$get_predictor_names() BiodiversityDistribution$set_latent() BiodiversityDistribution$get_latent() BiodiversityDistribution$rm_latent() BiodiversityDistribution$get_priors() BiodiversityDistribution$set_priors() BiodiversityDistribution$set_biodiversity() BiodiversityDistribution$set_predictors() BiodiversityDistribution$set_engine() BiodiversityDistribution$get_engine() BiodiversityDistribution$rm_engine() BiodiversityDistribution$get_prior_variables() BiodiversityDistribution$set_offset() BiodiversityDistribution$get_offset() BiodiversityDistribution$rm_offset() BiodiversityDistribution$plot_offsets() BiodiversityDistribution$get_offset_type() BiodiversityDistribution$set_control() BiodiversityDistribution$get_control() BiodiversityDistribution$rm_control() BiodiversityDistribution$plot_bias() BiodiversityDistribution$get_log() BiodiversityDistribution$set_log() BiodiversityDistribution$get_extent() BiodiversityDistribution$get_projection() BiodiversityDistribution$get_resolution() BiodiversityDistribution$rm_predictors() BiodiversityDistribution$rm_priors() BiodiversityDistribution$show_biodiversity_length() BiodiversityDistribution$show_biodiversity_equations() BiodiversityDistribution$get_biodiversity_equations() BiodiversityDistribution$get_biodiversity_types() BiodiversityDistribution$get_biodiversity_ids() BiodiversityDistribution$get_biodiversity_names() BiodiversityDistribution$plot() BiodiversityDistribution$summary() BiodiversityDistribution$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Initializes object creates BiodiversityDataset default.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$new(background, limits, biodiversity, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"background SpatRaster sf object delineating modelling extent. limits optional sf object potential extrapolation limits biodiversity BiodiversityDatasetCollection object. ... objects","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Looks returns properties contained objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"alias print","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-name-","dir":"Reference","previous_headings":"","what":"Method name()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Returns self-describing name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-background-info-","dir":"Reference","previous_headings":"","what":"Method show_background_info()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Summarizes extent projection set background","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_background_info()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-limits-","dir":"Reference","previous_headings":"","what":"Method set_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new limits background","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_limits(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x list object method limit type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-limits-","dir":"Reference","previous_headings":"","what":"Method get_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get provided limits set waiver","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list waiver.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-limits-","dir":"Reference","previous_headings":"","what":"Method rm_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove limits set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Function querying predictor names existing","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-latent-","dir":"Reference","previous_headings":"","what":"Method set_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Adding latent factors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_latent(type, method = NULL, separate_spde = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character given type. method character method. separate_spde logical flag whether duplicate SPDE effects created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-latent-","dir":"Reference","previous_headings":"","what":"Method get_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-latent-","dir":"Reference","previous_headings":"","what":"Method rm_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-priors-","dir":"Reference","previous_headings":"","what":"Method get_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get prior object found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_priors()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-priors-","dir":"Reference","previous_headings":"","what":"Method set_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new prior object. Overwrites existing ones","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_priors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-biodiversity-","dir":"Reference","previous_headings":"","what":"Method set_biodiversity()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Adds new biodiversity object existing empty collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_biodiversity(id, p)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"id character id defining object. p BiodiversityDataset object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-predictors-","dir":"Reference","previous_headings":"","what":"Method set_predictors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new Predictor object object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_predictors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x PredictorDataset predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-engine-","dir":"Reference","previous_headings":"","what":"Method set_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new Engine object object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_engine(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x Engine object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-engine-","dir":"Reference","previous_headings":"","what":"Method get_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Gets name current engine set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_engine()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character engine name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-engine-","dir":"Reference","previous_headings":"","what":"Method rm_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Removes current engine set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_engine()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-prior-variables-","dir":"Reference","previous_headings":"","what":"Method get_prior_variables()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get prior variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_prior_variables()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character variable names priors added.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-offset-","dir":"Reference","previous_headings":"","what":"Method set_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new offsets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_offset(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x new SpatRaster object used offset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-offset-","dir":"Reference","previous_headings":"","what":"Method get_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get offset (print name)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_offset()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character offsets .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-offset-","dir":"Reference","previous_headings":"","what":"Method rm_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove offsets found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_offset(what = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Optional character specific offsets remove.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-offsets-","dir":"Reference","previous_headings":"","what":"Method plot_offsets()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plot offset found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot_offsets()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"graphical element.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-offset-type-","dir":"Reference","previous_headings":"","what":"Method get_offset_type()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get offset parameters found","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_offset_type()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list offset parameters found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-control-","dir":"Reference","previous_headings":"","what":"Method set_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new bias control","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_control(type = \"bias\", x, method, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character type control object. x new bias control object. Expecting SpatRaster object. method method used create object. value bias value numeric.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-control-","dir":"Reference","previous_headings":"","what":"Method get_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get bias control (print name)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_control(type = \"bias\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character type control object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-26","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character bias object found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-control-","dir":"Reference","previous_headings":"","what":"Method rm_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove bias controls found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-27","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_control()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-27","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-bias-","dir":"Reference","previous_headings":"","what":"Method plot_bias()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plot bias variable set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-28","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot_bias()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-28","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"graphical element.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-log-","dir":"Reference","previous_headings":"","what":"Method get_log()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Returns output filename current log object set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-29","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_log()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-29","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character output returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-log-","dir":"Reference","previous_headings":"","what":"Method set_log()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new log object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-30","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_log(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x Log object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-30","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-extent-","dir":"Reference","previous_headings":"","what":"Method get_extent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get extent","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-31","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_extent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-31","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Background extent NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get projection background crs format.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-32","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-32","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return resolution background object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-33","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-33","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"vector resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-predictors-","dir":"Reference","previous_headings":"","what":"Method rm_predictors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove predictiors. Either specific ones.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-34","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_predictors(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"names character predictors removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-34","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-priors-","dir":"Reference","previous_headings":"","what":"Method rm_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove priors. Either specific ones.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-35","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_priors(names = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-13","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"names character priors removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-35","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-biodiversity-length-","dir":"Reference","previous_headings":"","what":"Method show_biodiversity_length()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Show number biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-36","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_biodiversity_length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-36","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"numeric sum biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-biodiversity-equations-","dir":"Reference","previous_headings":"","what":"Method show_biodiversity_equations()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Show Equations biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-37","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_biodiversity_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-37","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-equations-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_equations()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get equations biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-38","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-38","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-types-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_types()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Query biodiversity types object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-39","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_types()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-39","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-ids-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_ids()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return biodiversity dataset ids object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-40","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-40","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list ids biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-names-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_names()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return character names biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-41","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-41","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list names biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plots content class.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-42","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-42","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Summary function object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-43","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-43","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-44","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-14","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"# Query available functions and entries background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Define model x <- distribution(background) #> [Setup] 2024-08-25 10:14:03.136657 | Creating distribution object... names(x) #> [1] \".__enclos_env__\" \"engine\" #> [3] \"log\" \"offset\" #> [5] \"latentfactors\" \"control\" #> [7] \"priors\" \"predictors\" #> [9] \"biodiversity\" \"limits\" #> [11] \"background\" \"clone\" #> [13] \"summary\" \"plot\" #> [15] \"get_biodiversity_names\" \"get_biodiversity_ids\" #> [17] \"get_biodiversity_types\" \"get_biodiversity_equations\" #> [19] \"show_biodiversity_equations\" \"show_biodiversity_length\" #> [21] \"rm_priors\" \"rm_predictors\" #> [23] \"get_resolution\" \"get_projection\" #> [25] \"get_extent\" \"set_log\" #> [27] \"get_log\" \"plot_bias\" #> [29] \"rm_control\" \"get_control\" #> [31] \"set_control\" \"get_offset_type\" #> [33] \"plot_offsets\" \"rm_offset\" #> [35] \"get_offset\" \"set_offset\" #> [37] \"get_prior_variables\" \"rm_engine\" #> [39] \"get_engine\" \"set_engine\" #> [41] \"set_predictors\" \"set_biodiversity\" #> [43] \"set_priors\" \"get_priors\" #> [45] \"rm_latent\" \"get_latent\" #> [47] \"set_latent\" \"get_predictor_names\" #> [49] \"rm_limits\" \"get_limits\" #> [51] \"set_limits\" \"show_background_info\" #> [53] \"name\" \"show\" #> [55] \"print\" \"initialize\""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Base R6 class biodiversity scenario objects. Serves container supplies data functions R6 classes functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sets threshold method internally 'fixed'. latent factor usually obtained fitted model object, unless re-specified added list. requires \"gganimate\" package. requires set threshold() scenario object. requires set threshold prior projection.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"modelobject name model projection. modelid id model used projection. limits sf object used constraint prediction. predictors predictor object projection. constraints constraints set projection. latentfactors list whether latentfactors used. scenarios resulting stars objects.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"BiodiversityScenario$new() BiodiversityScenario$print() BiodiversityScenario$verify() BiodiversityScenario$show() BiodiversityScenario$get_projection() BiodiversityScenario$get_resolution() BiodiversityScenario$get_model() BiodiversityScenario$get_limits() BiodiversityScenario$rm_limits() BiodiversityScenario$get_predictor_names() BiodiversityScenario$get_timeperiod() BiodiversityScenario$get_constraints() BiodiversityScenario$rm_constraints() BiodiversityScenario$get_threshold() BiodiversityScenario$get_thresholdvalue() BiodiversityScenario$apply_threshold() BiodiversityScenario$set_predictors() BiodiversityScenario$set_constraints() BiodiversityScenario$get_simulation() BiodiversityScenario$set_simulation() BiodiversityScenario$get_predictors() BiodiversityScenario$rm_predictors() BiodiversityScenario$get_data() BiodiversityScenario$rm_data() BiodiversityScenario$set_data() BiodiversityScenario$set_latent() BiodiversityScenario$get_latent() BiodiversityScenario$rm_latent() BiodiversityScenario$plot() BiodiversityScenario$plot_threshold() BiodiversityScenario$plot_migclim() BiodiversityScenario$plot_animation() BiodiversityScenario$plot_relative_change() BiodiversityScenario$summary() BiodiversityScenario$summary_beforeafter() BiodiversityScenario$plot_scenarios_slope() BiodiversityScenario$calc_scenarios_slope() BiodiversityScenario$mask() BiodiversityScenario$get_centroid() BiodiversityScenario$save() BiodiversityScenario$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Print names properties scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-verify-","dir":"Reference","previous_headings":"","what":"Method verify()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Verify set Model exist check self-validity","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$verify()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Show name Model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Model objectname","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get projection projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sf object geographic projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get resultion projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"numeric indication resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-model-","dir":"Reference","previous_headings":"","what":"Method get_model()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get actual model used projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_model(copy = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"copy logical flag whether deep copy created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-limits-","dir":"Reference","previous_headings":"","what":"Method get_limits()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get provided projection limits set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sf object NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-limits-","dir":"Reference","previous_headings":"","what":"Method rm_limits()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove current limits.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get names predictors scenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-timeperiod-","dir":"Reference","previous_headings":"","what":"Method get_timeperiod()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get time period projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_timeperiod(what = \"range\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character whether full time period just range returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"time period start end.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-constraints-","dir":"Reference","previous_headings":"","what":"Method get_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get constrains model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_constraints()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list constraints within scenario.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-constraints-","dir":"Reference","previous_headings":"","what":"Method rm_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove contraints model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_constraints()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-threshold-","dir":"Reference","previous_headings":"","what":"Method get_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get thresholds specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list method value threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-thresholdvalue-","dir":"Reference","previous_headings":"","what":"Method get_thresholdvalue()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Duplicate function internal consistency return threshold","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_thresholdvalue()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list method value threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-apply-threshold-","dir":"Reference","previous_headings":"","what":"Method apply_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Apply new threshold projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$apply_threshold(tr = new_waiver())"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"tr numeric value new threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-predictors-","dir":"Reference","previous_headings":"","what":"Method set_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_predictors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x PredictorDataset object supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-constraints-","dir":"Reference","previous_headings":"","what":"Method set_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new constrains","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_constraints(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x list object constraint settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-simulation-","dir":"Reference","previous_headings":"","what":"Method get_simulation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get simulation options parameters gound","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_simulation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-simulation-","dir":"Reference","previous_headings":"","what":"Method set_simulation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set simulation objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_simulation(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x new simulation entries options list set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-predictors-","dir":"Reference","previous_headings":"","what":"Method get_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get Predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_predictors()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"predictor dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-predictors-","dir":"Reference","previous_headings":"","what":"Method rm_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_predictors(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"names character vector names","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get scenario predictions data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_data(what = \"scenarios\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove scenario predictions","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new data object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x new data object measuing scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-latent-","dir":"Reference","previous_headings":"","what":"Method set_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Adding latent factors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_latent(latent)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"latent list containing data object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-latent-","dir":"Reference","previous_headings":"","what":"Method get_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-26","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list latent settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-latent-","dir":"Reference","previous_headings":"","what":"Method rm_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-27","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-27","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot predictions made .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-28","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot(what = \"suitability\", which = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character describing layers plotted. numeric subset specific time steps. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-28","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-threshold-","dir":"Reference","previous_headings":"","what":"Method plot_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Convenience function plot thresholds set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-29","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_threshold(which = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"numeric subset specific time steps.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-29","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-migclim-","dir":"Reference","previous_headings":"","what":"Method plot_migclim()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot Migclim results existing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-30","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_migclim()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-30","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-animation-","dir":"Reference","previous_headings":"","what":"Method plot_animation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot animation scenarios possible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-31","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_animation(what = \"suitability\", fname = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-13","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character describing layers plotted. fname optional filename write result.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-31","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-relative-change-","dir":"Reference","previous_headings":"","what":"Method plot_relative_change()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot relative change baseline projected thresholds","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-32","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_relative_change( position = NULL, variable = \"mean\", plot = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-14","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"position layer plotted variable character variable plotted plot logical flag whether plot results return object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-32","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation SpatRaster.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarize change layers timesteps","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-33","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$summary( layer = \"threshold\", plot = FALSE, relative = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-15","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"layer character variable plotted plot logical flag whether plot results return coefficients. relative logical coefficients converted relative change.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-33","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarized coefficients data.frame","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-summary-beforeafter-","dir":"Reference","previous_headings":"","what":"Method summary_beforeafter()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarize -change first last layer.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-34","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$summary_beforeafter()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-34","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarized coefficients data.frame","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-scenarios-slope-","dir":"Reference","previous_headings":"","what":"Method plot_scenarios_slope()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Calculate slopes across projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-35","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_scenarios_slope( what = \"suitability\", oftype = \"stars\" )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-16","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character layer plotted (default: \"suitability\"). oftype character output type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-35","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"plot scenario slopes","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-calc-scenarios-slope-","dir":"Reference","previous_headings":"","what":"Method calc_scenarios_slope()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Calculate slopes across projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-36","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$calc_scenarios_slope( what = \"suitability\", plot = TRUE, oftype = \"stars\" )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-17","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character layer plotted (default: \"suitability\"). plot logical flag whether plot results return coefficients. oftype character output type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-36","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"SpatRaster layer stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Convenience function mask input projections.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-37","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-18","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-37","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-centroid-","dir":"Reference","previous_headings":"","what":"Method get_centroid()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get centroids projection layers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-38","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_centroid(patch = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-19","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"patch logical centroid calculated weighted values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-38","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Returns sf object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-save-","dir":"Reference","previous_headings":"","what":"Method save()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Save object output somewhere","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-39","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$save(fname, type = \"tif\", dt = \"FLT4S\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-20","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"fname output filename character. type format character. Matched list supported formats. dt datatype used, float64","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-39","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Saved spatial prediction drive.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-40","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-21","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Class for the trained Model object — DistributionModel-class","title":"Class for the trained Model object — DistributionModel-class","text":"trained Models inherit options plus additional ones defined engine inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Class for the trained Model object — DistributionModel-class","text":"pretified commands outsourced.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Class for the trained Model object — DistributionModel-class","text":"id character id trained model name description model character. model list containing input datasets parameters model. settings Settings object information inference. fits list containing prediction fitted model. .internals list containing previous fitted models.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Class for the trained Model object — DistributionModel-class","text":"DistributionModel$new() DistributionModel$get_name() DistributionModel$print() DistributionModel$show() DistributionModel$plot() DistributionModel$plot_threshold() DistributionModel$show_duration() DistributionModel$summary() DistributionModel$effects() DistributionModel$get_equation() DistributionModel$get_data() DistributionModel$get_model() DistributionModel$set_data() DistributionModel$get_thresholdvalue() DistributionModel$get_thresholdtype() DistributionModel$show_rasters() DistributionModel$get_projection() DistributionModel$get_resolution() DistributionModel$rm_threshold() DistributionModel$calc_suitabilityindex() DistributionModel$get_centroid() DistributionModel$has_limits() DistributionModel$has_latent() DistributionModel$has_offset() DistributionModel$mask() DistributionModel$save() DistributionModel$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Class for the trained Model object — DistributionModel-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$new(name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"name description model character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"Class for the trained Model object — DistributionModel-class","text":"Return name model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"character model name used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Class for the trained Model object — DistributionModel-class","text":"Print names summarizes model within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Class for the trained Model object — DistributionModel-class","text":"Show name Model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"character run name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Class for the trained Model object — DistributionModel-class","text":"Plots prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$plot(what = \"mean\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"character specific layer plotted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation prediction","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-plot-threshold-","dir":"Reference","previous_headings":"","what":"Method plot_threshold()","title":"Class for the trained Model object — DistributionModel-class","text":"Plots thresholded prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$plot_threshold(what = 1)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"character numeric layer plotted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation thresholded prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-duration-","dir":"Reference","previous_headings":"","what":"Method show_duration()","title":"Class for the trained Model object — DistributionModel-class","text":"Show model run time settings exist","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show_duration()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric estimate duration took fit models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Class for the trained Model object — DistributionModel-class","text":"Get effects importance tables model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$summary(obj = \"fit_best\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"obj character object return.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"data.frame summarizing model, usually coefficient.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-effects-","dir":"Reference","previous_headings":"","what":"Method effects()","title":"Class for the trained Model object — DistributionModel-class","text":"Generic plotting function effect plots","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$effects(x = \"fit_best\", what = \"fixed\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x character object question. character type coefficients. ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation coefficents.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-equation-","dir":"Reference","previous_headings":"","what":"Method get_equation()","title":"Class for the trained Model object — DistributionModel-class","text":"Get equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"formula inferred model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Class for the trained Model object — DistributionModel-class","text":"Get specific fit Model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_data(x = \"prediction\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x character stating returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"SpatRaster object prediction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-model-","dir":"Reference","previous_headings":"","what":"Method get_model()","title":"Class for the trained Model object — DistributionModel-class","text":"Small internal helper function directly get model object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_model()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"fitted model existing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Class for the trained Model object — DistributionModel-class","text":"Set new fit Model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x name new fit. value SpatRaster layer (model) inserted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-thresholdvalue-","dir":"Reference","previous_headings":"","what":"Method get_thresholdvalue()","title":"Class for the trained Model object — DistributionModel-class","text":"Get threshold value calculated","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_thresholdvalue()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric threshold value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-thresholdtype-","dir":"Reference","previous_headings":"","what":"Method get_thresholdtype()","title":"Class for the trained Model object — DistributionModel-class","text":"Get threshold type format calculated.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_thresholdtype()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"vector character method numeric threshold value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-rasters-","dir":"Reference","previous_headings":"","what":"Method show_rasters()","title":"Class for the trained Model object — DistributionModel-class","text":"List rasters object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show_rasters()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"vector logical flags various objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Class for the trained Model object — DistributionModel-class","text":"Get projection background.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"geographic projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Class for the trained Model object — DistributionModel-class","text":"Get resolution projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric estimates distribution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-rm-threshold-","dir":"Reference","previous_headings":"","what":"Method rm_threshold()","title":"Class for the trained Model object — DistributionModel-class","text":"Remove calculated thresholds","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$rm_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-calc-suitabilityindex-","dir":"Reference","previous_headings":"","what":"Method calc_suitabilityindex()","title":"Class for the trained Model object — DistributionModel-class","text":"Calculate suitability index given projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$calc_suitabilityindex(method = \"normalize\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"method method used normalization.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Class for the trained Model object — DistributionModel-class","text":"Methods can either normalized minimum maximum. relative total using sumof values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Returns SpatRaster.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-centroid-","dir":"Reference","previous_headings":"","what":"Method get_centroid()","title":"Class for the trained Model object — DistributionModel-class","text":"Get centroids prediction layers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_centroid(patch = FALSE, layer = \"mean\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"patch logical centroid calculated weighted values. layer character layer use.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Returns sf object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-limits-","dir":"Reference","previous_headings":"","what":"Method has_limits()","title":"Class for the trained Model object — DistributionModel-class","text":"Logical indication prediction limited.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-latent-","dir":"Reference","previous_headings":"","what":"Method has_latent()","title":"Class for the trained Model object — DistributionModel-class","text":"Logical indication prediction added latent factors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-offset-","dir":"Reference","previous_headings":"","what":"Method has_offset()","title":"Class for the trained Model object — DistributionModel-class","text":"offset used?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_offset()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"Class for the trained Model object — DistributionModel-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed mask","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-save-","dir":"Reference","previous_headings":"","what":"Method save()","title":"Class for the trained Model object — DistributionModel-class","text":"Save prediction output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$save(fname, type = \"gtif\", dt = \"FLT4S\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"fname output filename character. type format character. Matched list supported formats. dt datatype used, float64","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Saved spatial prediction drive.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Class for the trained Model object — DistributionModel-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine class description — Engine-class","title":"Engine class description — Engine-class","text":"Basic object engine, engines inherit .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Engine class description — Engine-class","text":"engine class name engine. name name engine data data parameters necessary make engine work.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Engine class description — Engine-class","text":"Engine$new() Engine$print() Engine$show() Engine$get_class() Engine$get_data() Engine$list_data() Engine$set_data() Engine$get_self() Engine$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Engine class description — Engine-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$new(engine, name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"engine class name engine. name name engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Engine class description — Engine-class","text":"Print Engine name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Engine class description — Engine-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-class-","dir":"Reference","previous_headings":"","what":"Method get_class()","title":"Engine class description — Engine-class","text":"Get class description","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_class()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"character class saved engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Engine class description — Engine-class","text":"Get specific data engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"x respecified data added engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"list data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-list-data-","dir":"Reference","previous_headings":"","what":"Method list_data()","title":"Engine class description — Engine-class","text":"List data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$list_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"character vector data entries.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Engine class description — Engine-class","text":"Set data engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"x character name id dataset. value new list parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-self-","dir":"Reference","previous_headings":"","what":"Method get_self()","title":"Engine class description — Engine-class","text":"Dummy function get self object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_self()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Engine class description — Engine-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Monotonic constrained priors for boosted regressions — GDBPrior","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Monotonic constrains gradient descent boosting models work way priors specific coefficient magnitude importance specified. Rather monotonic constraints enforce specific directionality regression coefficients instance coefficient positive negative. Important: Specifying monotonic constrain engine_gdb guarantee variable retained model can still regularized .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"","code":"GDBPrior(variable, hyper = \"increasing\", ...) # S4 method for class 'character' GDBPrior(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"variable character matched existing predictors variables. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'positive', 'negative' 'none'. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Similar priors can also defined engine_xgboost via XGBPrior().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Hofner, B., Müller, J., & Hothorn, T. (2011). Monotonicity‐constrained species distribution models. Ecology, 92(10), 1895-1901.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"helper function specify several GLMNETPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"","code":"GDBPriors(variable, hyper = \"increasing\", ...) # S4 method for class 'character' GDBPriors(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"variable character matched existing predictors variables. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'positive', 'negative' 'none'. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Regression penalty priors for GLMNET — GLMNETPrior","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"engine_glmnet engine support priors typical sense, however possible specify called penalty factors well lower upper limits variables model. default penalty multiplier 1 coefficient X covariate, .e. coefficients penalized equally informed intersection absence information covariates. contrast variable penalty.factor equal 0 penalized . addition, possible specifiy lower upper limit specific coefficients, constrain certain range. default ranges set -Inf Inf respectively, can reset specific value range altering \"lims\" (see examples). regularized regression supports options priors, check Bayesian engine_breg.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"","code":"GLMNETPrior(variable, hyper = 0, lims = c(-Inf, Inf), ...) # S4 method for class 'character' GLMNETPrior(variable, hyper = 0, lims = c(-Inf, Inf), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"variable character variable passed prior object. hyper numeric value 0 1 state penalization factor. default set 0, implying \"variable\" provided regularized . lims numeric vector lower upper limits coefficient (Default: c(-Inf, Inf)). ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"","code":"if (FALSE) { # \\dontrun{ # Retain variable p1 <- GLMNETPrior(variable = \"forest\", hyper = 0) p1 # Smaller chance to be regularized p2 <- GLMNETPrior(variable = \"forest\", hyper = 0.2, lims = c(0, Inf)) p2 } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"helper function specify several GLMNETPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"","code":"GLMNETPriors(variable, hyper = 0, lims = c(-Inf, Inf)) # S4 method for class 'character' GLMNETPriors(variable, hyper = 0, lims = c(-Inf, Inf))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"variable character variable passed prior object. hyper numeric value 0 1 state penalization factor. default set 0, implying \"variable\" provided regularized . lims numeric vector lower upper limits coefficient (Default: c(-Inf, Inf)).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new INLA prior — INLAPrior","title":"Create a new INLA prior — INLAPrior","text":"fixed random effect INLA supports range different priors exponential distributions. Currently supported INLA ibis.iSDM following priors can specified via \"type\": \"normal\" \"gaussian\": Priors normal distributed set specified variable. Required parameters mean precision estimate provided \"hyper\". Note precision equivalent (rather inverse) typical standard deviation specified Gaussian priors. Defaults set mean 0 precision 0.001. \"clinear\": Prior places constraint linear coefficients model coefficient specified interval \"c(lower,upper)\". Specified hyper values can negative, positive infinite. \"spde\", specifically 'prior.range' 'prior.sigma': Specification penalized complexity priors can added SPDE spatial random effect added via add_latent_spatial(). range penalized complexity prior can specified 'prior.range' uncertainty via 'prior.sigma' supplied options 'type' 'hyper'. priors available INLA names(INLA::inla.models()$prior) ) might also work, tested!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new INLA prior — INLAPrior","text":"","code":"INLAPrior(variable, type = \"normal\", hyper = c(0, 0.001), ...) # S4 method for class 'character,character' INLAPrior(variable, type = \"normal\", hyper = c(0, 0.001), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new INLA prior — INLAPrior","text":"variable character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. See description. default values set mean 0 precision 0.001. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a new INLA prior — INLAPrior","text":"Compared engines, INLA unfortunately support priors related stringent parameter regularization Laplace Horseshoe priors, limits capability engine_inla regularization. said many default uninformative priors act already regularize coefficients degree.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new INLA prior — INLAPrior","text":"Rue, H., Riebler, ., Sørbye, S. H., Illian, J. B., Simpson, D. P., & Lindgren, F. K. (2017). Bayesian computing INLA: review. Annual Review Statistics Application, 4, 395-421. Simpson, D., Rue, H., Riebler, ., Martins, T. G., & Sørbye, S. H. (2017). Penalising model component complexity: principled, practical approach constructing priors. Statistical science, 32(1), 1-28.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"helper function specify several INLAPrior objects hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"","code":"INLAPriors(variables, type, hyper = c(0, 0.001), ...) # S4 method for class 'vector,character' INLAPriors(variables, type, hyper = c(0, 0.001), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"variables vector character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Log prototype. — Log-class","title":"Log prototype. — Log-class","text":"Basic R6 object Log, Log inherit ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Log prototype. — Log-class","text":"filename character log stored. output log content.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Log prototype. — Log-class","text":"Log$new() Log$print() Log$open() Log$close() Log$get_filename() Log$set_filename() Log$delete() Log$open_system() Log$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Log prototype. — Log-class","text":"Initializes object specifies default parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$new(filename, output)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"filename character log stored. output log content.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Log prototype. — Log-class","text":"Print message filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-open-","dir":"Reference","previous_headings":"","what":"Method open()","title":"Log prototype. — Log-class","text":"Opens connection output filename.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$open(type = c(\"output\", \"message\"))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"type character vector output types.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-close-","dir":"Reference","previous_headings":"","what":"Method close()","title":"Log prototype. — Log-class","text":"Closes connection output file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$close()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-get-filename-","dir":"Reference","previous_headings":"","what":"Method get_filename()","title":"Log prototype. — Log-class","text":"Get output filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$get_filename()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"character filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-set-filename-","dir":"Reference","previous_headings":"","what":"Method set_filename()","title":"Log prototype. — Log-class","text":"Set new output filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$set_filename(value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"value character new filename.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-delete-","dir":"Reference","previous_headings":"","what":"Method delete()","title":"Log prototype. — Log-class","text":"Delete log file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$delete()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-open-system-","dir":"Reference","previous_headings":"","what":"Method open_system()","title":"Log prototype. — Log-class","text":"Open log system viewer","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$open_system()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Log prototype. — Log-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":null,"dir":"Reference","previous_headings":"","what":"PredictorDataset class description — PredictorDataset-class","title":"PredictorDataset class description — PredictorDataset-class","text":"class describes PredictorDataset used store covariates within.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"PredictorDataset class description — PredictorDataset-class","text":"id id collection character. data predictor dataset usually SpatRaster. name name object. transformed Saves whether predictors transformed somehow. timeperiod timeperiod field","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"PredictorDataset class description — PredictorDataset-class","text":"PredictorDataset$new() PredictorDataset$print() PredictorDataset$get_name() PredictorDataset$get_id() PredictorDataset$get_names() PredictorDataset$get_predictor_names() PredictorDataset$get_data() PredictorDataset$get_time() PredictorDataset$get_projection() PredictorDataset$get_resolution() PredictorDataset$get_ext() PredictorDataset$crop_data() PredictorDataset$mask() PredictorDataset$set_data() PredictorDataset$rm_data() PredictorDataset$show() PredictorDataset$summary() PredictorDataset$has_derivates() PredictorDataset$is_transformed() PredictorDataset$get_transformed_params() PredictorDataset$length() PredictorDataset$ncell() PredictorDataset$plot() PredictorDataset$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"PredictorDataset class description — PredictorDataset-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$new(id, data, transformed = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"id id collection character. data predictor dataset usually SpatRaster. transformed logical flag predictors transformed. Assume . ... parameters found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"PredictorDataset class description — PredictorDataset-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$print(format = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"format logical flag whether message printed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"PredictorDataset class description — PredictorDataset-class","text":"Return name object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Default character name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Id object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Default character name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-names-","dir":"Reference","previous_headings":"","what":"Method get_names()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get names data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"character names data value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"PredictorDataset class description — PredictorDataset-class","text":"Alias get_names","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"character names data value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get specific dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_data(df = FALSE, na.rm = TRUE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"df logical whether data returned data.frame. na.rm logical NA removed data.frame. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"SpatRaster data.frame.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-time-","dir":"Reference","previous_headings":"","what":"Method get_time()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get time dimension object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_time(...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"vector time dimension dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"vector geographical projection object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Resolution","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric vector spatial resolution data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-ext-","dir":"Reference","previous_headings":"","what":"Method get_ext()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Extent predictors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_ext()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric vector spatial resolution data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-crop-data-","dir":"Reference","previous_headings":"","what":"Method crop_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Utility function clip predictor dataset another dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$crop_data(pol, apply_time = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"pol sf object used cropping data apply_time logical flag indicating time acknowledged cropping.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"PredictorDataset class description — PredictorDataset-class","text":"code now also","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"PredictorDataset class description — PredictorDataset-class","text":"Utility function mask predictor dataset another dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed masking.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Add new Predictor dataset collection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$set_data(value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"value new SpatRaster stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Remove specific Predictor name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$rm_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"x character predictor name removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"PredictorDataset class description — PredictorDataset-class","text":"Alias print method","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"PredictorDataset class description — PredictorDataset-class","text":"Collect info statistics optional decimals","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$summary(digits = 2)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"digits numeric Giving rounding precision","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"data.frame summarizing data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-has-derivates-","dir":"Reference","previous_headings":"","what":"Method has_derivates()","title":"PredictorDataset class description — PredictorDataset-class","text":"Indication predictors derivates outers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$has_derivates()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-is-transformed-","dir":"Reference","previous_headings":"","what":"Method is_transformed()","title":"PredictorDataset class description — PredictorDataset-class","text":"Predictors transformed?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$is_transformed()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-transformed-params-","dir":"Reference","previous_headings":"","what":"Method get_transformed_params()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get transformation params.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_transformed_params()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"matrix flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"PredictorDataset class description — PredictorDataset-class","text":"Number Predictors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric estimate","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-ncell-","dir":"Reference","previous_headings":"","what":"Method ncell()","title":"PredictorDataset class description — PredictorDataset-class","text":"Number cells values object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$ncell()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric estimate","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"PredictorDataset class description — PredictorDataset-class","text":"Basic Plotting function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"graphical interpretation predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"PredictorDataset class description — PredictorDataset-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Base Prior class — Prior-class","title":"Base Prior class — Prior-class","text":"class sets base class priors inherited priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Base Prior class — Prior-class","text":"Defines Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Base Prior class — Prior-class","text":"functionality likely deprecated checks superseeded.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Base Prior class — Prior-class","text":"id character id prior. name character name prior. type character type prior. variable character variable name prior. distribution character distribution prior relevant. value numeric character prior value, e.g. hyper-parameters. prob Another numeric entry prior field. inclusion probability. lims limitation lower upper bounds numeric value.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Base Prior class — Prior-class","text":"Prior$new() Prior$print() Prior$validate() Prior$get() Prior$set() Prior$get_id() Prior$get_name() Prior$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Base Prior class — Prior-class","text":"Initializes object prepared various prior variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$new( id, name, variable, value, type = NULL, distribution = NULL, prob = NULL, lims = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"id character id prior. name character name prior. variable character variable name prior. value numeric character prior value, e.g. hyper-parameters. type character type prior. distribution character distribution prior relevant. prob Another numeric entry prior field. inclusion probability. lims limitation lower upper bounds numeric value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Base Prior class — Prior-class","text":"Print prior type variable.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-validate-","dir":"Reference","previous_headings":"","what":"Method validate()","title":"Base Prior class — Prior-class","text":"Generic validation function provided value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$validate(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"x new prior value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Base Prior class — Prior-class","text":"Get prior values","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get(what = \"value\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"character entry returned (Default: value).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-set-","dir":"Reference","previous_headings":"","what":"Method set()","title":"Base Prior class — Prior-class","text":"Set prior","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$set(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"x new prior value numeric character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"Base Prior class — Prior-class","text":"Get specific ID prior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"Base Prior class — Prior-class","text":"Get Name object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Returns character class name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Base Prior class — Prior-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":null,"dir":"Reference","previous_headings":"","what":"List of Priors supplied to an class — PriorList-class","title":"List of Priors supplied to an class — PriorList-class","text":"class represents collection Prior objects. provides methods accessing, adding removing priors list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"List of Priors supplied to an class — PriorList-class","text":"priors list Prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList$new() PriorList$print() PriorList$show() PriorList$length() PriorList$ids() PriorList$varnames() PriorList$classes() PriorList$types() PriorList$exists() PriorList$add() PriorList$get() PriorList$collect() PriorList$rm() PriorList$summary() PriorList$combine() PriorList$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"List of Priors supplied to an class — PriorList-class","text":"Initializes object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$new(priors)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"priors list Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"List of Priors supplied to an class — PriorList-class","text":"Print summary statistics","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"List of Priors supplied to an class — PriorList-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"List of Priors supplied to an class — PriorList-class","text":"Number priors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"numeric number priors set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-ids-","dir":"Reference","previous_headings":"","what":"Method ids()","title":"List of Priors supplied to an class — PriorList-class","text":"Ids prior objects","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"list ids priors objects query","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-varnames-","dir":"Reference","previous_headings":"","what":"Method varnames()","title":"List of Priors supplied to an class — PriorList-class","text":"Variable names priors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$varnames()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list variable names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-classes-","dir":"Reference","previous_headings":"","what":"Method classes()","title":"List of Priors supplied to an class — PriorList-class","text":"Function return classes contained priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$classes()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list class names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-types-","dir":"Reference","previous_headings":"","what":"Method types()","title":"List of Priors supplied to an class — PriorList-class","text":"Get types contained priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$types()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list type names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-exists-","dir":"Reference","previous_headings":"","what":"Method exists()","title":"List of Priors supplied to an class — PriorList-class","text":"certain variable type combination exist prior ?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$exists(variable, type = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"variable character variable name. type character type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-add-","dir":"Reference","previous_headings":"","what":"Method add()","title":"List of Priors supplied to an class — PriorList-class","text":"Add new prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$add(p)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"p Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"List of Priors supplied to an class — PriorList-class","text":"Get specific prior values list set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$get(variable, type = NULL, what = \"value\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"variable character variable name. type character type name character specific entry return (Default: prior value).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-collect-","dir":"Reference","previous_headings":"","what":"Method collect()","title":"List of Priors supplied to an class — PriorList-class","text":"Collect priors given id multiple.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$collect(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"id character prior id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-rm-","dir":"Reference","previous_headings":"","what":"Method rm()","title":"List of Priors supplied to an class — PriorList-class","text":"Remove set prior id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$rm(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"id character prior id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"List of Priors supplied to an class — PriorList-class","text":"Summary function lists priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"data.frame summarized priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-combine-","dir":"Reference","previous_headings":"","what":"Method combine()","title":"List of Priors supplied to an class — PriorList-class","text":"Combining function combine PriorList another new one","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$combine(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"x new PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"List of Priors supplied to an class — PriorList-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"if (FALSE) { # \\dontrun{ priors( INLAPrior('var1','normal',c(0,0.1)), INLAPrior('var2','normal',c(0,0.1)) ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new STAN prior — STANPrior","title":"Create a new STAN prior — STANPrior","text":"Function create new prior engine_stan models. Priors currently can set specific environmental predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new STAN prior — STANPrior","text":"","code":"STANPrior(variable, type, hyper = c(0, 2), ...) # S4 method for class 'character,character' STANPrior(variable, type, hyper = c(0, 2), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new STAN prior — STANPrior","text":"variable character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper parameters. First entry treated mean (Default: 0), second standard variation (Default: 2) Gaussian distribution respective coefficient. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new STAN prior — STANPrior","text":"Lemoine, N. P. (2019). Moving beyond noninformative priors: choose weakly informative priors Bayesian analyses. Oikos, 128(7), 912-928. Carpenter, B., Gelman, ., Hoffman, M. D., Lee, D., Goodrich, B., Betancourt, M., ... & Riddell, . (2017). Stan: probabilistic programming language. Journal statistical software, 76(1), 1-32.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new STAN prior — STANPrior","text":"","code":"if (FALSE) { # \\dontrun{ pp <- STANPrior(\"forest\", \"normal\", c(0,1)) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables and types are supplied for STAN — STANPriors","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"helper function specify several STANPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"","code":"STANPriors(variables, type, hyper = c(0, 2), ...) # S4 method for class 'vector,character' STANPriors(variables, type, hyper = c(0, 2), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"variables vector character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. ... Variables passed prior object","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Prototype for model settings object — Settings-class","title":"Prototype for model settings object — Settings-class","text":"Basic R6 object Settings object, List stores settings used related model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Prototype for model settings object — Settings-class","text":"name default name settings character. modelid character model id belongs . data list contained settings.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Prototype for model settings object — Settings-class","text":"Settings$new() Settings$print() Settings$show() Settings$length() Settings$duration() Settings$summary() Settings$get() Settings$set() Settings$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Prototype for model settings object — Settings-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Prototype for model settings object — Settings-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Prototype for model settings object — Settings-class","text":"Shows name settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"character name settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"Prototype for model settings object — Settings-class","text":"Number options","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"numeric number options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-duration-","dir":"Reference","previous_headings":"","what":"Method duration()","title":"Prototype for model settings object — Settings-class","text":"Computation duration convenience function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$duration()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"amount time passed model fitting found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Prototype for model settings object — Settings-class","text":"Summary call contained parameters","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"list parameters object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Prototype for model settings object — Settings-class","text":"Get specific setting","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$get(what)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"character respective setting.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"setting found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-set-","dir":"Reference","previous_headings":"","what":"Method set()","title":"Prototype for model settings object — Settings-class","text":"Set new settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$set(what, x, copy = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"character name new settings. x new setting stored. Can object. copy logical whether new settings object created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"setting found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Prototype for model settings object — Settings-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new monotonic prior for boosted regressions — XGBPrior","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"Function include prior information monotonic constrain extreme gradient descent boosting model engine_xgboost. Monotonic priors enforce directionality direction certain variables, however specifying monotonic constrain guarantee variable regularized model fitting.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"","code":"XGBPrior(variable, hyper = \"increasing\", ...) # S4 method for class 'character,character' XGBPrior(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"variable character matched existing predictors latent effects. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'none'. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"Chen, T., , T., Benesty, M., Khotilovich, V., Tang, Y., & Cho, H. (2015). Xgboost: extreme gradient boosting. R package version 0.4-2, 1(4), 1-4.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"","code":"if (FALSE) { # \\dontrun{ pp <- XGBPrior(\"forest\", \"increasing\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"helper function specify several XGBPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"","code":"XGBPriors(variable, hyper = \"increasing\", ...) # S4 method for class 'character' XGBPriors(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"variable character matched existing predictors latent effects. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'none'. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"function adds presence-absence biodiversity dataset distribution object. Opposed presence-data, presence-absence biodiversity records usually originate structured biodiversity surveys absence species given region specifically assessed. analysts choice also possible format presence-biodiversity data presence-absence form, adding pseudo-absence add_pseudoabsence. See help file information.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"","code":"add_biodiversity_poipa( x, poipa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_poipa( x, poipa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"x distribution() (.e. BiodiversityDistribution) object. poipa data.frame sf object presence-absence point occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records indicating presence/absence. default set \"observed\" error thrown numeric column name exist. formula character formula object passed. Default (NULL) use covariates. family character stating family used (Default: 'binomial'). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length parameter \"poipa\". separate_intercept logical value stating whether separate intercept added . shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"default, logit link function used logistic regression setting unless specific engine support generalised linear regressions (e.g. engine_bart).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"Renner, . W., J. Elith, . Baddeley, W. Fithian, T. Hastie, S. J. Phillips, G. Popovic, D. . Warton. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379. Guisan . Zimmerman N. 2000. Predictive habitat distribution models ecology. Ecol. Model. 135: 147–186.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"","code":"if (FALSE) { # \\dontrun{ # Define model x <- distribution(background) |> add_biodiversity_poipa(virtual_species) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"function adds presence-biodiversity dataset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"","code":"add_biodiversity_poipo( x, poipo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_poipo( x, poipo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"x distribution() (.e. BiodiversityDistribution) object. poipo data.frame sf object presence-point occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default use covariates (specified). family character stating family used (Default: 'Poisson'). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"poipo\". Note: Weights reformated inverse models area offsets (e.g. 5 converted 1/5). separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. Otherwise ignored. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed object. Normally used unless described details.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"function allows add presence-biodiversity records distribution ibis.iSDM Presence-data usually modelled inferential model (see Guisan Zimmerman, 2000) relate occurrence relation environmental covariates selected sample 'background' points. common approach estimation one supported type dataset poisson-process models (PPM) presence-points fitted -weighted Poisson regression. See Renner et al. 2015 overview.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"Guisan . Zimmerman N. 2000. Predictive habitat distribution models ecology. Ecol. Model. 135: 147–186. Renner, . W., J. Elith, . Baddeley, W. Fithian, T. Hastie, S. J. Phillips, G. Popovic, D. . Warton. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"","code":"# Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Load virtual species virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM',mustWork = TRUE),'points',quiet = TRUE) # Define model x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") #> [Setup] 2024-08-25 10:14:09.266048 | Creating distribution object... #> [Setup] 2024-08-25 10:14:09.266916 | Adding poipo dataset..."},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"function can used add sf polygon dataset existing distribution object. Presence-absence polygon data assumes area within polygon can treated 'presence' species, area outside polygon species absent.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"","code":"add_biodiversity_polpa( x, polpa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_polpa( x, polpa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"x distribution() (.e. BiodiversityDistribution) object. polpa sf polygon object presence-absence occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default (NULL) use covariates . family character stating family used (Default: binomial). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"polpa\". simulate Simulate poipa points within boundaries. Result passed add_biodiversity_poipa (Default: FALSE). simulate_points numeric number points created simulation. simulate_bias SpatRaster layer describing eventual preference simulation (Default: NULL). simulate_strategy character stating strategy sampling. Can set either. 'random' 'regular', latter requiring raster supplied 'simulate_weights' parameter. separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"default approach polygon data sample presence-absence points across region polygons. function thus adds wrapper add_biodiversity_poipa() presence-points created model. Note polygon used directly modelling link covariates polygonal data established regular sampling points within polygon thus equivalent simulating points directly. integration range data predictor offset, see add_predictor_range() add_offset_range() instead.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_polpa(protectedArea) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"function can used add sf polygon dataset existing distribution object. Presence-polygon data treated differential point data engines particular way points generated.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"","code":"add_biodiversity_polpo( x, polpo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_polpo( x, polpo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"x distribution() (.e. BiodiversityDistribution) object. polpo sf polygon object presence-occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default use covariates (specified). family character stating family used (Default: poisson). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"polpo\". simulate Simulate poipo points within boundaries. Result passed add_biodiversity_poipo (Default: FALSE). simulate_points numeric number points created simulation (Default: 100). simulate_bias SpatRaster layer describing eventual preference simulation (Default: NULL). simulate_strategy character stating strategy sampling. Can set either. 'random' 'regular', latter requiring raster supplied 'simulate_weights' parameter. separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"default approach polygon data sample presence-points across region polygons. function thus adds wrapper add_biodiversity_poipo() presence-points created model. points simulated directly (Default) polygon processed train() creating regular point data supplied predictors. Use add_biodiversity_polpa() create binomial distributed inside-outside points given polygon! integration range data predictor offset, see add_predictor_range() add_offset_range() instead.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(mod) |> add_biodiversity_polpo(protectedArea) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a constraint to an existing scenario — add_constraint","title":"Add a constraint to an existing scenario — add_constraint","text":"function adds constrain BiodiversityScenario object constrain (future) projections. constrains can instance constraints possible dispersal distance, connectivity identified patches limitations species adaptability. constrains require pre-calculated thresholds present BiodiversityScenario object!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a constraint to an existing scenario — add_constraint","text":"","code":"add_constraint(mod, method, ...) # S4 method for class 'BiodiversityScenario' add_constraint(mod, method, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a constraint to an existing scenario — add_constraint","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a constraint to an existing scenario — add_constraint","text":"Adds constraints data BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a constraint to an existing scenario — add_constraint","text":"Constraints can added scenario objects increase decrease suitability given area target feature. function acts wrapper add constraints. Currently supported following options: Dispersal: sdd_fixed - Applies fixed uniform dispersal distance per modelling timestep. sdd_nexpkernel - Applies dispersal distance using negative exponential kernel origin. kissmig - Applies kissmig stochastic dispersal model. Requires `kissmig` package. Applied modelling time step. migclim - Applies dispersal algorithm MigClim modelled objects. Requires \"MigClim\" package. comprehensive overview benefits including dispersal constrains species distribution models can found Bateman et al. (2013). Connectivity: hardbarrier - Defines hard barrier dispersal events. definition sets values larger 0 barrier layer 0 projection. Barrier provided \"resistance\" parameter. resistance - Allows provision static dynamic layer multiplied projection time step. Can example used reduce suitability given area (using pressures included model). respective layer(s) provided \"resistance\" parameter. Provided layers incorporated abs(resistance - 1) multiplied prediction. Adaptability: nichelimit - Specifies limit environmental niche allow modest amount extrapolation beyond known occurrences. can particular useful limit influence increasing marginal responses avoid biologically unrealistic projections. Boundary size: boundary - Applies hard boundary constraint projection, thus disallowing expansion range outside provide layer. Similar specifying projection limits (see distribution), can used specifically constrain projection within certain area (e.g. species range island). minsize - Allows specify certain size must satisfied order thresholded patch occupied. Can thought minimum size requirement. See add_constraint_minsize() required parameters. threshold - Applies set threshold constrain directly suitability projections. Requires threshold set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a constraint to an existing scenario — add_constraint","text":"Bateman, B. L., Murphy, H. T., Reside, . E., Mokany, K., & VanDerWal, J. (2013). Appropriateness full‐, partial‐‐dispersal scenarios climate change impact modelling. Diversity Distributions, 19(10), 1224-1234. Nobis MP Normand S (2014) KISSMig - simple model R account limited migration analyses species distributions. Ecography 37: 1282-1287. Mendes, P., Velazco, S. J. E., de Andrade, . F. ., & Júnior, P. D. M. (2020). Dealing overprediction species distribution models: adding distance constraints can improve model accuracy. Ecological Modelling, 431, 109180.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a constraint to an existing scenario — add_constraint","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> add_constraint_dispersal(method = \"kissmig\", value = 2, pext = 0.1) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"function adds constrain defined MigClim approach (Engler et al. 2013) BiodiversityScenario object constrain future projections. detailed description MigClim, please respective reference UserGuide. default parameters chosen suggestions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"","code":"add_constraint_MigClim( mod, rcThresholdMode = \"continuous\", dispSteps = 1, dispKernel = c(1, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6, 0.8, 0.95), replicateNb = 10, dtmp = terra::terraOptions(print = F)$tempdir ) # S4 method for class 'BiodiversityScenario' add_constraint_MigClim( mod, rcThresholdMode = \"continuous\", dispSteps = 1, dispKernel = c(1, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6, 0.8, 0.95), replicateNb = 10, dtmp = terra::terraOptions(print = F)$tempdir )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"mod BiodiversityScenario object specified predictors. rcThresholdMode character either binary continuous value (Default: continuous). dispSteps numeric parameters number dispersal steps. Dispersal steps executed timestep (prediction layer). ideally aligned number steps projection. Minimum 1 (Default) maximum 99. dispKernel vector number dispersal Kernel applied. Can set either uniform numeric vector, e.g. c(1,1,1,1) proportional decline (1,0.4,0.16,0.06,0.03) (Default). Depending resolution raster, parameter needs adapted barrierType character indicating whether set barrier set 'strong' 'weak' barriers. Strong barriers prevent dispersal across barrier weak barriers whole \"dispKernel\" length covered barrier (Default: 'strong'). lddFreq numeric parameter indicating frequency long-distance dispersal (LDD) events. Default 0, long-distance dispersal. lddRange numeric value highlighting minimum maximum distance LDD events. Note: units distance cells, thus projection units raster. iniMatAge Initial maturity age. Used together propaguleProd proxy population growth. Must set cell age time units dispersal steps (Default: 1). propaguleProdProb Probability source cell produce propagules function time since colonization. Set probability vector defines probability cell producing propagules. replicateNb Number replicates used analysis (Default: 10). dtmp character folder temporary files created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"Adds MigClim onstrain BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"barrier parameter defined \"add_barrier\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"Engler R., Hordijk W. Guisan . MIGCLIM R package – seamless integration dispersal constraints projections species distribution models. Ecography, Robin Engler, Wim Hordijk Loic Pellissier (2013). MigClim: Implementing dispersal species distribution models. R package version 1.6.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> add_constraint_MigClim() |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"Adaptability constraints assume suitable habitat species (future) projections might unsuitable outside range conditions currently observed species. Currently nichelimit implemented, adds simple constrain predictor parameter space, can defined \"value\" parameter. example setting 1 (Default), projections constrained within range maximum 1 standard deviation range covariates used model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"","code":"add_constraint_adaptability( mod, method = \"nichelimit\", names = NULL, value = 1, increment = 0, ... ) # S4 method for class 'BiodiversityScenario' add_constraint_adaptability( mod, method = \"nichelimit\", names = NULL, value = 1, increment = 0, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. names character vector names predictors adaptability threshold set (Default: NULL ). value numeric value units standard deviation (Default: 1). increment numeric constant added value every time step (Default: 0). Allows incremental widening niche space, thus opening constraints. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit) |> add_constraint_adaptability(value = 1) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a boundary constraint to a scenario object — add_constraint_boundary","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"purpose boundary constraints limit future projection within specified area (example range ecoregion). can help limit unreasonable projections geographic space. Similar boundary constraints also possible define \"zone\" scenario projections, similar done model training. difference boundary constraint boundary constraint applied posthoc hard cut projection, zones allow projection (constraints) applied within zone. Note: Setting boundary constraint future projections effectively potentially suitable areas!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"","code":"add_constraint_boundary(mod, layer, ...) # S4 method for class 'BiodiversityScenario,sf' add_constraint_boundary(mod, layer, method = \"boundary\", ...) # S4 method for class 'BiodiversityScenario,ANY' add_constraint_boundary(mod, layer, method = \"boundary\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"mod BiodiversityScenario object specified predictors. layer SpatRaster sf object extent model background. binary used posthoc masking projected grid cells. ... passed parameters. See also specific methods adding constraints. method character indicating type constraints added scenario. See details information.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"","code":"if (FALSE) { # \\dontrun{ # Add scenario constraint scenario(fit) |> add_constraint_boundary(range) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"Adds connectivity constraint scenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"","code":"add_constraint_connectivity(mod, method, value = NULL, resistance = NULL, ...) # S4 method for class 'BiodiversityScenario' add_constraint_connectivity(mod, method, value = NULL, resistance = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. value many dispersal \"constrain\" set numeric value specifying fixed constrain constant units \"m\" (Default: NULL). kissmig value needs give number iteration steps (within year migration steps). adaptability constraints parameter specifies extent (units standard deviation) extrapolations performed. resistance SpatRaster object describing resistance surface barrier use connectivity constrains (Default: NULL). ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"hardbarrier - Defines hard barrier dispersal events. definition sets values larger 0 barrier layer 0 projection. Barrier provided \"resistance\" parameter. resistance - Allows provision static dynamic layer multiplied projection time step. Can example used reduce suitability given area (using pressures included model). respective layer(s) provided \"resistance\" parameter. Provided layers incorporated abs(resistance - 1) multiplied prediction.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":null,"dir":"Reference","previous_headings":"","what":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Add dispersal constraint existing scenario","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"","code":"add_constraint_dispersal(mod, method, value = NULL, type = NULL, ...) # S4 method for class 'BiodiversityScenario' add_constraint_dispersal(mod, method, value = NULL, type = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. value many dispersal \"constrain\" set numeric value specifying fixed constrain constant units \"m\" (Default: NULL). kissmig value needs give number iteration steps (within year migration steps). adaptability constraints parameter specifies extent (units standard deviation) extrapolations performed. type character indicating type used method. See instance `kissmig`. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Dispersal: Parameters 'method': sdd_fixed - Applies fixed uniform dispersal distance per modelling timestep. sdd_nexpkernel - Applies dispersal distance using negative exponential kernel origin. #' negative exponential kernel defined : $$f(x) = \\frac{1}{2 \\pi ^2} e^{-\\frac{x}{}}$$ \\(\\) mean dispersal distance (m) divided 2. kissmig - Applies kissmig stochastic dispersal model. Requires `kissmig` package. Applied modelling time step. migclim - Applies dispersal algorithm MigClim modelled objects. Requires \"MigClim\" package. comprehensive overview benefits including dispersal constrains species distribution models can found Bateman et al. (2013). following additional parameters can bet set: pext: numeric indicator `kissmig` probability colonized cell becomes uncolonised, .e., species gets locally extinct (Default: 0.1). pcor: numeric probability corner cells considered 3x3 neighbourhood (Default: 0.2).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Unless otherwise stated, default unit supplied distance values (e.g. average dispersal distance) \"m\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Bateman, B. L., Murphy, H. T., Reside, . E., Mokany, K., & VanDerWal, J. (2013). Appropriateness full‐, partial‐‐dispersal scenarios climate change impact modelling. Diversity Distributions, 19(10), 1224-1234.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a size constraint on a scenario — add_constraint_minsize","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"function applies minimum size constraint scenario() created object. rationale given species isolated habitat patches smaller given size might viable / unrealistic species establish (long-term) presence. idea thus apply constraint patches bigger certain size retained timesteps. thus potential reduce subsequent colonizations neighbouring patches.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"","code":"add_constraint_minsize( mod, value, unit = \"km2\", establishment_step = FALSE, ... ) # S4 method for class 'BiodiversityScenario,numeric' add_constraint_minsize( mod, value, unit = \"km2\", establishment_step = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"mod BiodiversityScenario object specified predictors. value numeric value describing minimum amount area given patch unit character unit area. Options available km2 (Default), ha pixel. establishment_step logical flag indicating whether given patch removed small previous time step (yet implemented!) ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"Area values specific unit need supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"function requires scenario set threshold()!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit) |> add_predictors(future_covariates) |> threshold() |> add_constraint_minsize(value = 1000, unit = \"km2\") |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a threshold constraint to a scenario object — add_constraint_threshold","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"option adds threshold() constraint scenario projection, thus effectively applying threshold mask projection step made scenario projection. Applying constraint thus means \"suitability\" projection clipped threshold. method requires threshold() set scenario object. theory possible re calculate threshold time step based supplied parameters even observation records. far option necessary implement.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"","code":"add_constraint_threshold(mod, updatevalue = NA, ...) # S4 method for class 'BiodiversityScenario' add_constraint_threshold(mod, updatevalue = NA, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"mod BiodiversityScenario object specified predictors. updatevalue numeric indicating masked values (outside) threshold become (Default: NA). ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"Threshold values taken original fitted model.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"","code":"if (FALSE) { # \\dontrun{ # Add scenario constraint scenario(fit) |> threshold() |> add_constraint_threshold() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a control to a BiodiversityModel object to control biases — add_control_bias","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Sampling biases pervasive drivers spatial location biodiversity datasets. integration , presumably less biased data can one way controlling sampling biases, another way control directly bias model. Currently supported methods : \"partial\" - approach described Warton et al. (2013) control biases model, including specified variable (\"layer\") model, \"partialling\" projection phase. Specifically variable set specified value (\"bias_value\"), default minimum value observed across background. \"offset\" - Dummy method points add_offset_bias() functionality (see note). Makes use offsets factor specified bias variable. \"proximity\" - Use proximity distance points weight model. option effectively places greater weight points farther away. Note: best case can control spatial bias aggregation, worst case can place lot emphasis points likely outliers misidentification (terms species). See also details explanations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"","code":"add_control_bias( x, layer, method = \"partial\", bias_value = NULL, maxdist = NULL, alpha = 1, add = TRUE ) # S4 method for class 'BiodiversityDistribution' add_control_bias( x, layer, method = \"partial\", bias_value = NULL, maxdist = NULL, alpha = 1, add = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. Specify variable already added \"x\" avoid issues duplications. method character vector describing method used bias control. Available options \"partial\" (Default), \"offset\" \"proximity\". bias_value numeric value \"layer\". Specifying numeric value sets layer target value projection. default value set minimum value found layer (Default: NULL). maxdist numeric giving maximum distance method \"proximity\" used. unset uses default distance centroid minimum convex polygon encircling points. alpha numeric given initial weight points method \"proximity\" used (Default: 1). example, set values smaller 1 neighbouring points weighted less. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Adds bias control option distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"case \"proximity\" weights assigned point, placing higher weight points away less overlap. Weights assigned maximum distance can provided user (parameter \"maxdist\"). distance ideally informed knowledge species modelled (e.g., maximum dispersal distance). provided, set distance centroid minimum convex polygon encircling observations. parameter \"alpha\" weighting factor can used diminish effect neighboring points. given observation \\(\\), weight \\(w\\) defined $$w_i = 1 / (1 + \\epsilon)$$ $$\\epsilon = \\sum_{n=1}^{N}((1 - d_n)/d_sac)^\\alpha$$ \\(N\\) total number points closer maximum distance (\\(d_sac\\)) point \\(\\), \\(d_n\\) distance focal point \\(\\) point \\(n\\).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Covariate transformations applied predictors need applied bias . Another option consider biases particular Poisson-point process models remove offset. Functionality available add_offset_bias() method. Setting method \"offset\" automatically point option.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Warton, D.., Renner, .W. Ramp, D., 2013. Model-based control observer bias analysis presence-data ecology. PloS one, 8(11), p.e79168. Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453 Botella, C., Joly, ., Bonnet, P., Munoz, F., & Monestiez, P. (2021). Jointly estimating spatial sampling effort habitat suitability multiple species opportunistic presence‐data. Methods Ecology Evolution, 12(5), 933-945.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_control_bias(biasvariable, bias_value = NULL) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":null,"dir":"Reference","previous_headings":"","what":"Add latent spatial effect to the model equation — add_latent_spatial","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"general understand latent spatial effects occurrence spatial dependency observations, might either caused spatial biases, similarities underlying sampling processes unmeasured latent covariates, e.g. quantified. package supports range different spatial effects, however differ another impact estimated prediction. effects simply add spatial dependence covariate, others make use spatial random effects account spatial dependence predictions. default effects added dataset covariate shared spatial field (e.g. SPDE). See details explanation available options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"","code":"add_latent_spatial( x, method = \"spde\", priors = NULL, separate_spde = FALSE, ... ) # S4 method for class 'BiodiversityDistribution' add_latent_spatial( x, method = \"spde\", priors = NULL, separate_spde = FALSE, ... ) # S4 method for class 'BiodiversityScenario' add_latent_spatial(x, layer = NULL, reuse_latent = TRUE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"x distribution() (.e. BiodiversityDistribution) object. method character describing kind spatial effect added model. See details. priors \"Prior-List\" object supplied latent effect. Relevant engine_inla NULL equates use default priors. separate_spde logical parameter indicating whether, case SPDE effects, separate effects likelihood fitted. Default (FALSE) uses copy first added likelihood. ... parameters passed layer SpatRaster layer describing alternative latent effects used instead \"reuse_latent\" set FALSE. reuse_latent logical flag whether latent effects found fitted model reused (Default TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"Adds latent spatial effect distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"several different options depend engine used. case unsupported method engine chosen modified next similar method. Available : \"spde\" - stochastic partial differential equation (SPDE) engine_inla engine_inlabru. SPDE effects aim capturing variation response variable space, covariates accounted . Examining spatial distribution spatial error can reveal covariates might missing. example, elevation positively correlated response variable, included model, see higher posterior mean areas higher elevation. Note calculations SPDE's can computationally costly. \"car\" - conditional autocorrelative errors (CAR) engine_inla. yet implemented full. \"kde\" - additional covariate kernel density input point observations. \"poly\" - spatial trend correction adding coordinates polynominal transformation. method assumed transformation spatial coordinates can - included additional predictor - explain variance distribution. method interact species occurrences. \"nnd\" - nearest neighbour distance. function calculates euclidean distance point nearest grid cell known species occurrence. Originally proposed Allouche et al. (2008) can applied across datasets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"Allouche, O.; Steinitz, O.; Rotem, D.; Rosenfeld, .; Kadmon, R. (2008). Incorporating distance constraints species distribution models. Journal Applied Ecology, 45(2), 599-609. doi:10.1111/j.1365-2664.2007.01445.x Mendes, P., Velazco, S. J. E., de Andrade, . F. ., & Júnior, P. D. M. (2020). Dealing overprediction species distribution models: adding distance constraints can improve model accuracy. Ecological Modelling, 431, 109180.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_latent_spatial(method = \"poly\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"One main aims species distribution models (SDMs) project space time. projections common issue extrapolation - unconstrained - SDMs can indicate areas suitable unlikely occupied species habitats (often due historic biotic factors). extent can related insufficient quantification niche (e.g. niche truncation considering subset observations within actual distribution), cases can also general barriers constraints limit projections (e.g. islands). limit method adds options model distribution object. Currently supported methods : * \"zones\" - wrapper allow addition zones distribution model object, similar also possible via distribution(). Required spatial layer describes environmental zoning. * \"mcp\" - Rather using external additional layer, option constraints predictions certain distance points vicinity. Buffer distances unit projection used can configured via \"mcp_buffer\". * \"nt2\" - Constraints predictions using multivariate combination novelty index (NT2) following Mesgaran et al. (2014). method also available similarity() function. * \"mess\" - Constraints predictions using Multivariate Environmental Similarity Surfaces (MESS) following Mesgaran et al. (2014). method also available similarity() function. * \"shape\" - implementation 'shape' method introduced Velazco et al. (2023). user defined threshold effectively limits model extrapolation projections made beyond extent judged defensible informed training observations. yet implemented! See also details explanations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"","code":"add_limits_extrapolation( x, layer, method = \"mcp\", mcp_buffer = 0, novel = \"within\", limits_clip = FALSE ) # S4 method for class 'BiodiversityDistribution' add_limits_extrapolation( x, layer, method = \"mcp\", mcp_buffer = 0, novel = \"within\", limits_clip = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"x distribution() (.e. BiodiversityDistribution) object. layer SpatRaster sf object limits prediction surface intersected input data (Default: NULL). method character vector describing method used controlling extrapolation. Available options \"zones\", \"mcp\" (Default), \"nt2\", \"mess\" \"shape\". mcp_buffer numeric distance buffer mcp (Default 0). used \"mcp\" used. novel conditions masked respectively, either novel conditions within \"within\" (Default) also including outside reference conditions \"outside\". use method = \"nt2\", method = \"mess\" variable always \"within\". limits_clip logical limits clip predictors fitting model (TRUE) just prediction (FALSE, default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"Adds extrapolation limit option distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"method \"zones\" zoning layer can supplied used intersect provided training points . projections made model can constrained project areas consider training points unlikely . Examples zones separation islands mainlands, biomes, lithological soil conditions. layer available, also possible constraint predictions distance minimum convex polygon surrounding training points method \"mcp\" (optionally buffered). can make sense particular rare species fully sampled across niche. \"NT2\" \"MESS\" index possible constrain prediction conditions within (novel = \"within\") also include outside (novel = \"outside\") conditions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"method \"zones\" also possible directly within distribution().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"Randin, C. F., Dirnböck, T., Dullinger, S., Zimmermann, N. E., Zappa, M., & Guisan, . (2006). niche‐based species distribution models transferable space?. Journal biogeography, 33(10), 1689-1703. https://doi.org/10.1111/j.1365-2699.2006.01466.x Chevalier, M., Broennimann, O., Cornuault, J., & Guisan, . (2021). Data integration methods account spatial niche truncation effects regional projections species distribution. Ecological Applications, 31(7), e02427. https://doi.org/10.1002/eap.2427 Velazco, S. J. E., Brooke, M. R., De Marco Jr., P., Regan, H. M., & Franklin, J. (2023). far can extrapolate species distribution model? Exploring Shape, novel method. Ecography, 11, e06992. https://doi.org/10.1111/ecog.06992 Mesgaran, M. B., R. D. Cousens, B. L. Webber, J. Franklin. (2014) dragons: tool quantifying novelty due covariate range correlation change projecting species distribution models. Diversity Distributions 20:1147-1159.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"","code":"if (FALSE) { # \\dontrun{ # To add a zone layer for extrapolation constraints. x <- distribution(background) |> add_predictors(covariates) |> add_limits_extrapolation(method = \"zones\", layer = zones) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a log file to distribution object — add_log","title":"Adds a log file to distribution object — add_log","text":"function allows specify file Log file, used save console outputs, prints messages.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a log file to distribution object — add_log","text":"","code":"add_log(x, filename) # S4 method for class 'BiodiversityDistribution,character' add_log(x, filename)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a log file to distribution object — add_log","text":"x distribution() (.e. BiodiversityDistribution) object. filename character object. destination must writeable filename ends 'txt'.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adds a log file to distribution object — add_log","text":"Adds log file distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a log file to distribution object — add_log","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_log() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a spatial explicit offset — add_offset","title":"Specify a spatial explicit offset — add_offset","text":"Including offsets another option integrate spatial prior information linear additive regression models. Offsets shift intercept regression fit certain amount. Although one offset can added regression model, possible combine several spatial-explicit estimates one offset calculating sum spatial-explicit layers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a spatial explicit offset — add_offset","text":"","code":"add_offset(x, layer, add = TRUE) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset(x, layer, add = TRUE) # S4 method for class 'BiodiversityDistribution,sf' add_offset(x, layer, add = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a spatial explicit offset — add_offset","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a spatial explicit offset — add_offset","text":"Adds offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a spatial explicit offset — add_offset","text":"function allows set specific offset regression model. offset provided spatial SpatRaster object. function simply adds layer distribution() object. Note transformation offset (log) done externally! layer range requires additional formatting, consider using function add_offset_range() additional functionalities distance transformations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Specify a spatial explicit offset — add_offset","text":"Since offsets make sense linear regressions (instance regression tree based methods engine_bart()), work engines. Offsets specified non-supported engines ignored estimation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a spatial explicit offset — add_offset","text":"Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a spatial explicit offset — add_offset","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_offset(nicheEstimate) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a spatial explicit offset as bias — add_offset_bias","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Including offsets another option integrate spatial prior information linear additive regression models. Offsets shift intercept regression fit certain amount. Although one offset can added regression model, possible combine several spatial-explicit estimates one offset calculating sum spatial-explicit layers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"","code":"add_offset_bias(x, layer, add = TRUE, points = NULL) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset_bias(x, layer, add = TRUE, points = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE). points optional sf object key points. location points used calculate probability cell sampled accounting area differences. (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Adds bias offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"functions emulates use add_offset() function, however applies inverse transformation remove provided layer overall offset. instance offset already specified (area), function removes provided bias.layer via \"offset(log(.area)-log(bias.layer))\" Note transformation offset (log) done externally! generic offset added, consider using add_offset() function. layer expert-based range requires additional parametrization, consider using function add_offset_range() bossMaps R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_offset_bias(samplingBias) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify elevational preferences as offset — add_offset_elevation","title":"Specify elevational preferences as offset — add_offset_elevation","text":"function implements elevation preferences offset defined Ellis‐Soto et al. (2021). code adapted Supporting materials script.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify elevational preferences as offset — add_offset_elevation","text":"","code":"add_offset_elevation(x, elev, pref, rate = 0.0089, add = TRUE) # S4 method for class 'BiodiversityDistribution,SpatRaster,numeric' add_offset_elevation(x, elev, pref, rate = 0.0089, add = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify elevational preferences as offset — add_offset_elevation","text":"x distribution() (.e. BiodiversityDistribution) object. elev SpatRaster elevation given background. pref numeric vector length 2 giving lower upper bound known elevational preferences. Can set Inf unknown. rate numeric rate used offset (Default: .0089). parameter specifies decay near zero probability elevation expert limits. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Adds elevational offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Specifically functions calculates continuous decay decreasing probability species occur elevation limits. requires SpatRaster elevation information. generalized logistic transform (aka Richard's curve) used calculate decay suitable elevational areas, \"rate\" parameter allowing vary steepness decline. Note offsets created function default log-transformed export. addition function also mean-centers output recommended Ellis-Soto et al.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Ellis‐Soto, D., Merow, C., Amatulli, G., Parra, J.L., Jetz, W., 2021. Continental‐scale 1 km hummingbird diversity derived fusing point records lateral elevational expert information. Ecography (Cop.). 44, 640–652. https://doi.org/10.1111/ecog.05119 Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify elevational preferences as offset — add_offset_elevation","text":"","code":"if (FALSE) { # \\dontrun{ # Adds the offset to a distribution object distribution(background) |> add_offset_elevation(dem, pref = c(400, 1200)) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a expert-based species range as offset — add_offset_range","title":"Specify a expert-based species range as offset — add_offset_range","text":"function additional options compared generic add_offset(), allowing customized options specifically expert-based ranges offsets spatialized polygon information species occurrences. even control needed, user informed \"bossMaps\" package Merow et al. (2017). functionalities package emulated \"distance_function\" set \"log\". tries fit 5-parameter logistic function estimate distance range (Merow et al. 2017).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a expert-based species range as offset — add_offset_range","text":"","code":"add_offset_range( x, layer, distance_max = Inf, family = \"poisson\", presence_prop = 0.9, distance_clip = FALSE, distance_function = \"negexp\", field_occurrence = \"observed\", fraction = NULL, point = FALSE, add = TRUE ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset_range(x, layer, fraction = NULL, add = TRUE) # S4 method for class 'BiodiversityDistribution,sf' add_offset_range( x, layer, distance_max = Inf, family = \"poisson\", presence_prop = 0.9, distance_clip = FALSE, distance_function = \"negexp\", field_occurrence = \"observed\", fraction = NULL, point = FALSE, add = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a expert-based species range as offset — add_offset_range","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. distance_max numeric threshold maximum distance beyond range considered high likelihood containing species occurrences (Default: Inf \"m\"). Can set NULL 0 indicate distance calculated. family character denoting type model offset added. default assumes 'poisson' distributed model result output created function log-transformed. however 'binomial' distribution chosen, output `logit` transformed. integrated models leave default. presence_prop numeric giving proportion records expected inside range. default set 0.9 indicating 10% records likely outside range. distance_clip logical whether distance clipped maximum distance (Default: FALSE). distance_function character specifying distance function used. Available linear (\"linear\"), negative exponential kernels (\"negexp\", default) five parameters logistic curve (\"logcurve\") proposed Merow et al. 2017. field_occurrence numeric character location biodiversity point records. fraction optional SpatRaster object multiplied digitized raster layer. Can used example remove reduce expected value (Default: NULL). point optional sf layer points logical argument. case latter point data ignored (Default: FALSE). add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a expert-based species range as offset — add_offset_range","text":"Adds range offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a expert-based species range as offset — add_offset_range","text":"output created function creates SpatRaster added provided distribution object. Offsets regression models likelihood specific added directly overall estimate `y^hat`. Note offsets created function default log-transformed export. Background values (e.g. beyond \"distance_max\") set small constant (1e-10).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a expert-based species range as offset — add_offset_range","text":"Merow, C., Wilson, .M., Jetz, W., 2017. Integrating occurrence data expert maps improved species range predictions. Glob. Ecol. Biogeogr. 26, 243–258. https://doi.org/10.1111/geb.12539 Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a expert-based species range as offset — add_offset_range","text":"","code":"if (FALSE) { # \\dontrun{ # Train a presence-only model with a simple offset fit <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") |> add_predictors(predictors) |> add_offset_range(virtual_range, distance_max = 5,distance_function = \"logcurve\", distance_clip = TRUE ) |> engine_glm() |> train() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":null,"dir":"Reference","previous_headings":"","what":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"Create lower upper limits elevational range add separate predictors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"","code":"add_predictor_elevationpref(x, layer, lower, upper, transform = \"none\") # S4 method for class 'BiodiversityDistribution,ANY,numeric,numeric' add_predictor_elevationpref(x, layer, lower, upper, transform = \"none\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"x distribution() (.e. BiodiversityDistribution) object. layer character stating elevational layer Distribution object SpatRaster object. lower numeric value lower elevational preference species. upper numeric value upper elevational preference species. transform character optional transformation applied. Usually needed (Default: \"none\").","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictor_elevationpref(elevation, lower = 200, upper = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a range of a species as predictor to a distribution object — add_predictor_range","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"function allows add species range usually drawn experts separate process spatial explicit prior. sf SpatRaster-objects supported input. Users advised look \"bossMaps\" R-package presented part Merow et al. (2017), allows flexible calculation non-linear distance transforms boundary range. Outputs package added directly function. Note function adds range predictor offset. purpose separate function add_offset_range() exists. Additional options allow include range either \"binary\" \"distance\" transformed predictor. difference range either directly included presence-predictor alternatively linear distance transform range boundary. parameter \"distance_max\" can specified constrain distance transform.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"","code":"add_predictor_range( x, layer, method = \"distance\", distance_max = NULL, fraction = NULL, priors = NULL ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_predictor_range( x, layer, method = \"precomputed_range\", fraction = NULL, priors = NULL ) # S4 method for class 'BiodiversityDistribution,sf' add_predictor_range( x, layer, method = \"distance\", distance_max = Inf, fraction = NULL, priors = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. method character describing range included (\"binary\" | \"distance\"). distance_max Numeric threshold maximum distance (Default: NULL). fraction optional SpatRaster object multiplied digitized raster layer. Can used example remove reduce expected value (Default: NULL). priors PriorList object. Default set NULL uses default prior assumptions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"Merow, C., Wilson, . M., & Jetz, W. (2017). Integrating occurrence data expert maps improved species range predictions. Global Ecology Biogeography, 26(2), 243–258. https://doi.org/10.1111/geb.12539","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictor_range(range, method = \"distance\", distance_max = 2) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add predictors to a Biodiversity distribution object — add_predictors","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"function allows add predictors distribution BiodiversityScenario objects. Predictors covariates spatial projection match geographic projection background layer distribution object. function furthermore allows transform create derivates provided predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"","code":"add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,SpatRasterCollection' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,stars' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityScenario,SpatRaster' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityScenario,stars' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. env SpatRaster stars object. names vector character names describing environmental stack case renamed. transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) derivate_knots single numeric vector giving number knots derivate creation relevant (Default: 4). int_variables vector length greater equal 2 specifying covariates (Default: NULL). bgmask Check whether environmental data masked background layer (Default: TRUE). harmonize_na logical value indicating whether NA values harmonized among predictors (Default: FALSE). explode_factors logical whether factor variables split binary variables (one per class). (Default: FALSE). priors PriorList object. Default set NULL uses default prior assumptions. state matrix one value per variable (column) providing either ( stats::mean(), stats::sd() ) variable env option 'scale' range minimum maximum values option 'norm'. Effectively applies value range rescaling. case provided stars data BiodiversityScenario object, state variables attempted compiled predictor ranges used model inferrence (Default: NULL). ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"transformation takes provided rasters instance rescales transforms principal component analysis (prcomp). contrast, derivates leave original provided predictors alone, instead create new ones, instance transforming values quadratic hinge transformation. Note effectively increases number predictors object, generally requiring stronger regularization used Engine. transformations derivates can also combined. Available options transformation : 'none' - Leaves provided predictors original scale. 'pca' - Converts predictors principal components. Note results renaming variables principal component axes! 'scale' - Transforms predictors applying scale . 'norm' - Normalizes predictors transforming scale 0 1. 'windsor' - Applies windsorization target predictors. default effectively cuts predictors 0.05 0.95, thus helping remove extreme outliers. Available options creating derivates : 'none' - additional predictor derivates created. 'quad' - Adds quadratic derivate predictors. 'interaction' - Add interacting predictors. Interactions need specified (\"int_variables\")! 'thresh' - Add threshold derivate predictors. 'hinge' - Add hinge derivate predictors. 'kmeans' - Add k-means derived factors. 'bin' - Add predictors binned percentiles.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"Important: every Engine supported ibis.iSDM R-package allows missing data points among extracted covariates. Thus observation missing data generally removed prior model fitting. Thus ensure covariates appropriate -data settings (instance setting NA values 0 another range constant). every engine actually need covariates. instance perfectly legit fit model occurrence data spatial latent effect (add_latent_spatial). correspondents spatial kernel density estimate. Certain names \"offset\" forbidden predictor variable names. function return error message used. engines use binary variables regardless parameter explode_factors set .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"","code":"if (FALSE) { # \\dontrun{ obj <- distribution(background) |> add_predictors(covariates, transform = 'scale') obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"customized function format add downscaled land-use shares Global Biosphere Management Model (GLOBIOM) distribution BiodiversityScenario ibis.iSDM. GLOBIOM partial-equilibrium model developed IIASA represents land-use sectors rich set environmental socio-economic parameters, instance agricultural forestry sector estimated dedicated process-based models. GLOBIOM outputs spatial explicit usually half-degree resolution globally. finer grain analyses GLOBIOM outputs can produced downscaled format customized statistical downscaling module. purpose script format GLOBIOM outputs DownScale use ibis.iSDM package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"","code":"add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityDistribution,character' add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityScenario,character' add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"x BiodiversityDistribution BiodiversityScenario object. fname character pointing netCDF GLOBIOM data. names vector character names describing environmental stack case renamed (Default: NULL). transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) derivate_knots single numeric vector giving number knots derivate creation relevant (Default: 4). int_variables vector length greater equal 2 specifying covariates (Default: NULL). bgmask Check whether environmental data masked background layer (Default: TRUE) harmonize_na logical value indicating whether NA values harmonized among predictors (Default: FALSE) priors PriorList object. Default set NULL uses default prior assumptions. ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"See add_predictors() additional parameters customizations. (manual) control function formatting GLOBIOM data can also called directly via formatGLOBIOM().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"","code":"if (FALSE) { # \\dontrun{ obj <- distribution(background) |> add_predictors_globiom(fname = \"\", transform = 'none') obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"function convenience wrapper add output previous fitted DistributionModel another BiodiversityDistribution object. Obviously works prediction fitted model. Options instead add thresholds, transform / derivate model outputs also supported.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"","code":"add_predictors_model( x, model, transform = \"scale\", derivates = \"none\", threshold_only = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityDistribution' add_predictors_model( x, model, transform = \"scale\", derivates = \"none\", threshold_only = FALSE, priors = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"x distribution() (.e. BiodiversityDistribution) object. model DistributionModel object. transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) threshold_only logical flag indicating whether add thresholded layers fitted model (existing) instead (Default: FALSE). priors PriorList object. Default set NULL uses default prior assumptions. ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"transformation takes provided rasters instance rescales transforms principal component analysis (prcomp). contrast, derivates leave original provided predictors alone, instead create new ones, instance transforming values quadratic hinge transformation. Note effectively increases number predictors object, generally requiring stronger regularization used Engine. transformations derivates can also combined. Available options transformation : 'none' - Leaves provided predictors original scale. 'pca' - Converts predictors principal components. Note results renaming variables principal component axes! 'scale' - Transforms predictors applying scale . 'norm' - Normalizes predictors transforming scale 0 1. 'windsor' - Applies windsorization target predictors. default effectively cuts predictors 0.05 0.95, thus helping remove extreme outliers. Available options creating derivates : 'none' - additional predictor derivates created. 'quad' - Adds quadratic transformed predictors. 'interaction' - Add interacting predictors. Interactions need specified (\"int_variables\")! 'thresh' - Add threshold transformed predictors. 'hinge' - Add hinge transformed predictors. 'bin' - Add predictors binned percentiles.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"","code":"if (FALSE) { # \\dontrun{ # Fit first model fit <- distribution(background) |> add_predictors(covariates) |> add_biodiversity_poipa(species) |> engine_glmnet() |> train() # New model object obj <- distribution(background) |> add_predictors_model(fit) obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — add_priors","title":"Add priors to an existing distribution object — add_priors","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — add_priors","text":"","code":"add_priors(x, priors = NULL, ...) # S4 method for class 'BiodiversityDistribution' add_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — add_priors","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — add_priors","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — add_priors","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":null,"dir":"Reference","previous_headings":"","what":"Add pseudo-absence points to a point data set — add_pseudoabsence","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"engines, background pseudo-absence points necessary. distinction lies absence data handled. poisson distributed responses, absence points considered background points intensity sampling (lambda) integrated (classical Poisson point-process model). contrast binomial distributed responses, absence information assumed adequate representation true absences treated model ... advised specify absence points way represent potential true absence, example targeted background sampling sampling within/outside given range.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"","code":"add_pseudoabsence( df, field_occurrence = \"observed\", template = NULL, settings = getOption(\"ibis.pseudoabsence\") )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"df sf, data.frame tibble object containing point data. field_occurrence character name column containing presence information (Default: observed). template SpatRaster object aligned predictors (Default: NULL). set NULL, background pseudoabs_settings() SpatRaster object. settings pseudoabs_settings() objects. Absence settings taken ibis_options otherwise (Default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"data.frame containing newly created pseudo absence points.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"pseudoabs_settings() object can added setup absence points sampled. bias parameter can set specify bias layer sample , instance layer accessibility. Note modelling several datasets, might make sense check across datasets whether certain areas truly absent. default, pseudo-absence points sampled areas already presence points.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"method removes columns input df object field_occurrence column coordinate columns (created already present).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"Stolar, J., & Nielsen, S. E. (2015). Accounting spatially biased sampling effort presence‐species distribution modelling. Diversity Distributions, 21(5), 595-608. Bird, T.J., Bates, .E., Lefcheck, J.S., Hill, N.., Thomson, R.J., Edgar, G.J., Stuart-Smith, R.D., Wotherspoon, S., Krkosek, M., Stuart-Smith, J.F. Pecl, G.T., 2014. Statistical solutions error bias global citizen science datasets. Biological Conservation, 173, pp.144-154.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":null,"dir":"Reference","previous_headings":"","what":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"data projection template, alignment computed reprojection . data already projection, data set cropped aggregated prior resampling order reduce computation time.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"","code":"alignRasters(data, template, method = \"bilinear\", func = mean, cl = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"data SpatRaster object resampled. template SpatRaster sf object geometry can extracted. method method resampling (Options: \"near\" \"bilinear\"). func function resampling (Default: mean). cl logical value multicore computation used (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"New SpatRaster object aligned supplied template layer.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"Nearest Neighbour resampling (near) recommended discrete bilinear resampling recommended continuous data. See also help terra::resample options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"","code":"if (FALSE) { # \\dontrun{ # Align one raster to another ras1 <- alignRasters( ras1, ras2, method = \"near\", cl = FALSE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":null,"dir":"Reference","previous_headings":"","what":"As Id — as.Id","title":"As Id — as.Id","text":"Id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"As Id — as.Id","text":"","code":"as.Id(x, ...) # S3 method for class 'character' as.Id(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"As Id — as.Id","text":"x character converted id. ... arguements","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Bivariate plot wrapper for distribution objects — bivplot","title":"Bivariate plot wrapper for distribution objects — bivplot","text":"Often intention display predictions made SDM, also uncertainty prediction. Uncertainty estimated either directly model calculating variation prediction values among set models. particular Bayesian engines can produce mean estimates fitted responses, also pixel-based estimates uncertainty posterior standard deviation (SD) coefficient variation given prediction. function makes use \"biscale\" R-package create bivariate plots fitted distribution object, allowing visualize two variables . mostly thought convenience function create bivariate plots quick visualization. Supported Inputs either single trained Bayesian DistributionModel uncertainty output ensemble() call. cases, users make sure \"xvar\" \"yvar\" set accordingly.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bivariate plot wrapper for distribution objects — bivplot","text":"","code":"bivplot( mod, xvar = \"mean\", yvar = \"sd\", plot = TRUE, fname = NULL, title = NULL, col = \"BlueGold\", ... ) # S4 method for class 'ANY' bivplot( mod, xvar = \"mean\", yvar = \"sd\", plot = TRUE, fname = NULL, title = NULL, col = \"BlueGold\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bivariate plot wrapper for distribution objects — bivplot","text":"mod trained DistributionModel alternatively SpatRaster object prediction model within. xvar character denoting value x-axis (Default: 'mean'). yvar character denoting value y-axis (Default: 'sd'). plot logical indication whether result plotted (Default: TRUE)? fname character specifying output filename created figure written . title Allows respecify title character (Default:NULL). col character stating colour palette use. either predefined value vector colours. See \"biscale::bi_pal_manual\". Default: \"BlueGold\". ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bivariate plot wrapper for distribution objects — bivplot","text":"Saved bivariate plot 'fname' specified, otherwise plot.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Bivariate plot wrapper for distribution objects — bivplot","text":"function requires biscale package installed. Although work around without package developed, deemed necessary point. See also gist.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":null,"dir":"Reference","previous_headings":"","what":"Check objects in the package for common errors or issues — check","title":"Check objects in the package for common errors or issues — check","text":"always enough data sufficient information robustly infer suitable habitat niche species. many SDM algorithms essentially regression models, similar assumptions model convergence, homogeneity residuals inferrence usually apply (although often ignored). function simply checks respective input object common issues mistakes.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check objects in the package for common errors or issues — check","text":"","code":"check(obj, stoponwarning = FALSE) # S4 method for class 'ANY' check(obj, stoponwarning = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check objects in the package for common errors or issues — check","text":"obj BiodiversityDistribution, DistributionModel BiodiversityScenario object. stoponwarning logical check return stop warning raised? (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check objects in the package for common errors or issues — check","text":"Message outputs","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check objects in the package for common errors or issues — check","text":"Different checks implemented depending supplied object BiodiversityDistribution Checks less 200 observations TODO: Add rm_insufficient_covs link DistributionModel Check model convergence Check model found Check coefficients exist Check unusal outliers prediction (using 10median absolute deviation) Check threshold larger layer BiodiversityScenario","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Check objects in the package for common errors or issues — check","text":"function likely expanded additional checks future. ideas, please let know per issue.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check objects in the package for common errors or issues — check","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated DistributionModel check(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtains the coefficients of a trained model — coef","title":"Obtains the coefficients of a trained model — coef","text":"Similar summary, helper function obtains coefficients given DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtains the coefficients of a trained model — coef","text":"","code":"# S3 method for class 'DistributionModel' coef(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtains the coefficients of a trained model — coef","text":"object prepared object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Obtains the coefficients of a trained model — coef","text":"models trained machine-learning approaches (e.g. engine_bart etc) function return variable importance estimates rather linear coefficients. Similar can said trained non-linear models.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine or concatenate multiple formula objects — combine_formulas","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"small helper function allows combine multiple formula() objects one. case duplicate variable entries, unique ones used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"","code":"combine_formulas(..., combine = \"both\", env = parent.frame())"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"... number formula objects \"LHS ~ RHS\" format, also supporting character strings. combine character whether LHS RHS duplicates removed. Can set either \"lhs\", \"rhs\" \"\" (Default). env new environment formula (def=parent.frame()).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"formula cbind(lhs_1, lhs_2, ...) ~ rhs_1 + rhs_2 + ... lhs ~ rhs_1 + rhs_2 case identical LHS (see examples).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"Use \"y ~ 0\" specify stand alone LHS.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"likely work interaction terms (* :).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"","code":"# Combine everything (default) combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover) #> observed ~ rainfall + temp #> # Combine only LHS combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover, combine = \"lhs\") #> observed ~ rainfall + temp + rainfall + forest.cover #> "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":null,"dir":"Reference","previous_headings":"","what":"Create distribution modelling procedure — distribution","title":"Create distribution modelling procedure — distribution","text":"function creates object contains data, parameters settings building (integrated) species distribution model. Key functions add data add_biodiversity_poipo like, add_predictors, add_latent_spatial, engine_glmnet similar, add_priors add_offset. creates prototype BiodiversityDistribution object functions. setting input data parameters, model predictions can created via train function predictions created. Additionally, possible specify \"limit\" predictions conducted background. can instance buffered layer certain dispersal distance (Cooper Soberon, 2018) categorical layer representing biomes soil conditions. Another option create constraint constructing minimum convex polygon (MCP) using supplied biodiversity data. option can enabled setting \"limits_method\" \"mcp\". also possible provide small buffer constructed MCP way. See frequently asked question (FAQ) section homepage information. See Details description internal functions available modify summarize data within created object. Note model requires minimum single added biodiversity dataset well specified engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create distribution modelling procedure — distribution","text":"","code":"distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE ) # S4 method for class 'SpatRaster' distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE ) # S4 method for class 'sf' distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create distribution modelling procedure — distribution","text":"background Specification modelling background. Must SpatRaster sf object. limits SpatRaster, sf stars object limits prediction surface intersected input data (Default: NULL). case stars object first factorized time entry taken. limits_method character method used hard limiting projection. Available options \"none\" (Default), \"zones\" \"mcp\". See also add_limits_extrapolation(). mcp_buffer numeric distance buffer mcp (Default 0). used \"mcp\" used. limits_clip logical limits clip predictors fitting model (TRUE) just prediction (FALSE, default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create distribution modelling procedure — distribution","text":"BiodiversityDistribution object containing data building biodiversity distribution modelling problem.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create distribution modelling procedure — distribution","text":"function creates BiodiversityDistribution object contains functions stores parameters (pre-)processed data. full list functions available can queried via \"names(object)\". functions intended manipulated directly, rather convenience functions (e.g. \"object$set_predictors()\"). Similarly objects stored BiodiversityDistribution object functions well can queried (e.g. \"names(object)\"). list functions see reference documentation. default, datasets set, \"Waiver\" object returned instead. following objects can stored: object$biodiversity BiodiversityDatasetCollection object added biodiversity data. object$engine \"engine\" object (e.g. engine_inlabru()) function depended added engine. object$predictors PredictorDataset object set predictions. object$priors PriorList object specified priors. object$log Log object captures. Useful high-level functions address objects instance: object$show() generic summary BiodiversityDistribution object contents. Can also called via print. object$get_biodiversity_equations() Lists equations used biodiversity dataset given id. Defaults predictors. object$get_biodiversity_types() Lists type specified biodiversity dataset given id. object$get_extent() Outputs terra::ext modelling region. object$show_background_info() Returns list terra::ext terra::crs. object$get_extent_dimensions() Outputs terra::ext dimension calling \"extent_dimensions()\" function. object$get_predictor_names() Returns character vector names added predictors. object$get_prior_variables() Returns description priors added. functions well better accessed respective wrapper functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create distribution modelling procedure — distribution","text":"Fletcher, R.J., Hefley, T.J., Robertson, E.P., Zuckerberg, B., McCleery, R.., Dorazio, R.M., (2019) practical guide combining data model species distributions. Ecology 100, e02710. https://doi.org/10.1002/ecy.2710 Cooper, Jacob C., Jorge Soberón. \"Creating individual accessible area hypotheses improves stacked species distribution model performance.\" Global Ecology Biogeography 27, . 1 (2018): 156-165.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create distribution modelling procedure — distribution","text":"","code":"# Load background raster background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\")) # Define model x <- distribution(background) #> [Setup] 2024-08-25 10:14:14.937023 | Creating distribution object... x #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> None #> --------- #> predictors: None #> priors: #> latent: None #> log: #> engine: "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot effects of trained model — effects","title":"Plot effects of trained model — effects","text":"functions handy wrapper calls default plotting functions model specific engine. Equivalent calling effects fitted distribution function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot effects of trained model — effects","text":"","code":"# S3 method for class 'DistributionModel' effects(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot effects of trained model — effects","text":"object fitted distribution object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot effects of trained model — effects","text":"None.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Plot effects of trained model — effects","text":"models, default coefficients plots available, function attempt generate partial dependency plots instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot effects of trained model — effects","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated distribution model mod$effects() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty SpatRaster based on a template — emptyraster","title":"Create an empty SpatRaster based on a template — emptyraster","text":"function creates empty copy provided SpatRaster object. primarily used package create outputs predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty SpatRaster based on a template — emptyraster","text":"","code":"emptyraster(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty SpatRaster based on a template — emptyraster","text":"x SpatRaster* object corresponding. ... arguments can passed terra","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create an empty SpatRaster based on a template — emptyraster","text":"empty SpatRaster, .e. cells NA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create an empty SpatRaster based on a template — emptyraster","text":"","code":"require(terra) #> Loading required package: terra #> terra 1.7.78 #> #> Attaching package: ‘terra’ #> The following object is masked from ‘package:ibis.iSDM’: #> #> modal r <- rast(matrix(1:100, 5, 20)) emptyraster(r) #> class : SpatRaster #> dimensions : 5, 20, 1 (nrow, ncol, nlyr) #> resolution : 1, 1 (x, y) #> extent : 0, 20, 0, 5 (xmin, xmax, ymin, ymax) #> coord. ref. :"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Bayesian regression approach sum complementary trees shrink said fit tree regularization prior. BART models provide non-linear highly flexible estimation shown compare favourable among machine learning algorithms (Dorie et al. 2019). Default prior preference trees small (terminal nodes) shrinkage towards 0. package requires \"dbarts\" R-package installed. Many functionalities engine inspired \"embarcadero\" R-package. Users therefore advised cite make heavy use BART.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"","code":"engine_bart(x, iter = 1000, nburn = 250, chains = 4, type = \"response\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"x distribution() (.e. BiodiversityDistribution) object. iter numeric estimate number trees used sum--trees formulation (Default: 1000). nburn numeric estimate burn samples (Default: 250). chains number number chains used (Default: 4). type type used creating posterior predictions. Either \"link\" \"response\" (Default: \"response\"). ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Prior distributions can furthermore set : probability tree stops node given depth (yet implemented) probability given variable chosen splitting rule probability splitting variable particular value (yet implemented)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Carlson, CJ. embarcadero: Species distribution modelling Bayesian additive regression trees r. Methods Ecol Evol. 2020; 11: 850– 858. https://doi.org/10.1111/2041-210X.13389 Dorie, V., Hill, J., Shalit, U., Scott, M., & Cervone, D. (2019). Automated versus --methods causal inference: Lessons learned data analysis competition. Statistical Science, 34(1), 43-68. Vincent Dorie (2020). dbarts: Discrete Bayesian Additive Regression Trees Sampler. R package version 0.9-19. https://CRAN.R-project.org/package=dbarts","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"","code":"if (FALSE) { # \\dontrun{ # Add BART as an engine x <- distribution(background) |> engine_bart(iter = 100) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for Bayesian regularized regression models — engine_breg","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Efficient MCMC algorithm linear regression models makes use 'spike--slab' priors modest regularization amount posterior probability subset coefficients.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for Bayesian regularized regression models — engine_breg","text":"","code":"engine_breg( x, iter = 10000, nthread = getOption(\"ibis.nthread\"), type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for Bayesian regularized regression models — engine_breg","text":"x distribution() (.e. BiodiversityDistribution) object. iter numeric number MCMC iterations run (Default: 10000). nthread numeric number CPU-threads use data augmentation. type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... none specified parameters passed model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for Bayesian regularized regression models — engine_breg","text":"engine provides efficient Bayesian predictions Boom R-package. However note link models functions supported certain functionalities offsets generally available. engines allows estimation linear non-linear effects via \"only_linear\" option specified train.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Nguyen, K., Le, T., Nguyen, V., Nguyen, T., & Phung, D. (2016, November). Multiple kernel learning data augmentation. Asian Conference Machine Learning (pp. 49-64). PMLR. Steven L. Scott (2021). BoomSpikeSlab: MCMC Spike Slab Regression. R package version 1.2.4. https://CRAN.R-project.org/package=BoomSpikeSlab","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for Bayesian regularized regression models — engine_breg","text":"","code":"if (FALSE) { # \\dontrun{ # Add BREG as an engine x <- distribution(background) |> engine_breg(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":null,"dir":"Reference","previous_headings":"","what":"Use of Gradient Descent Boosting for model estimation — engine_gdb","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"Gradient descent boosting efficient way optimize loss function generalized linear additive model (GAMs available \"mgcv\" R-package). furthermore automatically regularizes fit, thus resulting model contains covariates whose baselearners influence response. Depending type add_biodiversity data, either poisson process models logistic regressions estimated. \"only_linear\" term train set FALSE, splines added estimation, thus providing non-linear additive inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"","code":"engine_gdb( x, iter = 2000, learning_rate = 0.1, empirical_risk = \"inbag\", type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"x distribution() (.e. BiodiversityDistribution) object. iter integer giving number boosting iterations (Default: 2e3L). learning_rate bounded numeric value 0 1 defining shrinkage parameter. empirical_risk method empirical risk calculation. Available options 'inbag', 'oobag' 'none'. (Default: 'inbag'). type mode used creating posterior predictions. Either making \"link\", \"response\" \"class\" (Default: \"response\"). ... variables control parameters","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":": package requires \"mboost\" R-package installed. philosophy somewhat related engine_xgboost \"XGBoost\" R-package, however providing additional desirable features make estimation quicker particularly useful spatial projections. instance ability specifically add spatial baselearners via add_latent_spatial specification monotonically constrained priors via GDBPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"coefficients resulting gdb poipa data (Binomial) 0.5 typical coefficients logit model obtained via glm (see Binomial).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"Hofner, B., Mayr, ., Robinzonov, N., & Schmid, M. (2014). Model-based boosting R: hands-tutorial using R package mboost. Computational statistics, 29(1-2), 3-35. Hofner, B., Müller, J., Hothorn, T., (2011). Monotonicity-constrained species distribution models. Ecology 92, 1895–901. Mayr, ., Hofner, B. Schmid, M. (2012). importance knowing stop - sequential stopping rule component-wise gradient boosting. Methods Information Medicine, 51, 178–186.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"","code":"if (FALSE) { # \\dontrun{ # Add GDB as an engine x <- distribution(background) |> engine_gdb(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for Generalized linear models (GLM) — engine_glm","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"engine implements basic generalized linear modle (GLM) creating species distribution models. main purpose engine support basic, dependency-free method inference projection can used within package examples vignettes. said, engine fully functional engine. basic implementation GLMs part general class oflinear models - exception offsets - minimal options integrate sources information priors joint integration. general recommendation engine_glmnet() instead regularization support. However basic GLMs can cases useful quick projections ensemble() small models (practice common rare species).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"","code":"engine_glm(x, control = NULL, type = \"response\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"x distribution() (.e. BiodiversityDistribution) object. control list containing parameters controlling fitting process (Default: NULL). type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... parameters passed stats::glm().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"engine essentially wrapper stats::glm.fit(), however customized settings support offsets weights.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"Hastie, T. J. Pregibon, D. (1992) Generalized linear models. Chapter 6 Statistical Models S eds J. M. Chambers T. J. Hastie, Wadsworth & Brooks/Cole.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"","code":"# Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Add GLM as an engine x <- distribution(background) |> engine_glm() #> [Setup] 2024-08-25 10:14:16.00418 | Creating distribution object... print(x) #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> None #> --------- #> predictors: None #> priors: #> latent: None #> log: #> engine: "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for regularized regression models — engine_glmnet","title":"Engine for regularized regression models — engine_glmnet","text":"engine allows estimation linear coefficients using either ridge, lasso elastic net regressions techniques. Backbone engine glmnet R-package commonly used SDMs, including popular 'maxnet' (e.g. Maxent) package. Ultimately engine equivalent engine_breg, \"frequentist\" setting. user aim emulate model closely resembles maxent within ibis.iSDM modelling framework, package best way . Compared 'maxnet' R-package, number efficiency settings implemented particular cross-validation alpha lambda values. Limited amount prior information can specified engine, specifically via offsets GLMNETPrior, allow specify priors regularization constants.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for regularized regression models — engine_glmnet","text":"","code":"engine_glmnet( x, alpha = 0, nlambda = 100, lambda = NULL, type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for regularized regression models — engine_glmnet","text":"x distribution() (.e. BiodiversityDistribution) object. alpha numeric giving elasticnet mixing parameter, 0 1. alpha=1 lasso penalty, alpha=0 ridge penalty (Default: 0). nlambda numeric giving number lambda values used (Default: 100). lambda numeric user supplied estimate lambda. Usually best let parameter determined deterministically (Default: NULL). type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... parameters passed glmnet.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for regularized regression models — engine_glmnet","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for regularized regression models — engine_glmnet","text":"Regularized regressions effectively GLMs fitted ridge, lasso elastic-net regularization. chosen critical dependent alpha value: * alpha equal 0 ridge regularization used. Ridge regularization property remove variables entirely, instead sets coefficients 0. * alpha equal 1 lasso regularization used. Lassos tend remove coefficients fully final model improve loss function. * alpha values 0 1 elastic-net regularization used, essentially combination two. optimal lambda parameter can determined via cross-validation. option set \"varsel\" train() \"reg\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for regularized regression models — engine_glmnet","text":"Jerome Friedman, Trevor Hastie, Robert Tibshirani (2010). Regularization Paths Generalized Linear Models via Coordinate Descent. Journal Statistical Software, 33(1), 1-22. URL https://www.jstatsoft.org/v33/i01/. Renner, .W., Elith, J., Baddeley, ., Fithian, W., Hastie, T., Phillips, S.J., Popovic, G. Warton, D.., 2015. Point process models presence‐analysis. Methods Ecology Evolution, 6(4), pp.366-379. Fithian, W. & Hastie, T. (2013) Finite-sample equivalence statistical models presence-data. Annals Applied Statistics 7, 1917–1939","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for regularized regression models — engine_glmnet","text":"","code":"if (FALSE) { # \\dontrun{ # Add GLMNET as an engine x <- distribution(background) |> engine_glmnet(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":null,"dir":"Reference","previous_headings":"","what":"Use INLA as engine — engine_inla","title":"Use INLA as engine — engine_inla","text":"Allows full Bayesian analysis linear additive models using Integrated Nested Laplace approximation. Engine largely superceded engine_inlabru package users advised us one, unless specific options required.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use INLA as engine — engine_inla","text":"","code":"engine_inla( x, optional_mesh = NULL, optional_projstk = NULL, max.edge = NULL, offset = NULL, cutoff = NULL, proj_stepsize = NULL, timeout = NULL, strategy = \"auto\", int.strategy = \"eb\", barrier = FALSE, type = \"response\", area = \"gpc2\", nonconvex.bdry = FALSE, nonconvex.convex = -0.15, nonconvex.concave = -0.05, nonconvex.res = 40, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use INLA as engine — engine_inla","text":"x distribution() (.e. BiodiversityDistribution) object. optional_mesh directly supplied \"INLA\" mesh (Default: NULL) optional_projstk directly supplied projection stack. Useful projection stack identical multiple species (Default: NULL) max.edge largest allowed triangle edge length, must scale units coordinates. Default educated guess (Default: NULL). offset interpreted numeric factor relative approximate data diameter. Default educated guess (Default: NULL). cutoff minimum allowed distance points mesh. Default educated guess (Default: NULL). proj_stepsize stepsize coordinate units cells projection grid (Default: NULL). timeout Specify timeout INLA models sec. Afterwards passed. strategy approximation use joint posterior. Options \"auto\" (\"default\"), \"adaptative\", \"gaussian\", \"simplified.laplace\" & \"laplace\". int.strategy Integration strategy. Options \"auto\",\"grid\", \"eb\" (\"default\") & \"ccd\". See also https://groups.google.com/g/r-inla-discussion-group/c/hDboQsJ1Mls barrier barrier model added model? type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default: \"response\"). area Accepts character denoting type area calculation done mesh (Default: 'gpc2'). nonconvex.bdry Create non-convex boundary hulls instead (Default: FALSE) yet implemented nonconvex.convex Non-convex minimal extension radius convex curvature yet implemented nonconvex.concave Non-convex minimal extension radius concave curvature yet implemented nonconvex.res Computation resolution nonconvex.hulls yet implemented ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use INLA as engine — engine_inla","text":"engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use INLA as engine — engine_inla","text":"INLA engines require specification mesh needs provided \"optional_mesh\" parameter. Otherwise mesh created based best guesses data spread. good mesh needs triangles regular possible size shape: equilateral. * \"max.edge\": largest allowed triangle edge length, must scale units coordinates Lower bounds affect density triangles * \"offset\": automatic extension distance mesh positive: scale units. negative, interpreted factor relative approximate data diameter .e., value -0.10 add 10% data diameter outer extension. * \"cutoff\": minimum allowed distance points, means points closer distance supplied value replaced single vertex. critical points close , either point locations domain boundary. * \"proj_stepsize\": stepsize spatial predictions, affects spatial grain outputs created. Priors can set via INLAPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use INLA as engine — engine_inla","text":"INLA Meshes generated, substantially influences prediction outcomes. See Dambly et al. (2023).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use INLA as engine — engine_inla","text":"Havard Rue, Sara Martino, Nicholas Chopin (2009), Approximate Bayesian Inference Latent Gaussian Models Using Integrated Nested Laplace Approximations (discussion), Journal Royal Statistical Society B, 71, 319-392. Finn Lindgren, Havard Rue, Johan Lindstrom (2011). Explicit Link Gaussian Fields Gaussian Markov Random Fields: Stochastic Partial Differential Equation Approach (discussion), Journal Royal Statistical Society B, 73(4), 423-498. Simpson, Daniel, Janine B. Illian, S. H. Sørbye, Håvard Rue. 2016. “Going Grid: Computationally Efficient Inference Log-Gaussian Cox Processes.” Biometrika 1 (103): 49–70. Dambly, L. ., Isaac, N. J., Jones, K. E., Boughey, K. L., & O'Hara, R. B. (2023). Integrated species distribution models fitted INLA sensitive mesh parameterisation. Ecography, e06391.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use INLA as engine — engine_inla","text":"","code":"if (FALSE) { # \\dontrun{ # Add INLA as an engine (with a custom mesh) x <- distribution(background) |> engine_inla(mesh = my_mesh) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":null,"dir":"Reference","previous_headings":"","what":"Use inlabru as engine — engine_inlabru","title":"Use inlabru as engine — engine_inlabru","text":"Model components specified general inputs mapping methods latent variables, predictors specified via general R expressions, separate expressions observation likelihood model multi-likelihood models. inlabru engine - similar engine_inla function acts wrapper INLA, albeit \"inlabru\" number convenience functions implemented make particular predictions new data much straight forward (e.g. via posterior simulation instead fitting). Since recent versions \"inlabru\" also supports addition multiple likelihoods, therefore allowing full integrated inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use inlabru as engine — engine_inlabru","text":"","code":"engine_inlabru( x, optional_mesh = NULL, max.edge = NULL, offset = NULL, cutoff = NULL, proj_stepsize = NULL, strategy = \"auto\", int.strategy = \"eb\", area = \"gpc2\", timeout = NULL, type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Use inlabru as engine — engine_inlabru","text":"https://inlabru-org.github.io/inlabru/articles/","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use inlabru as engine — engine_inlabru","text":"x distribution() (.e. BiodiversityDistribution) object. optional_mesh directly supplied \"INLA\" mesh (Default: NULL) max.edge largest allowed triangle edge length, must scale units coordinates. Default educated guess (Default: NULL). offset interpreted numeric factor relative approximate data diameter. Default educated guess (Default: NULL). cutoff minimum allowed distance points mesh. Default educated guess (Default: NULL). proj_stepsize stepsize coordinate units cells projection grid (Default: NULL) strategy approximation use joint posterior. Options \"auto\" (\"default\"), \"adaptative\", \"gaussian\", \"simplified.laplace\" & \"laplace\". int.strategy Integration strategy. Options \"auto\", \"grid\", \"eb\" (\"default\") & \"ccd\". area Accepts character denoting type area calculation done mesh (Default: 'gpc2'). timeout Specify timeout INLA models sec. Afterwards passed. type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default:\"response\"). ... variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use inlabru as engine — engine_inlabru","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use inlabru as engine — engine_inlabru","text":"INLA engines require specification mesh needs provided \"optional_mesh\" parameter. Otherwise mesh created based best guesses data spread. good mesh needs triangles regular possible size shape: equilateral. * \"max.edge\": largest allowed triangle edge length, must scale units coordinates Lower bounds affect density triangles * \"offset\": automatic extension distance mesh positive: scale units. negative, interpreted factor relative approximate data diameter .e., value -0.10 add 10% data diameter outer extension. * \"cutoff\": minimum allowed distance points, means points closer distance supplied value replaced single vertex. critical points close , either point locations domain boundary. * \"proj_stepsize\": stepsize spatial predictions, affects spatial grain outputs created. Priors can set via INLAPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use inlabru as engine — engine_inlabru","text":"INLA Meshes generated, substantially influences prediction outcomes. See Dambly et al. (2023).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use inlabru as engine — engine_inlabru","text":"Bachl, F. E., Lindgren, F., Borchers, D. L., & Illian, J. B. (2019). inlabru: R package Bayesian spatial modelling ecological survey data. Methods Ecology Evolution, 10(6), 760-766. Simpson, Daniel, Janine B. Illian, S. H. Sørbye, Håvard Rue. 2016. “Going Grid: Computationally Efficient Inference Log-Gaussian Cox Processes.” Biometrika 1 (103): 49–70. Dambly, L. ., Isaac, N. J., Jones, K. E., Boughey, K. L., & O'Hara, R. B. (2023). Integrated species distribution models fitted INLA sensitive mesh parameterisation. Ecography, e06391.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use inlabru as engine — engine_inlabru","text":"","code":"if (FALSE) { # \\dontrun{ # Add inlabru as an engine x <- distribution(background) |> engine_inlabru() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for process models using scampr — engine_scampr","title":"Engine for process models using scampr — engine_scampr","text":"Similar others, engine enables fitting prediction log-Gaussian Cox process (LGCP) Inhomogeneous Poisson process (IPP) processes. uses scampr package, uses maximum likelihood estimation fitted via TMB (Template Model Builder). also support addition spatial latent effects can added via Gaussian fields approximated 'FRK' (Fixed Rank Kriging) integrated using either variational Laplace approximation. main use case engine alternative engine_inlabru() engine_inla() fitting iSDMs, e.g. combining presence-presence-absence point occurrence data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for process models using scampr — engine_scampr","text":"","code":"engine_scampr(x, type = \"response\", dens = \"posterior\", maxit = 500, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for process models using scampr — engine_scampr","text":"x distribution() (.e. BiodiversityDistribution) object. type mode used creating (posterior prior) predictions. Either stting \"link\" \"response\" (Default: \"response\"). dens character predictions made, either \"posterior\" (Default) \"prior\". maxit numeric number iterations optimizer (Default: 500). ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for process models using scampr — engine_scampr","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for process models using scampr — engine_scampr","text":"engine may used predict one two datasets . supports presence-PPMs presence/absence Binary GLMs, 'IDM' (integrated data model).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Engine for process models using scampr — engine_scampr","text":"package can currently installed github directly \"ElliotDovers/scampr\" Presence-absence models SCAMPR currently support cloglog link functions!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for process models using scampr — engine_scampr","text":"Dovers, E., Popovic, G. C., & Warton, D. . (2024). fast method fitting integrated species distribution models. Methods Ecology Evolution, 15(1), 191-203. Dovers, E., Stoklosa, D., Warton D. . (2024). Fitting log-Gaussian Cox processes using generalized additive model software. American Statistician, 1-17.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for process models using scampr — engine_scampr","text":"","code":"if (FALSE) { # \\dontrun{ # Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Add GLM as an engine x <- distribution(background) |> engine_scampr() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":null,"dir":"Reference","previous_headings":"","what":"Use Stan as engine — engine_stan","title":"Use Stan as engine — engine_stan","text":"Stan probabilistic programming language can used specify types statistical linear non-linear regression models. Stan provides full Bayesian inference continuous-variable models Markov chain Monte Carlo methods -U-Turn sampler, adaptive form Hamiltonian Monte Carlo sampling. Stan code written separately function acts compiler build stan-model. Requires \"cmdstanr\" package installed!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use Stan as engine — engine_stan","text":"","code":"engine_stan( x, chains = 4, iter = 2000, warmup = floor(iter/2), init = \"random\", cores = getOption(\"ibis.nthread\"), algorithm = \"sampling\", control = list(adapt_delta = 0.95), type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use Stan as engine — engine_stan","text":"x distribution() (.e. BiodiversityDistribution) object. chains positive integer specifying number Markov chains (Default: 4 chains). iter positive integer specifying number iterations chain (including warmup). (Default: 2000). warmup positive integer specifying number warmup (aka burnin) iterations per chain. step-size adaptation (Default: TRUE), also controls number iterations adaptation run (hence warmup samples used inference). number warmup iterations smaller iter default iter/2. init Initial values parameters (Default: 'random'). Can also specified list (see: \"rstan::stan\") cores set NULL take values specified ibis option getOption('ibis.nthread'). algorithm Mode used sample posterior. Available options \"sampling\", \"optimize\", \"variational\". See \"cmdstanr\" package details. (Default: \"sampling\"). control See \"rstan::stan\" details specifying controls. type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default: \"response\"). ... variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use Stan as engine — engine_stan","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use Stan as engine — engine_stan","text":"default posterior obtained sampling, however stan also supports approximate inference forms penalized maximum likelihood estimation (see Carpenter et al. 2017).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use Stan as engine — engine_stan","text":"function obj$stancode() can used print stancode model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use Stan as engine — engine_stan","text":"Jonah Gabry Rok Češnovar (2021). cmdstanr: R Interface 'CmdStan'. https://mc-stan.org/cmdstanr, https://discourse.mc-stan.org. Carpenter, B., Gelman, ., Hoffman, M. D., Lee, D., Goodrich, B., Betancourt, M., ... & Riddell, . (2017). Stan: probabilistic programming language. Journal statistical software, 76(1), 1-32. Piironen, J., & Vehtari, . (2017). Sparsity information regularization horseshoe shrinkage priors. Electronic Journal Statistics, 11(2), 5018-5051.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use Stan as engine — engine_stan","text":"","code":"if (FALSE) { # \\dontrun{ # Add Stan as an engine x <- distribution(background) |> engine_stan(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Allows estimate eXtreme gradient descent boosting tree-based linear boosting regressions. XGBoost engine flexible, yet powerful engine many customization options, supporting multiple options perform single multi-class regression classification tasks. full list options users advised look xgboost::xgb.train help file https://xgboost.readthedocs.io.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"","code":"engine_xgboost( x, booster = \"gbtree\", iter = 8000L, learning_rate = 0.001, gamma = 6, reg_lambda = 0, reg_alpha = 0, max_depth = 2, subsample = 0.75, colsample_bytree = 0.4, min_child_weight = 3, nthread = getOption(\"ibis.nthread\"), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"x distribution() (.e. BiodiversityDistribution) object. booster character booster use. Either \"gbtree\" \"gblinear\" (Default: gblinear) iter numeric value giving maximum number boosting iterations cross-validation (Default: 8e3L). learning_rate numeric value indicating learning rate (eta). Lower values generally better also computationally costly. (Default: 1e-3) gamma numeric regularization parameter model. Lower values better estimates (Default: 3). Also see \"reg_lambda\" parameter L2 regularization weights reg_lambda numeric L2 regularization term weights (Default: 0). reg_alpha numeric L1 regularization term weights (Default: 0). max_depth numeric Maximum depth tree (Default: 3). subsample numeric ratio used subsampling prevent overfitting. Also used creating random tresting dataset (Default: 0.75). colsample_bytree numeric Sub-sample ratio columns constructing tree (Default: 0.4). min_child_weight numeric Broadly related number instances necessary node (Default: 3). nthread numeric number CPU-threads use. ... none specified parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"default parameters set relatively conservative reduce overfitting. XGBoost supports specification monotonic constraints certain variables. Within ibis possible via XGBPrior. However constraints available \"gbtree\" baselearners.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"'Machine learning statistics minus checking models assumptions‘ ~ Brian D. Ripley, useR! 2004, Vienna","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Tianqi Chen Carlos Guestrin, \"XGBoost: Scalable Tree Boosting System\", 22nd SIGKDD Conference Knowledge Discovery Data Mining, 2016, https://arxiv.org/abs/1603.02754","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"","code":"if (FALSE) { # \\dontrun{ # Add xgboost as an engine x <- distribution(background) |> engine_xgboost(iter = 4000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of multiple fitted models — ensemble","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Ensemble models calculated multiple models often shown outcompete single model comparative assessments (Valavi et al. 2022). function creates ensemble multiple provided distribution models fitted ibis.iSDM-package. model estimated predictions given method optional uncertainty form standard deviation similar. layer parameter can specified part prediction averaged ensemble. can instance mean prediction /standard deviation sd. See Details overview different methods. Also returns coefficient variation (cv) output ensemble, note interpreted measure model uncertainty capture parameter uncertainty individual models; rather reflects variation among predictions can due many factors including simply differences model complexity.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"","code":"ensemble( ..., method = \"mean\", weights = NULL, min.value = NULL, layer = \"mean\", normalize = FALSE, uncertainty = \"cv\", point = NULL, field_occurrence = \"observed\", apply_threshold = TRUE ) # S4 method for class 'ANY' ensemble( ..., method = \"mean\", weights = NULL, min.value = NULL, layer = \"mean\", normalize = FALSE, uncertainty = \"cv\", point = NULL, field_occurrence = \"observed\", apply_threshold = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"... Provided DistributionModel SpatRaster objects. method Approach ensemble created. See details available options (Default: 'mean'). weights (Optional) weights provided ensemble function weighted means constructed (Default: NULL). min.value optional numeric stating minimum value needs surpassed layer calculating ensemble (Default: NULL). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. normalize logical whether inputs ensemble normalized scale 0-1 (Default: FALSE). uncertainty character indicating uncertainty among models calculated. Available options include \"none\", standard deviation (\"sd\"), average PCA axes except first \"pca\", coefficient variation (\"cv\", Default) range lowest highest value (\"range\"). point sf object containing observational data used model training. Used method 'superlearner' (Default: NULL). field_occurrence character location biodiversity point records (Default: 'observed'). apply_threshold logical flag (Default: TRUE) specifying whether threshold values also created via \"method\". applies works DistributionModel thresholds found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"SpatRaster object containing ensemble provided predictions specified method coefficient variation across models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions. 'max' - maximum value across predictions. 'min' - minimum value across predictions. 'mode' - mode/modal values commonly occurring value. 'weighted.mean' - Calculates weighted mean. Weights supplied separately (e.g. TSS). 'min.sd' - Ensemble created minimizing uncertainty among predictions. 'threshold.frequency' - Returns ensemble based threshold frequency (simple count). Requires thresholds computed. 'pca' - Calculates PCA predictions algorithm extract first axis (one explaining variation). 'superlearner' - Composites two predictions 'meta-model' fitted top (using glm default). Requires binomial data current Setup. addition different ensemble methods, minimal threshold (min.value) can set needs surpassed averaging. default option used (Default: NULL). Note default band layer parameter composited. supported model summary statistics posterior (e.g. 'sd') can specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. case \"normalize\" parameter set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Valavi, R., Guillera‐Arroita, G., Lahoz‐Monfort, J. J., & Elith, J. (2022). Predictive performance presence‐species distribution models: benchmark study reproducible code. Ecological Monographs, 92(1), e01486.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"","code":"# Method works for fitted models as well as as rasters r1 <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .1)) r2 <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .5)) names(r1) <- names(r2) <- \"mean\" # Assumes previously computed predictions ex <- ensemble(r1, r2, method = \"mean\") terra::plot(ex)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"Similar ensemble() function, function creates ensemble partial responses provided distribution models fitted ibis.iSDM-package. layer parameter can specified part partial prediction averaged ensemble (given). can instance mean prediction /standard deviation sd. Ensemble partial also called one input DistributionModel object provided partial. default ensemble partial responses created average across models uncertainty standard deviation responses.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"","code":"ensemble_partial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, normalize = TRUE ) # S4 method for class 'ANY' ensemble_partial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, normalize = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"... Provided DistributionModel objects partial responses can called. future provided data.frames might supported well. x.var character variable ensemble created. method Approach ensemble created. See details options (Default: 'mean'). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. newdata optional data.frame SpatRaster object supplied model (DefaultL NULL). object needs identical names original predictors. normalize logical whether inputs ensemble normalized scale 0-1 (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"data.frame combined partial effects supplied models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. default response functions model normalized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed models ex <- ensemble_partial(mod1, mod2, mod3, method = \"mean\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"Similar ensemble() function, function creates ensemble partial responses provided distribution models fitted ibis.iSDM-package. layer parameter can specified part partial prediction averaged ensemble (given). can instance mean prediction /standard deviation sd. Ensemble partial also called one input DistributionModel object provided partial. default ensemble partial responses created average across models uncertainty standard deviation responses.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"","code":"ensemble_spartial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, min.value = NULL, normalize = TRUE ) # S4 method for class 'ANY' ensemble_spartial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, min.value = NULL, normalize = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"... Provided DistributionModel objects partial responses can called. future provided data.frames might supported well. x.var character variable ensemble created. method Approach ensemble created. See details options (Default: 'mean'). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. newdata optional data.frame SpatRaster object supplied model (DefaultL NULL). object needs identical names original predictors. min.value optional numeric stating minimum value needs surpassed layer calculating ensemble (Default: NULL). normalize logical whether inputs ensemble normalized scale 0-1 (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"SpatRaster object combined partial effects supplied models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. default response functions model normalized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed models ex <- ensemble_spartial(mod1, mod2, mod3, method = \"mean\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"function expects downscaled GLOBIOM output created BIOCLIMA project. Likely little use anyone outside IIASA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"","code":"formatGLOBIOM( fname, oftype = \"raster\", ignore = NULL, period = \"all\", template = NULL, shares_to_area = FALSE, use_gdalutils = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"fname filename character pointing GLOBIOM output netCDF format. oftype character denoting output type (Default: 'raster'). ignore vector variables ignored (Default: NULL). period character limiting period returned formatted data. Options include \"reference\" first entry, \"projection\" entries first, \"\" entries (Default: \"reference\"). template optional SpatRaster object towards projects transformed. shares_to_area logical whether shares corrected areas (identified). use_gdalutils (Deprecated) logical use gdalutils hack-around. verbose logical whether chatty.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"SpatRaster stack formatted GLOBIOM predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"","code":"if (FALSE) { # \\dontrun{ # Expects a filename pointing to a netCDF file. covariates <- formatGLOBIOM(fname) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Small helper function to obtain predictions from an object — get_data","title":"Small helper function to obtain predictions from an object — get_data","text":"function short helper function return fitted data DistributionModel BiodiversityScenario object. can used easily obtain example estimated prediction model projected scenario scenario() object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Small helper function to obtain predictions from an object — get_data","text":"","code":"get_data(obj, what = NULL) # S4 method for class 'ANY' get_data(obj, what = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Small helper function to obtain predictions from an object — get_data","text":"obj Provided DistributionModel BiodiversityScenario object. character specific layer returned existing (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Small helper function to obtain predictions from an object — get_data","text":"SpatRaster \"stars\" object depending input.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Small helper function to obtain predictions from an object — get_data","text":"function essentially identical querying internal function x$get_data() object. However attempt lazy character matching supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Small helper function to obtain predictions from an object — get_data","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed model get_data(fit) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"function performs nearest neighbour matching biodiversity observations independent predictors, operates directly provided data.frames. Note despite parallized function can rather slow large data volumes data!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"","code":"get_ngbvalue( coords, env, longlat = TRUE, field_space = c(\"x\", \"y\"), cheap = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"coords matrix, data.frame sf object. env data.frame object predictors. longlat logical variable indicating whether projection long-lat. field_space vector highlight columns coordinates extracted (Default: c('x','y')). cheap logical variable whether dataset considered large faster computation help. ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"data.frame extracted covariate data provided data point.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"Nearest neighbour matching done via geodist R-package (geodist::geodist).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"multiple values equal distance nearest neighbour check, results default averaged.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"Mark Padgham Michael D. Sumner (2021). geodist: Fast, Dependency-Free Geodesic Distance Calculations. R package version 0.0.7. https://CRAN.R-project.org/package=geodist","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"","code":"if (FALSE) { # \\dontrun{ # Create matchup table tab <- get_ngbvalue( coords = coords, # Coordinates env = env # Data.frame with covariates and coordinates ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Create priors from an existing distribution model — get_priors","title":"Create priors from an existing distribution model — get_priors","text":"Often can make sense fit additional model get grasp range values \"beta\" parameters can take. function takes existing BiodiversityDistribution object creates PriorList object . resulting object can used add instance priors new model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create priors from an existing distribution model — get_priors","text":"","code":"get_priors(mod, target_engine, ...) # S4 method for class 'ANY,character' get_priors(mod, target_engine, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create priors from an existing distribution model — get_priors","text":"mod fitted DistributionModel object. instead BiodiversityDistribution object passed function, simply returns contained priors used estimation (). target_engine character priors created. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create priors from an existing distribution model — get_priors","text":"engines support priors similar ways. See vignettes help pages topic!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create priors from an existing distribution model — get_priors","text":"","code":"if (FALSE) { # \\dontrun{ mod <- distribution(background) |> add_predictors(covariates) |> add_biodiversity_poipo(points) |> engine_inlabru() |> train() get_priors(mod, target_engine = \"BART\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to extract point values directly from a SpatRaster — get_rastervalue","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"function simply extracts values provided SpatRaster, SpatRasterDataset SpatRasterCollection object. points NA values extracted small buffer applied try obtain remaining values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"","code":"get_rastervalue(coords, env, ngb_fill = TRUE, rm.na = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"coords data.frame, matrix sf object. env SpatRaster object provided predictors. ngb_fill logical whether cells interpolated neighbouring values. rm.na logical parameter - set - removes rows missing data point (NA) result.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"data.frame extracted covariate data provided data point.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"essentially wrapper terra::extract.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"","code":"# Dummy raster: r <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .1)) # (dummy points) pp <- terra::spatSample(r,20,as.points = TRUE) |> sf::st_as_sf() # Extract values vals <- get_rastervalue(pp, r) head(vals) #> ID lyr.1 x y #> 1 1 0.6782599 1.225 -1.175 #> 2 2 0.6420574 -0.225 0.925 #> 3 3 0.5397701 0.075 -1.425 #> 4 4 0.4993814 0.975 0.775 #> 5 5 0.5545246 0.175 1.275 #> 6 6 0.4226162 0.625 0.625"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis.iSDM.html","id":null,"dir":"Reference","previous_headings":"","what":"ibis.iSDM — ibis.iSDM","title":"ibis.iSDM — ibis.iSDM","text":"Integrated framework modelling distribution species ecosystems suitability framing. package allows estimation integrated species distribution models (iSDM) based several sources evidence provided presence-presence-absence datasets. makes heavy use point-process models estimating habitat suitability allows include spatial latent effects priors estimation. 'ibis.iSDM' supports number engines Bayesian non-parametric machine learning estimation. , 'ibis.iSDM' specifically customized support spatial-temporal projections habitat suitability future.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis.iSDM.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"ibis.iSDM — ibis.iSDM","text":"Maintainer: Martin Jung jung@iiasa.ac.(ORCID) [copyright holder] contributors: Maximilian H.K. Hesselbarth hesselbarth@iiasa.ac.(ORCID) [contributor]","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":null,"dir":"Reference","previous_headings":"","what":"Install ibis dependencies — ibis_dependencies","title":"Install ibis dependencies — ibis_dependencies","text":"dependencies (R-Packages) ibis.iSDM relies intention added Description file keep number mandatory dependencies small enable package run even systems might libraries pre-installed. function provides convenience wrapper install missing dependencies needed. furthermore checks packages require updating updates needed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install ibis dependencies — ibis_dependencies","text":"","code":"ibis_dependencies(deps = getOption(\"ibis.dependencies\"), update = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install ibis dependencies — ibis_dependencies","text":"deps vector names packages installed (Default: \"ibis.dependencies\" ibis_options). update logical flag whether (installed) packages also checked updates (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Install ibis dependencies — ibis_dependencies","text":"Nothing. Packages installed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Install ibis dependencies — ibis_dependencies","text":"INLA handled special way available via cran.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install ibis dependencies — ibis_dependencies","text":"","code":"if (FALSE) { # \\dontrun{ # Install and update all dependencies ibis_dependencies() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the parallel processing flag to TRUE — ibis_enable_parallel","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"Small helper function enable parallel processing. set TRUE, parallel inference (supported engines) projection enabled across package. enabling prediction support beyond sequential prediction see ibis_future function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"","code":"ibis_enable_parallel()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"Invisible","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":null,"dir":"Reference","previous_headings":"","what":"Internal function to enable (a)synchronous parallel processing — ibis_future","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"function checks parallel processing can set enables . Ideally done user control! package parallelization usually used predictions projections, inference case parallel inference handled engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"","code":"ibis_future( plan_exists = FALSE, cores = getOption(\"ibis.nthread\", default = 2), strategy = getOption(\"ibis.futurestrategy\"), workers = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"cores numeric number stating number cores use. strategy character denoting strategy used future. See help future options. (Default: \"multisession\"). workers optional list remote machines workers, e.g. \"c(remote.server.org)\". Alternatively \"cluster\" object can provided.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"Currently supported strategies : \"sequential\" = Resolves futures sequentially current R process (Package default). \"multisession\" = Resolves futures asynchronously across 'cores' sessions. \"multicore\" = Resolves futures asynchronously across forked processes. works UNIX systems! \"cluster\" = Resolves futures asynchronously sessions machines. \"slurm\" = implemented: Slurm linkage via batchtools.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"'plan' set future exists function executed. aim parallize across many species, better done scripted solution. Make sure parallize predictions within existing clusters avoid --memory issues.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"","code":"if (FALSE) { # \\dontrun{ # Starts future job. F in this case is a prediction function. ibis_future(cores = 4, strategy = \"multisession\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Print ibis options — ibis_options","title":"Print ibis options — ibis_options","text":"number hidden options can specified ibis.iSDM. Currently supported : 'ibis.runparallel' : logical value whether processing run parallel. 'ibis.nthread' : numeric value many cores used default. 'ibis.setupmessages' : logical value indicating whether message object creation shown (Default: NULL). 'ibis.engines' : Returns vector valid engines. 'ibis.use_future' : logical whether future package used parallel computing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print ibis options — ibis_options","text":"","code":"ibis_options()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print ibis options — ibis_options","text":"output getOptions ibis related variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print ibis options — ibis_options","text":"","code":"ibis_options() #> $ibis.cleannames #> [1] TRUE #> #> $ibis.corPred #> [1] 0.7 #> #> $ibis.dependencies #> [1] \"pdp\" \"scales\" \"biscale\" \"modEvA\" #> [5] \"dplyr\" \"geodist\" \"geosphere\" \"progress\" #> [9] \"glmnet\" \"glmnetUtils\" \"xgboost\" \"BoomSpikeSlab\" #> [13] \"INLA\" \"inlabru\" \"gnlm\" \"cubelyr\" #> [17] \"matrixStats\" \"Boruta\" \"abess\" \"gdalUtilities\" #> [21] \"dbarts\" \"mboost\" \"rstan\" \"cmdstanr\" #> [25] \"biscale\" \"poems\" \"BiocManager\" #> #> $ibis.engines #> [1] \"GDB-Model\" \"BART-Model\" \"INLABRU-Model\" \"BREG-Model\" #> [5] \"GLMNET-Model\" \"GLM-Model\" \"SCAMPR-Model\" \"INLA-Model\" #> [9] \"STAN-Model\" \"XGBOOST-Model\" #> #> $ibis.futurestrategy #> [1] \"sequential\" #> #> $ibis.nthread #> [1] 3 #> #> $ibis.priors #> [1] \"INLAPrior\" \"BARTPrior\" \"GDBPrior\" \"GLMNETPrior\" \"XGBPrior\" #> [6] \"BREGPrior\" \"STANPrior\" #> #> $ibis.pseudoabsence #> Background Settings: 5 parameters #> #> $ibis.runparallel #> [1] FALSE #> #> $ibis.seed #> [1] 12179 #> #> $ibis.setupmessages #> [1] TRUE #>"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the number of threads for parallel processing. — ibis_set_strategy","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Small helper function respecify strategy parallel processing (Default: 'sequential').","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"","code":"ibis_set_strategy(strategy = \"sequential\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"strategy character strategy.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Currently supported strategies : \"sequential\" = Resolves futures sequentially current R process (Package default). \"multisession\" = Resolves futures asynchronously across 'cores' sessions. \"multicore\" = Resolves futures asynchronously across forked processes. works UNIX systems! \"cluster\" = Resolves futures asynchronously sessions machines. \"slurm\" = implemented: Slurm linkage via batchtools.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the threads for parallel processing. — ibis_set_threads","title":"Set the threads for parallel processing. — ibis_set_threads","text":"Small helper function respecify number threads parallel processing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the threads for parallel processing. — ibis_set_threads","text":"","code":"ibis_set_threads(threads = 2)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the threads for parallel processing. — ibis_set_threads","text":"threads numeric greater thna 0.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the threads for parallel processing. — ibis_set_threads","text":"Invisible","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":null,"dir":"Reference","previous_headings":"","what":"Approximate missing time steps between dates — interpolate_gaps","title":"Approximate missing time steps between dates — interpolate_gaps","text":"function linearly approximates shares time steps, gaps instance 2010 2020 filled data 2010, 2011, 2012, etc.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Approximate missing time steps between dates — interpolate_gaps","text":"","code":"interpolate_gaps(env, date_interpolation = \"annual\", method = \"linear\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Approximate missing time steps between dates — interpolate_gaps","text":"env stars object. date_interpolation character missing dates events interpolated. See project(). method character used method approximation, either \"linear\" (Default) \"constant\" step function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Approximate missing time steps between dates — interpolate_gaps","text":"logical indicating two SpatRaster objects ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Approximate missing time steps between dates — interpolate_gaps","text":"","code":"if (FALSE) { # \\dontrun{ # Interpolate stars stack sc <- interpolate_gaps( stack, \"annual\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":null,"dir":"Reference","previous_headings":"","what":"Check whether a provided object is truly of a specific type — is.Id","title":"Check whether a provided object is truly of a specific type — is.Id","text":"Check whether provided object truly specific type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check whether a provided object is truly of a specific type — is.Id","text":"","code":"is.Id(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check whether a provided object is truly of a specific type — is.Id","text":"x provided Id object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check whether a provided object is truly of a specific type — is.Id","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Tests if an input is a SpatRaster object. — is.Raster","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"Tests input SpatRaster object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"","code":"is.Raster(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"x R Object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":null,"dir":"Reference","previous_headings":"","what":"Is the provided object of type waiver? — is.Waiver","title":"Is the provided object of type waiver? — is.Waiver","text":"provided object type waiver?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Is the provided object of type waiver? — is.Waiver","text":"","code":"is.Waiver(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Is the provided object of type waiver? — is.Waiver","text":"x provided Waiver object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Is the provided object of type waiver? — is.Waiver","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":null,"dir":"Reference","previous_headings":"","what":"Check whether a formula is valid — is.formula","title":"Check whether a formula is valid — is.formula","text":"Check whether formula valid","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check whether a formula is valid — is.formula","text":"","code":"is.formula(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check whether a formula is valid — is.formula","text":"x character object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check whether a formula is valid — is.formula","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":null,"dir":"Reference","previous_headings":"","what":"Tests if an input is a stars object. — is.stars","title":"Tests if an input is a stars object. — is.stars","text":"Tests input stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tests if an input is a stars object. — is.stars","text":"","code":"is.stars(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tests if an input is a stars object. — is.stars","text":"x R Object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tests if an input is a stars object. — is.stars","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":null,"dir":"Reference","previous_headings":"","what":"Identify local limiting factor — limiting","title":"Identify local limiting factor — limiting","text":"Calculates SpatRaster locally limiting factors given projected model. calculate first spartial effect individual covariate model calculated. effect estimated variable responsible decreasing suitability cell. decrease suitability calculated, predictor turn, relative thesuitability achieved predictor took value equal mean predictor associated largest decrease suitability limiting factor.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identify local limiting factor — limiting","text":"","code":"limiting(mod, plot = TRUE) # S4 method for class 'ANY' limiting(mod, plot = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Identify local limiting factor — limiting","text":"mod fitted 'DistributionModel' object limited factors identified. plot result plotted? (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identify local limiting factor — limiting","text":"terra object important variable given grid cell.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Identify local limiting factor — limiting","text":"Elith, J., Kearney, M. Phillips, S. (2010), art modelling range-shifting species. Methods Ecology Evolution, 1: 330-342. doi: 10.1111/j.2041-210X.2010.00036.x","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identify local limiting factor — limiting","text":"","code":"if (FALSE) { # \\dontrun{ o <- limiting(fit) plot(o) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Load a pre-computed model — load_model","title":"Load a pre-computed model — load_model","text":"load_model function (opposed write_model) loads previous saved DistributionModel. essentially wrapper readRDS. models loaded, briefly checked validity presence necessary components.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Load a pre-computed model — load_model","text":"","code":"load_model(fname, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'character' load_model(fname, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Load a pre-computed model — load_model","text":"fname character depicting output filename. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Load a pre-computed model — load_model","text":"DistributionModel object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Load a pre-computed model — load_model","text":"","code":"if (FALSE) { # \\dontrun{ # Load model mod <- load_model(\"testmodel.rds\") summary(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":null,"dir":"Reference","previous_headings":"","what":"Mask data with an external layer — mask","title":"Mask data with an external layer — mask","text":"helper function takes existing object created ibis.iSDM package external layer, intersects . currently takes either DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario input. mask either sf SpatRaster object can chosen. mask converted internally depending object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mask data with an external layer — mask","text":"","code":"mask.DistributionModel(x, mask, inverse = FALSE, ...) mask.BiodiversityDatasetCollection(x, mask, inverse = FALSE, ...) mask.PredictorDataset(x, mask, inverse = FALSE, ...) mask.BiodiversityScenario(x, mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Mask data with an external layer — mask","text":"x object belonging DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario. mask sf SpatRaster object. inverse logical flag whether take inverse mask instead (Default: FALSE). ... Passed arguments","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Mask data with an external layer — mask","text":"respective object input type.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Mask data with an external layer — mask","text":"","code":"if (FALSE) { # \\dontrun{ # Build and train a model mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() # Constrain the prediction by another object mod <- mask(mod, speciesrange) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the mode of a provided vector — modal","title":"Calculate the mode of a provided vector — modal","text":"Calculate mode provided vector","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the mode of a provided vector — modal","text":"","code":"modal(x, na.rm = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the mode of a provided vector — modal","text":"na.rm logical whether NA values removed (Default: TRUE) vector values characters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the mode of a provided vector — modal","text":"common (mode) estimate.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the mode of a provided vector — modal","text":"","code":"# Example modal(trees$Girth) #> Error: unable to find an inherited method for function ‘modal’ for signature ‘x = \"numeric\"’"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":null,"dir":"Reference","previous_headings":"","what":"Custom messaging function for scripts — myLog","title":"Custom messaging function for scripts — myLog","text":"functions prints message custom header colour.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Custom messaging function for scripts — myLog","text":"","code":"myLog(title = \"[Processing]\", col = \"green\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Custom messaging function for scripts — myLog","text":"title title log output col character indicating text colour used. Supported 'green' / 'yellow' / 'red' ... additional outputs words display","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Custom messaging function for scripts — myLog","text":"","code":"if (FALSE) { # \\dontrun{ myLog(\"[Setup]\", \"red\", \"Some error occurred during data preparation.\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":null,"dir":"Reference","previous_headings":"","what":"Identifier — new_id","title":"Identifier — new_id","text":"Generate new unique identifier.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identifier — new_id","text":"","code":"new_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identifier — new_id","text":"\"Id\" object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Identifier — new_id","text":"Identifiers made using uuid::UUIDgenerate().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identifier — new_id","text":"","code":"# create new id i <- new_id() # print id print(i) #> id: be93a870-f305-41af-aac8-cd4a6b4be59a # convert to character as.character(i) #> [1] \"be93a870-f305-41af-aac8-cd4a6b4be59a\" # check if it is an Id object is.Id(i) #> [1] TRUE"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":null,"dir":"Reference","previous_headings":"","what":"Waiver — new_waiver","title":"Waiver — new_waiver","text":"Create waiver object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Waiver — new_waiver","text":"","code":"new_waiver()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Waiver — new_waiver","text":"Object class Waiver.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Waiver — new_waiver","text":"object used represent user manually specified setting, defaults used. explicitly using new_waiver(), means NULL objects can valid setting. use \"waiver\" object inspired ggplot2 prioritizr package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Waiver — new_waiver","text":"","code":"# create new waiver object w <- new_waiver() # print object print(w) #> list() #> attr(,\"class\") #> [1] \"Waiver\" # is it a waiver object? is.Waiver(w) #> [1] TRUE"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtain partial effects of trained model — partial","title":"Obtain partial effects of trained model — partial","text":"Create partial response effect plot trained model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtain partial effects of trained model — partial","text":"","code":"partial( mod, x.var = NULL, constant = NULL, variable_length = 100, values = NULL, newdata = NULL, plot = FALSE, type = \"response\", ... ) # S4 method for class 'ANY' partial( mod, x.var = NULL, constant = NULL, variable_length = 100, values = NULL, newdata = NULL, plot = FALSE, type = \"response\", ... ) partial.DistributionModel(mod, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtain partial effects of trained model — partial","text":"mod trained DistributionModel object fit_best model within. x.var character indicating variable partial effect calculated. constant numeric constant inserted variables. Default calculates mean per variable. variable_length numeric interpolation depth (nr. points) used (Default: 100). values numeric Directly specified values compute partial effects . parameter set anything NULL, parameter \"variable_length\" ignored (Default: NULL). newdata optional data.frame provided data partial estimation (Default: NULL). plot logical indication whether result plotted? type specified type, either 'response' 'predictor'. Can missing. ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Obtain partial effects of trained model — partial","text":"data.frame created partial response.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Obtain partial effects of trained model — partial","text":"default mean calculated across parameters x.var. Instead constant can set (instance 0) applied output.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Obtain partial effects of trained model — partial","text":"","code":"if (FALSE) { # \\dontrun{ # Do a partial calculation of a trained model partial(fit, x.var = \"Forest.cover\", plot = TRUE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":null,"dir":"Reference","previous_headings":"","what":"Visualize the density of the data over the environmental data — partial_density","title":"Visualize the density of the data over the environmental data — partial_density","text":"Based fitted model, plot density observations estimated variable environmental space. Opposed partial spartial functions, rather low-level interfaces, function provides detail light data. also able contrast different variables show used data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Visualize the density of the data over the environmental data — partial_density","text":"","code":"partial_density(mod, x.var, df = FALSE, ...) # S4 method for class 'ANY,character' partial_density(mod, x.var, df = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Visualize the density of the data over the environmental data — partial_density","text":"mod trained DistributionModel object. Requires fitted model inferred prediction. x.var character indicating variable investigated. Can vector length 1 2. df logical plotting data returned instead (Default: FALSE). ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Visualize the density of the data over the environmental data — partial_density","text":"ggplot2 object showing marginal response light data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Visualize the density of the data over the environmental data — partial_density","text":"functions calculates observed density presence absence points whole surface specific variable. can used visually inspect fit model data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Visualize the density of the data over the environmental data — partial_density","text":"default variables x.var hold constant mean.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Visualize the density of the data over the environmental data — partial_density","text":"Warren, D.L., Matzke, N.J., Cardillo, M., Baumgartner, J.B., Beaumont, L.J., Turelli, M., Glor, R.E., Huron, N.., Simões, M., Iglesias, T.L. Piquet, J.C., Dinnage, R. 2021. ENMTools 1.0: R package comparative ecological biogeography. Ecography, 44(4), pp.504-511.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Visualize the density of the data over the environmental data — partial_density","text":"","code":"if (FALSE) { # \\dontrun{ # Do a partial calculation of a trained model partial_density(fit, x.var = \"Forest.cover\") # Or with two variables partial_density(fit, x.var = c(\"Forest.cover\", \"bio01\")) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot wrappers — plot","title":"Plot wrappers — plot","text":"Plots information given object plotting object available.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot wrappers — plot","text":"","code":"# S3 method for class 'DistributionModel' plot(x, what = \"mean\", ...) # S3 method for class 'BiodiversityDatasetCollection' plot(x, ...) # S3 method for class 'PredictorDataset' plot(x, ...) # S3 method for class 'Engine' plot(x, ...) # S3 method for class 'BiodiversityScenario' plot(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot wrappers — plot","text":"x object belonging DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario. case SpatRaster supplied, parameter specifies layer shown (Default: \"mean\"). ... arguments passed x$plot.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot wrappers — plot","text":"Graphical output","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot wrappers — plot","text":"plotted outputs vary depending object plotted. example fitted DistributionModel output usually fitted spatial prediction (Default: 'mean').","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot wrappers — plot","text":"","code":"if (FALSE) { # \\dontrun{ # Build and train a model mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() # Plot the resulting model plot(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"function simulates posterior created stan model, therefore providing fast efficient way project coefficients obtained Bayesian models new/novel contexts.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"","code":"posterior_predict_stanfit( obj, form, newdata, type = \"predictor\", family = NULL, offset = NULL, draws = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"obj \"stanfit\" object (used rstan). form formula object created DistributionModel. newdata data.frame new data used prediction. type character whether linear predictor response summarized. family character giving family simulating linear response values (Default: NULL) offset vector optionally specified offset. draws numeric indicating whether specific number draws taken.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"https://medium.com/@alex.pavlakis/making-predictions--stan-models--r-3e349dfac1ed. brms R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":null,"dir":"Reference","previous_headings":"","what":"Create spatial derivative of raster stacks — predictor_derivate","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"function creates derivatives existing covariates returns Raster format. Derivative variables can machine learning literature commonly understood one aspect feature engineering. can particularly powerful introducing non-linearities otherwise linear models, example often done popular Maxent framework.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"","code":"predictor_derivate( env, option, nknots = 4, deriv = NULL, int_variables = NULL, method = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"env SpatRaster object. option vector stating whether predictors preprocessed way (Options: 'none', 'quadratic', 'hinge', 'thresh', 'bin'). nknots number knots used transformation (Default: 4). deriv vector character specific derivates create (Default: NULL). int_variables vector length greater equal 2 specifying covariates (Default: NULL). method 'option' intuitive method setting. Can left empty (case option set). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"Returns derived adjusted SpatRaster objects identical resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"Available options : 'none' - original layer(s) returned. 'quadratic' - quadratic transformation (\\(x^{2}\\)) created provided layers. 'hinge' - Creates hinge transformation covariates, set values lower set threshold 0 others range \\([0,1]\\). number thresholds thus new derivates specified via parameter 'nknots' (Default: 4). 'interaction' - Creates interactions variables. Target variables specified via \"int_variables\". 'thresh' - threshold transformation covariates, sets values lower set threshold 0 larger 1. number thresholds thus new derivates specified via parameter 'nknots' (Default: 4). 'bin' - Creates factor representation covariates cutting range covariates percentiles. number percentile cuts thus new derivates specified via parameter 'nknots' (Default: 4). 'kmeans' Creates factor representation covariates kmeans() clustering. number clusters specified via parameter 'nknots'.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"","code":"# Dummy raster r_ori <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rpois(3600, 10)) # Create a hinge transformation with 4 knots of one or multiple SpatRaster. new <- predictor_derivate(r_ori, option = \"hinge\", knots = 4) terra::plot(new)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter a set of correlated predictors to fewer ones — predictor_filter","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"function helps remove highly correlated variables set predictors. supports multiple options require environmental predictors observations, others predictors. options require different packages pre-installed, ranger Boruta.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"","code":"predictor_filter(env, keep = NULL, method = \"pearson\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"env data.frame matrix extracted environmental covariates given species. keep vector variables keep regardless. usually variables prior information known. method method use constructing correlation matrix (Options: 'pearson' (Default), 'spearman'| 'kendal'), \"abess\", \"boruta\". ... options specific method","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"character vector variable names excluded. function fails due reason return NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"Available options : \"none\" prior variable removal performed (Default). \"pearson\", \"spearman\" \"kendall\" Makes use pairwise comparisons identify remove highly collinear predictors (Pearson's r >= 0.7). \"abess\" -priori adaptive best subset selection covariates via abess package (see References). Note effectively fits separate generalized linear model reduce number covariates. \"boruta\" Uses Boruta package identify non-informative features.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"Using function predictors effectively means separate model fitted data assumptions come (e.g. linearity, appropriateness response, normality, etc).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"","code":"if (FALSE) { # \\dontrun{ # Remove highly correlated predictors env <- predictor_filter( env, option = \"pearson\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":null,"dir":"Reference","previous_headings":"","what":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"method allows homogenization missing data across set environmental predictors. default called predictors added BiodiversityDistribution object. grid cells NAs contain values raster layers homogenized. Additional parameters allow instead homogenization fill missing data neighbouring values","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"","code":"predictor_homogenize_na( env, fill = FALSE, fill_method = \"ngb\", return_na_cells = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"env SpatRaster object predictors. fill logical value indicating whether missing data filled (Default: FALSE). fill_method character method filling gaps used (Default: 'ngb'). return_na_cells logical value whether ids grid cells NA values returned instead (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"SpatRaster object number layers input.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"","code":"if (FALSE) { # \\dontrun{ # Harmonize predictors env <- predictor_homogenize_na(env) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":null,"dir":"Reference","previous_headings":"","what":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"function allows transformation provided environmental predictors (SpatRaster format). common use case instance standardization (scaling) predictors prior model fitting. function works SpatRaster well stars objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"","code":"predictor_transform( env, option, windsor_props = c(0.05, 0.95), pca.var = 0.8, state = NULL, method = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"env SpatRaster stars object. option vector stating whether predictors preprocessed way (Options: 'none', 'scale', 'norm', 'windsor', 'windsor_thresh', 'percentile' 'pca', 'revjack'). See Details. windsor_props numeric vector specifying proportions clipped windsorization (Default: c(.05,.95)). pca.var numeric value >0 1 stating minimum amount variance covered (Default: 0.8). state matrix one value per variable (column) providing either ( stats::mean(), stats::sd() ) variable env option 'scale' range minimum maximum values option 'norm'. Effectively applies value range rescaling. (Default: NULL). method 'option' intuitive method setting. Can left empty (case option set). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"Returns adjusted SpatRaster object identical resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"Available options : 'none' original layer(s) returned. 'scale' run scale() function default settings (1 Standard deviation) across predictors. sensible default model fitting. 'norm' normalizes predictors range 0-1. 'windsor' applies 'windsorization' existing raster layer setting lowest, respectively largest values value certain percentage level (e.g. 95%). can set via parameter \"windsor_props\". 'windsor_thresh' option 'windsor', however case values clamped thresholds rather certain percentages calculated data. 'percentile' converts bins values percentiles, e.g. top 10% lowest 10% values . 'pca' option runs principal component decomposition predictors (via prcomp()). returns new predictors resembling components order important ones. Can useful reduce collinearity, however note changes predictor names 'PCX', X number component. parameter 'pca.var' can modified specify minimum variance covered axes. 'revjack' Removes outliers supplied stack via reverse jackknife procedure. Identified outliers default set NA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"future covariates rescaled normalized, highly recommended use statistical moments models trained variable transformations, also ensure variable ranges consistent among relative values.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"","code":"# Dummy raster r_ori <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .01,sd = .1)) # Normalize r_norm <- predictor_transform(r_ori, option = 'norm') new <- c(r_ori, r_norm) names(new) <- c(\"original scale\", \"normalized units\") terra::plot(new)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":null,"dir":"Reference","previous_headings":"","what":"Print — print","title":"Print — print","text":"Display information object created ibis.iSDM R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print — print","text":"","code":"# S3 method for class 'distribution' print(x, ...) # S3 method for class 'BiodiversityDistribution' print(x, ...) # S3 method for class 'BiodiversityDatasetCollection' print(x, ...) # S3 method for class 'BiodiversityDataset' print(x, ...) # S3 method for class 'PredictorDataset' print(x, ...) # S3 method for class 'DistributionModel' print(x, ...) # S3 method for class 'BiodiversityScenario' print(x, ...) # S3 method for class 'Prior' print(x, ...) # S3 method for class 'PriorList' print(x, ...) # S3 method for class 'Engine' print(x, ...) # S3 method for class 'Settings' print(x, ...) # S3 method for class 'Log' print(x, ...) # S3 method for class 'Id' print(x, ...) # S4 method for class 'Id' print(x, ...) # S4 method for class 'tbl_df' print(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print — print","text":"x object created package. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print — print","text":"Object specific.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print — print","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is fitted object mod print(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Creates a new PriorList object — priors","title":"Creates a new PriorList object — priors","text":"PriorList object essentially list contains individual Prior objects. order use priors engines, respective Prior identified (e.g. INLAPrior) embedded PriorList object. Afterwards objects can added distribution object add_priors function. PriorList object essentially list contains individual Prior objects. order use priors engines, respective Prior identified (e.g. INLAPrior) embedded PriorList object. Afterwards objects can added distribution object add_priors function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Creates a new PriorList object — priors","text":"","code":"priors(x, ...) # S4 method for class 'ANY' priors(x, ...) priors(x, ...) # S4 method for class 'ANY' priors(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Creates a new PriorList object — priors","text":"x Prior object added list. ... One multiple additional Prior object added list.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Creates a new PriorList object — priors","text":"PriorList object. PriorList object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Creates a new PriorList object — priors","text":"","code":"p1 <- GDBPrior(variable = \"Forest\", hyper = \"positive\") p2 <- GDBPrior(variable = \"Urban\", hyper = \"decreasing\") priors(p1, p2) #> Set priors: 2 if (FALSE) { # \\dontrun{ p1 <- INLAPrior(variable = \"Forest\",type = \"normal\", hyper = c(1,1e4)) p2 <- INLAPrior(variable = \"Urban\",type = \"normal\", hyper = c(0,1e-2)) priors(p1, p2) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":null,"dir":"Reference","previous_headings":"","what":"Project a fitted model to a new environment and covariates — project","title":"Project a fitted model to a new environment and covariates — project","text":"Equivalent train, function acts wrapper project model stored BiodiversityScenario object newly supplied (future) covariates. Supplied predictors usually spatial-temporal predictors prepared via add_predictors() (e.g. transformations derivates) way initial modelling distribution(). constrains specified scenario object applied projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Project a fitted model to a new environment and covariates — project","text":"","code":"project.BiodiversityScenario(x, ...) # S4 method for class 'BiodiversityScenario' project( x, date_interpolation = \"none\", stabilize = FALSE, stabilize_method = \"loess\", layer = \"mean\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Project a fitted model to a new environment and covariates — project","text":"x BiodiversityScenario object set predictors. Note constrains MigClim can still simulate future change without projections. ... passed parameters. date_interpolation character whether dates interpolated. Options include \"none\" (Default), \"annual\", \"monthly\", \"daily\". stabilize logical value indicating whether suitability projection stabilized (Default: FALSE). stabilize_method character stating stabilization method applied. Currently supported `loess`. layer character specifying layer projected (Default: \"mean\"). verbose Setting logical value TRUE prints information model fitting (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Project a fitted model to a new environment and covariates — project","text":"Saves stars objects obtained predictions mod.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Project a fitted model to a new environment and covariates — project","text":"background function x$project() respective model object called, x fitted model object. specifics constraints, see relevant constrain functions, respectively: add_constraint() generic wrapper add available constrains. add_constraint_dispersal() specifying dispersal constraint temporal projections step. add_constraint_MigClim() Using MigClim R-package simulate dispersal projections. add_constraint_connectivity() Apply connectivity constraint projection, instance adding barrier prevents migration. add_constraint_minsize() Adds constraint minimum area given thresholded patch , assuming smaller areas fact suitable. add_constraint_adaptability() Apply adaptability constraint projection, instance constraining speed species able adapt new conditions. add_constraint_boundary() artificially limit distribution change. Similar specifying projection limits, can used specifically constrain projection within certain area (e.g. species range island). Many constrains also requires thresholds calculated. Adding threshold() BiodiversityScenario object enables computation thresholds every step based threshold used main model (threshold values taken ). also possible make complementary simulation steps package, can provided via simulate_population_steps() BiodiversityScenario object. Similar thresholds, estimates values added outputs. Finally function also allows temporal stabilization across prediction steps via enabling parameter stabilize checking stablize_method argument. Stabilization can instance helpful situations environmental variables quite dynamic, changes projected suitability expected abruptly increase decrease. thus way smoothen outliers projection. Options far instance 'loess' fits loess() model per pixel time step. conducted processing steps thresholds recalculated afterwards.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Project a fitted model to a new environment and covariates — project","text":"","code":"if (FALSE) { # \\dontrun{ # Fit a model fit <- distribution(background) |> add_biodiversity_poipa(surveydata) |> add_predictors(env = predictors) |> engine_breg() |> train() # Fit a scenario sc <- scenario(fit) |> add_predictors(env = future_predictors) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":null,"dir":"Reference","previous_headings":"","what":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"function defines settings pseudo-absence sampling background. many engines points necessary model Poisson (Binomial) distributed point process data. Specifically call absence points Binomial (Bernoulli really) distributed responses 'pseudo-absence' absence data Poisson responses 'background' points. details read Renner et al. (2015). function 'add_pseudoabsence' allows add absence points sf object. See Details additional parameter description examples 'turn' presence-dataset presence-(pseudo-)absence.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"","code":"pseudoabs_settings( background = NULL, nrpoints = 10000, min_ratio = 0.25, method = \"random\", buffer_distance = 10000, inside = FALSE, layer = NULL, bias = NULL, ... ) # S4 method for class 'ANY' pseudoabs_settings( background = NULL, nrpoints = 10000, min_ratio = 0.25, method = \"random\", buffer_distance = 10000, inside = FALSE, layer = NULL, bias = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"background SpatRaster sf object background points can sampled. Default NULL (Default) background added sampling first called. nrpoints numeric given number absence points created. larger 0 normally points created excess number cells background (Default: 10000). min_ratio numeric minimum ratio background points relative presence points. Setting value 1 generates equal amount absence points relative presence points. Usually ignored unless ratio exceeds nrpoints parameters (Default: 0.25). method character denoting sampling done. See details options (Default: \"random\"). buffer_distance numeric distance observations pseudo-absence points generated. Note units follow units projection (e.g. m °). used method = \"buffer\". inside logical value whether absence points sampled outside (Default) inside minimum convex polygon range provided respective method chosen (parameter method = \"mcp\" method = \"range\"). layer sf SpatRaster (case method 'zones') object indicating range species. used method = \"range\" method = \"zones\" (Default: NULL). bias SpatRaster extent projection background. Absence points preferentially sampled areas higher (!) bias. (Default: NULL). ... settings added pseudoabs settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"multiple methods available sampling biased background layer. Possible parameters method : 'random' Absence points generated randomly background (Default), 'buffer' Absence points generated within buffered distance existing points. option requires specification parameter buffer_distance. 'mcp' Can used generate absence points within outside minimum convex polygon presence points. parameter inside specifies whether points sampled inside outside (Default) minimum convex polygon. 'range' Absence points created either inside outside provided additional layer indicates example range species (controlled parameter inside). 'zones' ratified (e.g. type factor) SpatRaster layer depicting zones absence points sampled. method checks points fall within zones samples absence points either within outside zones exclusively. 'layer' 'inside' set option. 'target' Make use target background sampling absence points. SpatRaster object provided parameter 'layer'. Absence points sampled exclusively within target areas grid cells non-zero values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"Renner IW, Elith J, Baddeley , Fithian W, Hastie T, Phillips SJ, Popovic G, Warton DI. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379. DOI: 10.1111/2041-210X.12352. Renner, . W., & Warton, D. . (2013). Equivalence MAXENT Poisson point process models species distribution modeling ecology. Biometrics, 69(1), 274-281.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"","code":"if (FALSE) { # \\dontrun{ # This setting generates 10000 pseudo-absence points outside the # minimum convex polygon of presence points ass1 <- pseudoabs_settings(nrpoints = 10000, method = 'mcp', inside = FALSE) # This setting would match the number of presence-absence points directly. ass2 <- pseudoabs_settings(nrpoints = 0, min_ratio = 1) # These settings can then be used to add pseudo-absence data to a # presence-only dataset. This effectively adds these simulated absence # points to the resulting model all_my_points <- add_pseudoabsence( df = virtual_points, field_occurrence = 'observed', template = background, settings = ass1) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":null,"dir":"Reference","previous_headings":"","what":"render_html — render_html","title":"render_html — render_html","text":"Renders DistributionModel HTML","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"render_html — render_html","text":"","code":"render_html(mod, file, title = NULL, author = NULL, notes = \"-\", ...) # S4 method for class 'ANY' render_html(mod, file, title = NULL, author = NULL, notes = \"-\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"render_html — render_html","text":"mod object belonging DistributionModel file Character path file. title Character title document. author Character name author. notes Character notes added beginning document. ... Currently used","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"render_html — render_html","text":"Writes HTML file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"render_html — render_html","text":"Renders HTML file several summaries trained DistributionModel. file paths must HTML file ending. functions creates temporary Rmd file gets renders HTML using file argument.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"render_html — render_html","text":"","code":"if (FALSE) { # \\dontrun{ mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() render_html(mod, file = \"Test.html\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"Remove particular dataset () distribution object BiodiversityDatasetCollection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"","code":"rm_biodiversity(x, name, id) # S4 method for class 'BiodiversityDistribution' rm_biodiversity(x, name, id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"x distribution() (.e. BiodiversityDistribution) object. name character name biodiversity dataset. id character id biodiversity dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_biodiversity_poipa(species, \"Duckus communus\") rm_biodiversity(names = \"Duckus communus\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove control from an existing distribution object — rm_control","title":"Remove control from an existing distribution object — rm_control","text":"function allows remove set control obtions existing distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove control from an existing distribution object — rm_control","text":"","code":"rm_control(x) # S4 method for class 'BiodiversityDistribution' rm_control(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove control from an existing distribution object — rm_control","text":"x distribution (.e. BiodiversityDistribution) object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove control from an existing distribution object — rm_control","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_control_bias(method = \"proximity\") x <- x |> rm_control() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to remove a latent effect — rm_latent","title":"Function to remove a latent effect — rm_latent","text":"just wrapper function removing specified offsets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to remove a latent effect — rm_latent","text":"","code":"rm_latent(x) # S4 method for class 'BiodiversityDistribution' rm_latent(x) # S4 method for class 'BiodiversityScenario' rm_latent(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to remove a latent effect — rm_latent","text":"x distribution() (.e. BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to remove a latent effect — rm_latent","text":"Removes latent spatial effect distribution object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to remove a latent effect — rm_latent","text":"","code":"if (FALSE) { # \\dontrun{ rm_latent(model) -> model } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove limits from an existing distribution object — rm_limits","title":"Remove limits from an existing distribution object — rm_limits","text":"function allows remove set limits existing distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove limits from an existing distribution object — rm_limits","text":"","code":"rm_limits(x) # S4 method for class 'BiodiversityDistribution' rm_limits(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove limits from an existing distribution object — rm_limits","text":"x distribution (.e. BiodiversityDistribution) object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove limits from an existing distribution object — rm_limits","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_limits_extrapolation(method = \"zones\", layer = zones) x <- x |> rm_limits() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to remove an offset — rm_offset","title":"Function to remove an offset — rm_offset","text":"just wrapper function removing specified offsets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to remove an offset — rm_offset","text":"","code":"rm_offset(x, layer = NULL) # S4 method for class 'BiodiversityDistribution' rm_offset(x, layer = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to remove an offset — rm_offset","text":"x distribution() (.e. BiodiversityDistribution) object. layer character pointing specific layer removed. set NULL, offsets removed object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to remove an offset — rm_offset","text":"Removes offset distribution object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to remove an offset — rm_offset","text":"","code":"if (FALSE) { # \\dontrun{ rm_offset(model) -> model } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove specific predictors from a distribution object — rm_predictors","title":"Remove specific predictors from a distribution object — rm_predictors","text":"Remove particular variable distribution object PredictorDataset. See Examples.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove specific predictors from a distribution object — rm_predictors","text":"","code":"rm_predictors(x, names) # S4 method for class 'BiodiversityDistribution,character' rm_predictors(x, names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove specific predictors from a distribution object — rm_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. names vector Vector character names describing environmental stack.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove specific predictors from a distribution object — rm_predictors","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictors(my_covariates) |> rm_predictors(names = \"Urban\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove existing priors from an existing distribution object — rm_priors","title":"Remove existing priors from an existing distribution object — rm_priors","text":"function allows remove priors existing distribution object. order remove set prior, name prior specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove existing priors from an existing distribution object — rm_priors","text":"","code":"rm_priors(x, names = NULL, ...) # S4 method for class 'BiodiversityDistribution' rm_priors(x, names = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove existing priors from an existing distribution object — rm_priors","text":"x distribution (.e. BiodiversityDistribution) object. names vector character object priors removed. ... parameters passed ","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove existing priors from an existing distribution object — rm_priors","text":"","code":"if (FALSE) { # \\dontrun{ # Add prior pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) # Remove again x <- x |> rm_priors(\"forest\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"Parallel computation of function — run_parallel","title":"Parallel computation of function — run_parallel","text":"computations take considerable amount time execute. function provides helper wrapper running functions apply family specified outputs.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parallel computation of function — run_parallel","text":"","code":"run_parallel( X, FUN, cores = 1, approach = \"future\", export_packages = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parallel computation of function — run_parallel","text":"X list, data.frame matrix object fed single core parallel apply call. FUN function passed computation. cores numeric number cores use (Default: 1). approach character parallelization approach taken (Options: \"parallel\" \"future\"). export_package vector packages export use parallel nodes (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Parallel computation of function — run_parallel","text":"default, parallel package used parallel computation, however option exists use future package instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Parallel computation of function — run_parallel","text":"","code":"if (FALSE) { # \\dontrun{ run_parallel(list, mean, cores = 4) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":null,"dir":"Reference","previous_headings":"","what":"Fit cmdstanr model and convert to rstan object — run_stan","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"function fits stan model using light-weight interface provided cmdstanr. code adapted McElreath rethinking package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"","code":"run_stan( model_code, data = list(), algorithm = \"sampling\", chains = 4, cores = getOption(\"ibis.nthread\"), threads = 1, iter = 1000, warmup = floor(iter/2), control = list(adapt_delta = 0.95), cpp_options = list(), force = FALSE, path = base::getwd(), save_warmup = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"model_code character pointing stan modelling code. data list parameters required run model_code stan. algorithm character giving algorithm use. Either 'sampling' (Default), 'optimize' 'variational' penalized likelihood estimation. chains numeric indicating number chains use estimation. cores Number threads sampling. Default set 'getOption(\"ibis.nthread\")'. See ibis_options(). threads numeric giving number threads run per chain. specified accordance cores. iter numeric value giving number MCMC samples generate. warmup numeric number warm-samples MCMC. Default set 1/2 iter. control list control options stan. cpp_options list options Cpp compiling. force logical indication whether force recompile model (Default: FALSE). path character indicating path made available stan compiler. save_warmup logical flag whether save warmup samples. ... non-specified parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"rstan object","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Sanitize variable names — sanitize_names","title":"Sanitize variable names — sanitize_names","text":"Prepared covariates often special characters variable names can can used formulas cause errors certain engines. function converts special characters variable names format","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sanitize variable names — sanitize_names","text":"","code":"sanitize_names(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sanitize variable names — sanitize_names","text":"names vector character vectors sanitized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Sanitize variable names — sanitize_names","text":"vector sanitized character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sanitize variable names — sanitize_names","text":"","code":"# Correct variable names vars <- c(\"Climate-temperature2015\", \"Elevation__sealevel\", \"Landuse.forest..meanshare\") sanitize_names(vars) #> [1] \"Climate_temperature2015\" \"Elevation_sealevel\" #> [3] \"Landuse.forest..meanshare\""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new scenario based on trained model parameters — scenario","title":"Create a new scenario based on trained model parameters — scenario","text":"function creates new BiodiversityScenario object contains projections model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new scenario based on trained model parameters — scenario","text":"","code":"scenario(fit, limits = NULL, reuse_limits = FALSE, copy_model = FALSE) # S4 method for class 'ANY' scenario(fit, limits = NULL, reuse_limits = FALSE, copy_model = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new scenario based on trained model parameters — scenario","text":"fit BiodiversityDistribution object containing trained model. limits SpatRaster sf object limits projection surface intersected prediction data (Default: NULL). can instance set expert-delineated constrain limit spatial projections. reuse_limits logical whether reuse limits found trained BiodiversityDistribution object (Default: FALSE). See also notes! copy_model logical whether model object copied scenario object. Note setting option TRUE can increase required amount memory (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a new scenario based on trained model parameters — scenario","text":"limit defined already train(), example adding extrapolation limit add_control_extrapolation(), zonal layer can reused projections. Note: effectively fixes projections certain areas.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new scenario based on trained model parameters — scenario","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit, limits = island_area) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Select specific predictors from a distribution object — sel_predictors","title":"Select specific predictors from a distribution object — sel_predictors","text":"function allows - character vector names already added PredictorDataset object - select particular set predictors. See Examples.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Select specific predictors from a distribution object — sel_predictors","text":"","code":"sel_predictors(x, names) # S4 method for class 'BiodiversityDistribution,character' sel_predictors(x, names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Select specific predictors from a distribution object — sel_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. names vector Vector character names describing environmental stack.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Select specific predictors from a distribution object — sel_predictors","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictors(my_covariates) |> sel_predictors(names = c(\"Forest\", \"Elevation\")) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"","code":"# S4 method for class 'BiodiversityDistribution' set_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — set_priors","title":"Add priors to an existing distribution object — set_priors","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — set_priors","text":"","code":"set_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — set_priors","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — set_priors","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — set_priors","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate environmental similarity of reference datasets to predictors. — similarity","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"Calculate environmental similarity provided covariates respect reference dataset. Currently supported Multivariate Environmental Similarity index multivariate combination novelty index (NT2) based Mahalanobis divergence (see references).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"","code":"similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... ) # S4 method for class 'BiodiversityDistribution' similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... ) # S4 method for class 'SpatRaster' similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"obj BiodiversityDistribution, DistributionModel alternatively SpatRaster object. ref BiodiversityDistribution, DistributionModel alternatively data.frame extracted values (corresponding given obj). ref_type character specifying type biodiversity use obj BiodiversityDistribution. method specifc method similarity calculation. Currently supported: 'mess', 'nt'. predictor_names optional character specifying covariates used (Default: NULL). full similarity values returned variables (Default:FALSE)? plot result plotted? Otherwise return output list (Default: TRUE). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"function returns list containing: similarity: SpatRaster object multiple layers giving environmental similarities variable x (included \"full=TRUE\"); mis: SpatRaster layer giving minimum similarity value across variables location (.e. MESS); exip: SpatRaster layer indicating whether model interpolate extrapolate location based environmental surface; mod: factor SpatRaster layer indicating variable dissimilar reference range (.e. MoD map, Elith et al. 2010); mos: factor SpatRaster layer indicating variable similar reference range.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"similarity implements MESS algorithm described Appendix S3 Elith et al. (2010) well Mahalanobis dissimilarity described Mesgaran et al. (2014).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"Elith, J., Kearney, M., Phillips, S. (2010) \"art modelling range-shifting species\". Methods Ecology Evolution, 1: 330-342. https://doi.org/10.1111/j.2041-210X.2010.00036.x Mesgaran, M.B., Cousens, R.D. Webber, B.L. (2014) \"dragons: tool quantifying novelty due covariate range correlation change projecting species distribution models\". Diversity Distributions, 20: 1147-1159. https://doi.org/10.1111/ddi.12209","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"","code":"if (FALSE) { # \\dontrun{ plot( similarity(x) # Where x is a distribution or Raster object ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":null,"dir":"Reference","previous_headings":"","what":"Simulate population dynamics following the steps approach — simulate_population_steps","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"function adds flag BiodiversityScenario object indicate species abundances simulated based expected habitat suitability, well demography, density-dependence dispersal information. simulation done using steps package (Visintin et al. 2020) conducted habitat suitability projection created. steps spatially explicit population models coded mostly R. detailed description steps parameters, please see respective reference help files. Default assumptions underlying wrapper presented details","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"","code":"simulate_population_steps( mod, vital_rates, replicates = 1, carrying_capacity = NULL, initial = NULL, dispersal = NULL, density_dependence = NULL, include_suitability = TRUE ) # S4 method for class 'BiodiversityScenario,matrix' simulate_population_steps( mod, vital_rates, replicates = 1, carrying_capacity = NULL, initial = NULL, dispersal = NULL, density_dependence = NULL, include_suitability = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"mod BiodiversityScenario object specified predictors. vital_rates symmetrical demographic matrix. column row names equivalent vital stages estimated. replicates numeric vector number replicates (Default: 1). carrying_capacity Either SpatRaster numeric estimate maximum carrying capacity, e.g. many adult individual likely occur per grid cell. set numeric, carrying capacity estimated maximum set (Note: clever way use species-area relationship scaling. yet implemented). initial SpatRaster giving initial population size. provided, initial populations guessed (see details) projected suitability rasters (Default: NULL). dispersal dispersal object defined steps package (Default: NULL). density_dependence Specification density dependence defined steps package (Default: NULL). include_suitability logical flag whether projected suitability estimates used (Default: TRUE) initial conditions set first time step.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"Adds flag BiodiversityScenario object indicate simulations added projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"order function work steps package installed separately. Instructions can found github. initial population lifestages provided, estimated assuming linear scaling suitability, 50:50 split sexes 1:3 ratio adults juveniles. provision different parameters highly encouraged!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"steps package multiple options simulating species population possible options represented wrapper. Furthermore, package still makes use raster package much internal data processing. Since ibis.iSDM switched terra ago, can efficiency problems layers need translated packages.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"Visintin, C., Briscoe, N. J., Woolley, S. N., Lentini, P. E., Tingley, R., Wintle, B. ., & Golding, N. (2020). steps: Software spatially temporally explicit population simulations. Methods Ecology Evolution, 11(4), 596-603. https://doi.org/10.1111/2041-210X.13354","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"","code":"if (FALSE) { # \\dontrun{ # Define vital rates vt <- matrix(c(0.0,0.5,0.75, 0.5,0.2,0.0, 0.0,0.5,0.9), nrow = 3, ncol = 3, byrow = TRUE) colnames(vt) <- rownames(vt) <- c('juvenile','subadult','adult') # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> # Use Vital rates here, but note the other parameters! simulate_population_steps(vital_rates = vt) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtain spatial partial effects of trained model — spartial","title":"Obtain spatial partial effects of trained model — spartial","text":"Similar partial function calculates partial response trained model given variable. Differently partial space. However result SpatRaster showing spatial magnitude partial response.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtain spatial partial effects of trained model — spartial","text":"","code":"spartial(mod, x.var, constant = NULL, newdata = NULL, plot = FALSE, ...) # S4 method for class 'ANY,character' spartial(mod, x.var, constant = NULL, newdata = NULL, plot = FALSE, ...) spartial.DistributionModel(mod, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtain spatial partial effects of trained model — spartial","text":"mod DistributionModel object trained model. x.var character indicating variable partial effect calculated. constant numeric constant inserted variables. Default calculates mean per variable. newdata data.frame calculate spartial . Can example created raster file (Default: NULL). plot logical indication whether result plotted? ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Obtain spatial partial effects of trained model — spartial","text":"SpatRaster containing mapped partial response variable.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Obtain spatial partial effects of trained model — spartial","text":"default mean calculated across parameters x.var. Instead constant can set (instance 0) applied output.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Obtain spatial partial effects of trained model — spartial","text":"","code":"if (FALSE) { # \\dontrun{ # Create and visualize the spartial effect spartial(fit, x.var = \"Forest.cover\", plot = TRUE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":null,"dir":"Reference","previous_headings":"","what":"Show the stan code from a trained model — stancode","title":"Show the stan code from a trained model — stancode","text":"helper function shows code trained DistributionModel using engine_stan. function emulated similar functionality brms R-package. works models inferred stan!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show the stan code from a trained model — stancode","text":"","code":"stancode(obj, ...) stancode.DistributionModel(obj, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show the stan code from a trained model — stancode","text":"obj prepared object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show the stan code from a trained model — stancode","text":"None.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Summarises a trained model or predictor object — summary","title":"Summarises a trained model or predictor object — summary","text":"helper function summarizes given object, including DistributionModel, PredictorDataset PriorList objects others. can helpful way summarize contained within values specified models objects. unsure, usually good strategy run summary object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Summarises a trained model or predictor object — summary","text":"","code":"# S3 method for class 'distribution' summary(object, ...) # S3 method for class 'DistributionModel' summary(object, ...) # S3 method for class 'PredictorDataset' summary(object, ...) # S3 method for class 'BiodiversityScenario' summary(object, ...) # S3 method for class 'PriorList' summary(object, ...) # S3 method for class 'Settings' summary(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Summarises a trained model or predictor object — summary","text":"object prepared object. ... used.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Summarises a trained model or predictor object — summary","text":"","code":"if (FALSE) { # \\dontrun{ # Example with a trained model x <- distribution(background) |> # Presence-absence data add_biodiversity_poipa(surveydata) |> # Add predictors and scale them add_predictors(env = predictors) |> # Use glmnet and lasso regression for estimation engine_glmnet(alpha = 1) # Train the model mod <- train(x) summary(mod) # Example with a prior object p1 <- BREGPrior(variable = \"forest\", hyper = 2, ip = NULL) p2 <- BREGPrior(variable = \"cropland\", hyper = NULL, ip = 1) pp <- priors(p1,p2) summary(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":null,"dir":"Reference","previous_headings":"","what":"Functionality for geographic and environmental thinning — thin_observations","title":"Functionality for geographic and environmental thinning — thin_observations","text":"species distribution modelling approaches assumed occurrence records unbiased, rarely case. model-based control can alleviate effects sampling bias, can often desirable account sampling biases spatial thinning (Aiello‐Lammens et al. 2015). approach based assumption -sampled grid cells contribute little bias, rather strengthening environmental responses. function provides methods apply spatial thinning approaches. Note effectively removes data prior estimation use considered care (see also Steen et al. 2021).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Functionality for geographic and environmental thinning — thin_observations","text":"","code":"thin_observations( data, background, env = NULL, method = \"random\", remainpoints = 10, mindistance = NULL, zones = NULL, probs = 0.75, global = TRUE, centers = NULL, verbose = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Functionality for geographic and environmental thinning — thin_observations","text":"data sf object observed occurrence points. methods threat presence-presence-absence occurrence points equally. background SpatRaster object background study region. Use assessing point density. env SpatRaster object environmental covariates. Needed method set \"environmental\" \"bias\" (Default: NULL). method character method applied (Default: \"random\"). remainpoints numeric giving number data points minimum remain (Default: 10). mindistance numeric minimum distance neighbouring observations (Default: NULL). zones SpatRaster supplied option \"zones\" chosen (Default: NULL). probs numeric used quantile threshold \"bias\" method. (Default: 0.75). global logical \"bias\" method global (entire env raster) local (extracted point locations) bias values used quantile threshold. (Default: TRUE). centers numeric used number centers \"environmental\" method. (Default: NULL). set, automatically set three nlayers - 1 (whatever bigger). verbose logical whether print statistics thinning outcome (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Functionality for geographic and environmental thinning — thin_observations","text":"methods remove points \"-sampled\" grid cells/areas. defined cells/areas either points remainpoints points global minimum point count per cell/area (whichever larger). Currently implemented thinning methods: \"random\": Samples random across -sampled grid cells returning \"remainpoints\" -sampled cells. account spatial environmental distance observations. \"bias\": option removes explicitly points considered biased (based \"env\"). Points thinned grid cells bias quantile (larger values equals greater bias). Thins observations returning \"remainpoints\" -sampled biased cell. \"zones\": Thins observations zone -sampled threshold returns \"remainpoints\" zone. Careful: zones relatively wide can remove quite observations. \"environmental\": approach creates observation-wide clustering (k-means) assumption full environmental niche comprehensively sampled covered provided covariates env. -sampled cluster, obtain (\"remainpoints\") thinning points. \"spatial\": Calculates spatial distance observations. points removed iteratively minimum distance points crossed. \"mindistance\" parameter set function work.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Functionality for geographic and environmental thinning — thin_observations","text":"Aiello‐Lammens, M. E., Boria, R. ., Radosavljevic, ., Vilela, B., & Anderson, R. P. (2015). spThin: R package spatial thinning species occurrence records use ecological niche models. Ecography, 38(5), 541-545. Steen, V. ., Tingley, M. W., Paton, P. W., & Elphick, C. S. (2021). Spatial thinning class balancing: Key choices lead variation performance species distribution models citizen science data. Methods Ecology Evolution, 12(2), 216-226.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Functionality for geographic and environmental thinning — thin_observations","text":"","code":"if (FALSE) { # \\dontrun{ # Thin a certain number of observations # At random thin_points <- thin_observations(points, background, method = \"random\") # using a bias layer thin_points <- thin_observations(points, background, method = \"bias\", env = bias) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":null,"dir":"Reference","previous_headings":"","what":"Threshold a continuous prediction to a categorical layer — threshold","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"common many applications species distribution modelling estimated continuous suitability surfaces converted discrete representations suitable habitat might might exist. called threshold'ing can done various ways described details. case SpatRaster provided input function obj, furthermore necessary provide sf object validation DistributionModel read information . Note: course also allows estimate threshold based withheld data, instance created -priori cross-validation procedure. BiodiversityScenario objects, adding function processing pipeline stores threshold attribute created scenario object. BiodiversityScenario objects set threshold() simply indicates projection create use thresholds part results. threshold values either taken provided model optional provide parameter value. instead aim apply thresholds step suitability projection, see add_constraint_threshold().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"","code":"threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... ) # S4 method for class 'ANY' threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... ) # S4 method for class 'SpatRaster' threshold( obj, method = \"fixed\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE ) # S4 method for class 'BiodiversityScenario' threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"obj BiodiversityScenario object existing threshold added. method specifc method thresholding. See details available options. value numeric value specifying specific threshold scenarios (Default: NULL Grab object). point sf object containing observational data used model training. field_occurrence character location biodiversity point records. format character indication whether \"binary\", \"normalize\" \"percentile\" formatted thresholds created (Default: \"binary\"). Also see Muscatello et al. (2021). return_threshold threshold value returned instead (Default: FALSE) ... parameter. Used fetch value set somehow.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"SpatRaster SpatRaster object input. Otherwise threshold added respective DistributionModel BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"following options currently implemented: 'fixed' = applies single pre-determined threshold. Requires value set. 'mtp' = minimum training presence used find set lowest predicted suitability occurrence point. 'percentile' = percentile threshold. value parameter set . 'min.cv' = Threshold raster minimize coefficient variation (cv) posterior. Uses lowest tercile cv space. feasible Bayesian engines. 'TSS' = Determines optimal TSS (True Skill Statistic). Requires \"modEvA\" package installed. 'kappa' = Determines optimal kappa value (Kappa). Requires \"modEvA\" package installed. 'F1score' = Determines optimal F1score (also known Sorensen similarity). Requires \"modEvA\" package installed. 'F1score' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'Sensitivity' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'Specificity' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'AUC' = Determines optimal AUC presence records. Requires \"modEvA\" package installed. 'kmeans' = Determines threshold based 2 cluster k-means clustering. presence class assumed cluster larger mean.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"Lawson, C.R., Hodgson, J.., Wilson, R.J., Richards, S.., 2014. Prevalence, thresholds performance presence-absence models. Methods Ecol. Evol. 5, 54–64. https://doi.org/10.1111/2041-210X.12123 Liu, C., White, M., Newell, G., 2013. Selecting thresholds prediction species occurrence presence-data. J. Biogeogr. 40, 778–789. https://doi.org/10.1111/jbi.12058 Muscatello, ., Elith, J., Kujala, H., 2021. decisions fitting species distribution models affect conservation outcomes. Conserv. Biol. 35, 1309–1320. https://doi.org/10.1111/cobi.13669","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated DistributionModel tr <- threshold(mod) tr$plot_threshold() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":null,"dir":"Reference","previous_headings":"","what":"Train the model from a given engine — train","title":"Train the model from a given engine — train","text":"function trains distribution() model specified engine furthermore generic options apply engines (regardless type). See Details regards options. Users advised check help files individual engines advice estimation done.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Train the model from a given engine — train","text":"","code":"train( x, runname, filter_predictors = \"none\", optim_hyperparam = FALSE, inference_only = FALSE, only_linear = TRUE, method_integration = \"predictor\", keep_models = TRUE, aggregate_observations = TRUE, clamp = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'BiodiversityDistribution' train( x, runname, filter_predictors = \"none\", optim_hyperparam = FALSE, inference_only = FALSE, only_linear = TRUE, method_integration = \"predictor\", keep_models = TRUE, aggregate_observations = TRUE, clamp = TRUE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Train the model from a given engine — train","text":"x distribution() (.e. BiodiversityDistribution) object). runname character name trained run. filter_predictors character defining highly correlated predictors removed prior model estimation. Available options : \"none\" prior variable removal performed (Default). \"pearson\", \"spearman\" \"kendall\" Makes use pairwise comparisons identify remove highly collinear predictors (Pearson's r >= 0.7). \"abess\" -priori adaptive best subset selection covariates via \"abess\" package (see References). Note effectively fits separate generalized linear model reduce number covariates. \"boruta\" Uses \"Boruta\" package identify non-informative features. optim_hyperparam Parameter tune model iterating input parameters selection predictors included iteration. Can set TRUE extra precision needed (Default: FALSE). inference_only default engine used create spatial prediction suitability surface, can take time. inferences strength relationship covariates observations required, parameter can set TRUE ignore spatial projection (Default: FALSE). only_linear Fit model linear baselearners functions. Depending engine setting option FALSE result non-linear relationships observations covariates, often increasing processing time (Default: TRUE). non-linearity captured depends used engine. method_integration character type integration applied one BiodiversityDataset object provided x. Particular relevant engines support integration one dataset. Integration methods generally sensitive order added BiodiversityDistribution object. Available options : \"predictor\" predicted output first (previously fitted) models added predictor stack thus predictors subsequent models (Default). \"offset\" predicted output first (previously fitted) models added spatial offsets subsequent models. Offsets back-transformed depending model family. option might supported every Engine. \"interaction\" Instead fitting several separate models, observations dataset combined incorporated prediction factor interaction \"weaker\" data source partialed prediction. first dataset added determines reference level (see Leung et al. 2019 description). \"prior\" option make use coefficients previous model define priors used next model. Might work engine! \"weight\" option works multiple biodiversity datasets type (e.g. \"poipo\"). Individual weight multipliers can determined setting model (Note: Default 1). Datasets combined estimation weighted respectively, thus giving example presence-records less weight survey records. Note parameter ignored engines support joint likelihood estimation. keep_models logical true method_integration = \"predictor\", models stored .internal list model object. aggregate_observations logical whether observations covering grid cell aggregated (Default: TRUE). clamp logical whether predictions clamped range predictor values observed model fitting (Default: FALSE). verbose Setting logical value TRUE prints information model fitting (Default: FALSE). ... arguments passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Train the model from a given engine — train","text":"DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Train the model from a given engine — train","text":"function acts generic training function - based provided BiodiversityDistribution object creates new distribution model. resulting object contains \"fit_best\" object estimated model , inference_only FALSE SpatRaster object named \"prediction\" contains spatial prediction model. objects can requested via object$get_data(\"fit_best\"). parameters function: \"filter_predictors\" parameter can set various options remove highly correlated variables little additional information gain model prior estimation. Available options \"none\" (Default) \"pearson\" applying 0.7 correlation cutoff, \"abess\" regularization framework Zhu et al. (2020), \"RF\" \"randomforest\" removing least important variables according randomForest model. Note: function applied predictors prior provided (e.g. potentially non-informative ones). \"optim_hyperparam\" option allows make use hyper-parameter search several models, can improve prediction accuracy although substantial increase computational cost. \"method_integration\" relevant one BiodiversityDataset supplied engine support joint integration likelihoods. See also Miller et al. (2019) references details different types integration. course, users want control aspect, another option fit separate models make use add_offset, add_offset_range ensemble functionalities. \"clamp\" Boolean parameter support clamping projection predictors range values observed model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Train the model from a given engine — train","text":"silver bullets (correlative) species distribution modelling model analyst understand objective, workflow parameters can used modify outcomes. Different predictions can obtained data parameters necessarily make sense useful.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Train the model from a given engine — train","text":"Miller, D..W., Pacifici, K., Sanderlin, J.S., Reich, B.J., 2019. recent past promising future data integration methods estimate species’ distributions. Methods Ecol. Evol. 10, 22–37. https://doi.org/10.1111/2041-210X.13110 Zhu, J., Wen, C., Zhu, J., Zhang, H., & Wang, X. (2020). polynomial algorithm best-subset selection problem. Proceedings National Academy Sciences, 117(52), 33117-33123. Leung, B., Hudgins, E. J., Potapova, . & Ruiz‐Jaen, M. C. new baseline countrywide α‐diversity species distributions: illustration using >6,000 plant species Panama. Ecol. Appl. 29, 1–13 (2019).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Train the model from a given engine — train","text":"","code":"# Load example data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Get test species virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM',mustWork = TRUE),'points',quiet = TRUE) # Get list of test predictors ll <- list.files(system.file('extdata/predictors/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load them as rasters predictors <- terra::rast(ll);names(predictors) <- tools::file_path_sans_ext(basename(ll)) # Use a basic GLM to fit a SDM x <- distribution(background) |> # Presence-only data add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") |> # Add predictors and scale them add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # Use GLM as engine engine_glm() #> [Setup] 2024-08-25 10:14:30.170942 | Creating distribution object... #> [Setup] 2024-08-25 10:14:30.171664 | Adding poipo dataset... #> [Setup] 2024-08-25 10:14:30.244549 | Adding predictors... #> [Setup] 2024-08-25 10:14:30.326762 | Transforming predictors... # Train the model, Also filter out co-linear predictors using a pearson threshold mod <- train(x, only_linear = TRUE, filter_predictors = 'pearson') #> [Estimation] 2024-08-25 10:14:30.422435 | Collecting input parameters. #> [Estimation] 2024-08-25 10:14:30.568613 | Filtering predictors via pearson... #> [Estimation] 2024-08-25 10:14:30.57466 | Adding engine-specific parameters. #> [Estimation] 2024-08-25 10:14:30.579962 | Engine setup. #> [Estimation] 2024-08-25 10:14:30.710105 | Starting fitting: a735207f #> [Estimation] 2024-08-25 10:14:30.765785 | Starting prediction... #> [Done] 2024-08-25 10:14:30.828823 | Completed after 0.4 secs mod #> Trained GLM-Model (Unnamed run) #> Strongest summary effects: #> Positive: CLC3_112_mean_50km, CLC3_132_mean_50km, CLC3_211_mean_50km, ... (7) #> Negative: aspect_mean_50km, bio03_mean_50km, slope_mean_50km (3) #> Prediction fitted: yes"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Unwrap a model for later use — unwrap_model","title":"Unwrap a model for later use — unwrap_model","text":"unwrap_model function uses terra::unwrap() easier ship DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unwrap a model for later use — unwrap_model","text":"","code":"unwrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'ANY' unwrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unwrap a model for later use — unwrap_model","text":"mod Provided DistributionModel object. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unwrap a model for later use — unwrap_model","text":"DistributionModel unwrapped raster layers","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unwrap a model for later use — unwrap_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) |> wrap_model() unwrap_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":null,"dir":"Reference","previous_headings":"","what":"Validation of a fitted distribution object — validate","title":"Validation of a fitted distribution object — validate","text":"function conducts model evaluation based either fitted point data supplied independent. Currently supporting point datasets. validation integrated models work needed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Validation of a fitted distribution object — validate","text":"","code":"validate( mod, method = \"continuous\", layer = \"mean\", point = NULL, point_column = \"observed\", field_occurrence = NULL, ... ) # S4 method for class 'ANY' validate( mod, method = \"continuous\", layer = \"mean\", point = NULL, point_column = \"observed\", field_occurrence = NULL, ... ) # S4 method for class 'SpatRaster' validate( mod, method = \"continuous\", layer = NULL, point = NULL, point_column = \"observed\", field_occurrence = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Validation of a fitted distribution object — validate","text":"mod fitted BiodiversityDistribution object set predictors. Alternatively one can also provide directly SpatRaster, however case point layer also needs provided. method validation conducted continious prediction (previously calculated) thresholded layer binary format? Note depending method different metrics can computed. See Details. layer case multiple layers exist, one use? (Default: 'mean'). point sf object type POINT MULTIPOINT. point_column character vector name column containing independent observations. (Default: 'observed'). field_occurrence (Deprectated) character field pointing name independent observations. Identical \"point_column\" ... parameters passed . Currently unused.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Validation of a fitted distribution object — validate","text":"Return tidy tibble validation results.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Validation of a fitted distribution object — validate","text":"'validate' function calculates different validation metrics depending output type. output metrics type defined follows: (TP stands true positive, TN true negative, FP false positive FN false negative) Continuous: 'n' = Number observations. 'rmse' = Root Mean Square Error, $$ \\sqrt {\\frac{1}{N} \\sum_{=1}^{N} (\\hat{y_{}} - y_{})^2} $$ 'mae' = Mean Absolute Error, $$ \\frac{ \\sum_{=1}^{N} y_{} - x_{} }{n} $$ 'logloss' = Log loss, TBD 'normgini' = Normalized Gini index, TBD 'cont.boyce' = Continuous Boyce index, Ratio predicted expected frequency calculated moving window: $$\\frac{P_{}}{E_{}}$$, $$ P_{} = \\frac{p_{}}{\\sum{j=1}^{b} p_{j}} $$ $$ E_{} = \\frac{a_{}}{\\sum{j=1}^{b} a_{j}} $$ Discrete: 'n' = Number observations. 'auc' = Area curve, e.g. integral function relating True positive rate false positive rate. 'overall.accuracy' = Overall Accuracy, Average positives,$$ \\frac{TP + TN}{n} $$ 'true.presence.ratio' = True presence ratio Jaccard index, $$ \\frac{TP}{TP+TN+FP+FN} $$ 'precision' = Precision, positive detection rate $$ \\frac{TP}{TP+FP} $$ 'sensitivity' = Sensitivity, Ratio True positives positives, $$ \\frac{TP}{TP+FP} $$ 'specificity' = Specifivity, Ratio True negatives negatives, $$ \\frac{TN}{TN+FN} $$ 'tss' = True Skill Statistics, sensitivity + specificity – 1 * 'f1' = F1 Score Positive predictive value, $$ \\frac{2TP}{2TP + FP + FN} $$ 'logloss' = Log loss, TBD 'expected.accuracy' = Expected Accuracy, $$ \\frac{TP + FP}{N} x \\frac{TP + FN}{N} + \\frac{TN + FN}{N} x \\frac{TN + FP}{N} $$ 'kappa' = Kappa value, $$ \\frac{2 (TP x TN - FN x FP)}{(TP + FP) x (FP + TN) + (TP + FN) x (FN + TN) } $$, 'brier.score' = Brier score, $$ \\frac{ \\sum_{=1}^{N} (y_{} - x_{})^{2} }{n} $$, $$y_{}$$ predicted presence absence $$x_{}$$ observed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Validation of a fitted distribution object — validate","text":"use Boyce Index, please cite original Hirzel et al. (2006) paper.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Validation of a fitted distribution object — validate","text":"Allouche O., Tsoar ., Kadmon R., (2006). Assessing accuracy species distribution models: prevalence, kappa true skill statistic (TSS). Journal Applied Ecology, 43(6), 1223–1232. Liu, C., White, M., Newell, G., 2013. Selecting thresholds prediction species occurrence presence-data. J. Biogeogr. 40, 778–789. https://doi.org/10.1111/jbi.12058 Hirzel, . H., Le Lay, G., Helfer, V., Randin, C., & Guisan, . (2006). Evaluating ability habitat suitability models predict species presences. Ecological modelling, 199(2), 142-152.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Validation of a fitted distribution object — validate","text":"","code":"if (FALSE) { # \\dontrun{ # Assuming that mod is a distribution object and has a thresholded layer mod <- threshold(mod, method = \"TSS\") validate(mod, method = \"discrete\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Wrap a model for later use — wrap_model","title":"Wrap a model for later use — wrap_model","text":"wrap_model function uses terra::wrap() easier ship DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wrap a model for later use — wrap_model","text":"","code":"wrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'ANY' wrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Wrap a model for later use — wrap_model","text":"mod Provided DistributionModel object. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Wrap a model for later use — wrap_model","text":"DistributionModel wrapped raster layers","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Wrap a model for later use — wrap_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) wrap_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":null,"dir":"Reference","previous_headings":"","what":"Wrap a list with stan model code — wrap_stanmodel","title":"Wrap a list with stan model code — wrap_stanmodel","text":"engine_stan builds list stan model code. function concatenates together.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wrap a list with stan model code — wrap_stanmodel","text":"","code":"wrap_stanmodel(sm_code)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Wrap a list with stan model code — wrap_stanmodel","text":"sm_code list object exactly 7 entries.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Wrap a list with stan model code — wrap_stanmodel","text":"character object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Save a model for later use — write_model","title":"Save a model for later use — write_model","text":"write_model function (opposed write_output) generic wrapper writing DistributionModel disk. essentially wrapper saveRDS. Models can loaded via load_model function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Save a model for later use — write_model","text":"","code":"write_model( mod, fname, slim = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) ) # S4 method for class 'ANY' write_model( mod, fname, slim = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Save a model for later use — write_model","text":"mod Provided DistributionModel object. fname character depicting output filename. slim logical option whether unnecessary entries model object deleted. deletes example predictions non-model content object (Default: FALSE). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Save a model for later use — write_model","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Save a model for later use — write_model","text":"default output files overwritten already existing!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Save a model for later use — write_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":null,"dir":"Reference","previous_headings":"","what":"Generic function to write spatial outputs — write_output","title":"Generic function to write spatial outputs — write_output","text":"write_output function generic wrapper writing output files (e.g. projections) created ibis.iSDM-package. possible write outputs fitted DistributionModel, BiodiversityScenario individual terra stars objects. case data.frame supplied, output written csv file. creating summaries distribution scenario parameters performance, see write_summary()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generic function to write spatial outputs — write_output","text":"","code":"write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'ANY,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'BiodiversityScenario,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'SpatRaster,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'data.frame,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'stars,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generic function to write spatial outputs — write_output","text":"mod Provided DistributionModel, BiodiversityScenario, terra stars object. fname character depicting output filename. dt character output datatype. Following terra::writeRaster options (Default: 'FLT4S'). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE). ... arguments passed individual functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generic function to write spatial outputs — write_output","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Generic function to write spatial outputs — write_output","text":"default output files overwritten already existing!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generic function to write spatial outputs — write_output","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_output(x, \"testmodel.tif\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Generic function to write summary outputs from created models. — write_summary","title":"Generic function to write summary outputs from created models. — write_summary","text":"write_summary function wrapper function create summaries fitted DistributionModel BiodiversityScenario objects. function extract parameters statistics used data input object writes output either 'rds' 'rdata' file. Alternative, open file formats consideration.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generic function to write summary outputs from created models. — write_summary","text":"","code":"write_summary( mod, fname, partial = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'ANY,character' write_summary( mod, fname, partial = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generic function to write summary outputs from created models. — write_summary","text":"mod Provided DistributionModel BiodiversityScenario object. fname character depicting output filename. suffix determines file type output (Options: 'rds', 'rdata'). partial logical value determining whether partial variable contributions calculated added model summary. Note can rather slow (Default: FALSE). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE). ... arguments passed individual functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generic function to write summary outputs from created models. — write_summary","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Generic function to write summary outputs from created models. — write_summary","text":"predictions tabular data saved function. Use write_output() save .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generic function to write summary outputs from created models. — write_summary","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_summary(x, \"testmodel.rds\") } # }"},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-5","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.5 (current dev branch)","text":"Support ‘modal’ value calculations ensemble(). Support ‘superlearner’ ensemble(). Support ‘kmeans’ derived threshold calculation threshold() predictor_derivate(). Support future processing streamlined. See FAQ section instructions #18.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-5","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.5 (current dev branch)","text":"Minor 🐛 fix related misaligned thresholds negative exponential kernels. 🔥 🐛 fix scenario projections use different grain sizes inference.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-4","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.4","text":"Support carnying latent spatial effects (add_latent_spatial()) scenario() projections. Convenience functions remove limits controls rm_limits()/rm_control() #121 🔥 Enable stars multi-temporal SpatRaster zones scenario() distribution() #121","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-4","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.4","text":"🐛 fix support factor x continuous variable interaction #131 Renamed add_control_extrapolation add_limits_extrapolation(). 🐛 fix engine_gdb also support non-linear smooth functions (). Small fix support deprecated field_occurrence field validate convenience. 🐛 fix prevented BART models saved/loaded disk #127. 🐛 fixes related factor handling engines. 🐛 fixes related is_comparable_raster add_predictors/add_predictors_range #130 🐛 fix related partial engine_gdb priors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-3","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.3","text":"Add functions creates HTML file base DistributionModel. Added new engine engine_scampr() model-based integration. Allow projection models using method_integration = \"predictor\"","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-3","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.3","text":"Small fixes ensure boruta filtering works ()? Small fix parameter train() #102 @jeffreyhanson Small helper function combining 2 different formula objects combine_formulas() Small bug fixes dealing scenario() projections limits, plus unit tests #104 Bug fixes adding predictor_derivate() scenario predictors added unit tests #106 Several fixes related different engines priors. Changed default output netcdf files multidimensional arrays #109 🔥 hot fixes scenario scaling normalization issue #113 🐛 fix projection works different extents used inference.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-2","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.2","text":"Switched object structure R6 throughout improved data memory handling #44 Implemented convenience function ro remove biodiversity datasets (rm_biodiversity()).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-2","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.2","text":"Added logical parameter ensemble() enabling compositing thresholds set #84 Support multi-band rasters ensemble() convenience. Fix bug threshold() supplied point data improved error messages. Cleaner docs structure Adding wrap_model/unwrap_model functions Added default parameters ibis specific options #90 Changing behaviour weights engine_inlabru() #93","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-1","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.1","text":"Added default engine_glm() dependency-free inference projection. Harmonized controls settings added option contrain extrapolation add_control_extrapolation() Adding function temporal interpolation predictors #52","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-1","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.1","text":"Minor corrective fixes additions add_offset(). Switch engine_glm() many unittests better coverage. Several bug fixes improvements thin_observations() global, probs, centers argument better control thin_observations() Harmonization parameters spartial() addressing #80","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-0","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.0","text":"Added small convenience wrapper add model outputs another model add_predictors_model() Started adding mechanistic SDM vignette #67 Wrapper steps implemented via simulate_population_steps() #68","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.0","text":"Added R-universe installation option alternative github #38 Minor bug fixes scenario() object, MigClim Kissmig wrappers. Bug fix related CRS classes sp sf Bug fix related blas.num.threads Bug fix crashed write_summary() outputs prediction made. Bug fix related CRS engine_inla() Bug fix engine_stan() related background layer Class biodiversity data identical PO PA Bug fix built_formula_glmnet() response Bug fix built_formula_gdb() response model$biodiversity stores predictors current ID Bug fix built_formula_inla() INLABRU","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-9","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.9","text":"Added new vignette available functions data preparation #67 Addition small mask() function emulates terra.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-9","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.9","text":"Small fix ensemble() ensembles future scenarios use correct standardization. Small fix threshold() now returning threshold values correctly. Bug fix error catching distribution() ensemble_partial(),ensemble_spartial() checks added check() #45 Small fix alignRasters(). Small fix harmonize field_column throughout. Improved error messages handling formula’s.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-8","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.8","text":"Implemented min size constraint (add_constraint_minsize()) #56 Added function estimating partial effects ensembles ensemble_spartial().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-8","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.8","text":"Added warnings checks missing crs supplied layers #65 Smaller bug code harmonizations ensemble_partial(), partial() spartial(). Smaller bug fixes threshold() scenario() projections. Improved error messages several functions. documentation fixes towards CRAN submission #38 Allow specify location biodiversity point records threshold().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-7","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.7","text":"Added method proximity add_control_bias() place lower weights points closer another. Added helper functions get_data() option apply threshold() directly BiodiversityScenarios. Added centroid function BiodiversityScenarios DistributionModels #29","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-7","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.7","text":"Add Error message background data different units easier understand. Added warning message threshold creation use independent data possible. Fixed min.cv bug threshold() introduced #17 Fixed add_offset() function now also allowing sf objects input. Fixed bug writing outputs write_output() Fixed bug prediction limits work correctly (distribution(...,lim = x))","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-6","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.6","text":"partial_density() function implemented #57 Re-specification limits implementation minimum convex polygon limits distribution(). Added check() function assessing assumptions fits various objects #45 Added minor internal helper functions duplicate stars objects via st_rep. Implemented local limiting factor function (limiting()) #37","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-6","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.6","text":"smaller documentation fixes towards CRAN submission #38 Bug fix method buffer pseudo-absence settings. Minor bug fixes ensemble() uncertainty calculations.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-5","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.5","text":"Addition 5 parameter logistic curve offsets parameter search add_offset().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-5","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.5","text":"smaller documentation fixes towards CRAN submission #38 Bug write_model(), now converting terra objects data.frame import/export. Smaller bug fixes, example similarity(), addition variable name sanitization predictors default.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-4","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.4","text":"Smaller bug fixes regards writing outputs adding pseudo-absences. Added short convenience function convert prediction outputs #48 Converted raster terra #17 Updated added unit checks tests","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-3","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.3","text":"Aded Boruta iterative feature selection predictor variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-3","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.3","text":"Removed Magittr dependency #41 Smaller improvements documentation removing CRAN preventing function calls. Made separation hyperparameter search functions clearer added new option filter highly correlated covariates via train().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-2","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.2","text":"Smaller documentation fixes, including make sure examples returns exported function documentations. Preparation cran release #38, including fixing common issues checks. smaller bug fixes validate() make Boyce robust. Change logo. Thanks @elliwoto Added warning validate call users aware non-independent validation. fixes github actions tests @mhesselbarth","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"ibisisdm-001","dir":"Changelog","previous_headings":"","what":"ibis.iSDM 0.0.1","title":"ibis.iSDM 0.0.1","text":"Initial public release version! Finding fixing bugs…","code":""}] +[{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-biodiversity-data","dir":"Articles","previous_headings":"","what":"Preparing and altering biodiversity data","title":"Preparation of biodiversity and predictor data","text":"SDM approaches require observation biodiversity data, typically form presence-presence-absence data, can available range different formats points polygons. range existing tools assist modellers preparing cleaning input data (instance biases). vignette intend give overview options. Rather highlights functions created specifically ibis.iSDM package might help situations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"adding-pseudo-absence-points-to-presence-only-data","dir":"Articles","previous_headings":"Preparing and altering biodiversity data","what":"Adding pseudo-absence points to presence-only data","title":"Preparation of biodiversity and predictor data","text":"Although philosophy ibis.iSDM package advisable use presence-models Poisson point process modelling framework (‘poipo’ modelling functions use background points (see Warton Sheperd 2010). Yet, good case can also made instead add pseudo-absence points existing presence-data. allows use logistic regressions ‘poipa’ methods ibis.iSDM generally easier interpret (response scale 0 1) also faster fit model. Adding pseudo-absence data ibis.iSDM package works first specifiying Pseudoabsence options object contains parameters many pseudo-absences sampled. respective function called pseudoabs_settings(). details available options (many) can found help file. default packages uses random sampling absence points settings can queried ibis_options()$ibis.pseudoabsence. options defined, pseudoa-absence data can added point dataset via add_pseudoabsence(). Example:","code":"## Lets load some testing data from the package # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\",quiet = TRUE) # Add a range virtual_range <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'range', quiet = TRUE) # Define new settings for sampling points outside the minimum convex polygon of # the known presence data abs <- pseudoabs_settings(background = background, nrpoints = 1000, # Sample 1000 points method = \"mcp\", # Option for minimum convex polygon inside = FALSE # Sample exclusively outside ) print( abs ) # See object, check abs$data for the options # Now add to the point data point1 <- add_pseudoabsence(virtual_species, # Point to the column with the presence information field_occurrence = 'Observed', settings = abs) plot(point1['Observed']) # --- # # Another option sampling inside the range, but biased by a bias layer bias <- terra::rast(system.file(\"extdata/predictors/hmi_mean_50km.tif\", package = \"ibis.iSDM\", mustWork = TRUE)) abs <- pseudoabs_settings(background = background, nrpoints = 100, # Sample 100 points method = \"range\", # Define range as method inside = TRUE, # Sample exclusively inside layer = virtual_range, # Define the range bias = bias # Set a bias layer ) # Add again to the point data point2 <- add_pseudoabsence(virtual_species, # Point to the column with the presence information field_occurrence = 'Observed', settings = abs) plot(point2['Observed'])"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"thinning-observations","dir":"Articles","previous_headings":"Preparing and altering biodiversity data","what":"Thinning observations","title":"Preparation of biodiversity and predictor data","text":"Many presence-records often spatially highly biased varying observational processes resulting quite clustered point observations. example, urban areas natural sites near considerably often frequented citizens observed wildlife sites remote areas. Particular Poisson process models can problematic models critically assume - without accounting - observational process homogeneous space. Thinning observations method remove point observations areas “oversampled”. Critically however remove points grid cells provided background case never removes entire grid cell fully. can also beneficial model convergence modelling speed, particular well-sampled species (e.g. common blackbird Turdus merula) diminishing returns fitting SDM like 1 million presence-points instead just 20000 well separated ones. ibis.iSDM package implementation spatial thinning, one can also refer Aiello-Lammens et al. alternative implementation rationale thinning. Thinning needs conducted care effectively discards data!","code":"## We use the data loaded in above plot(virtual_species['Observed'], main = \"Original data\") # Random thinning. Note the messages of number of thinned points point1 <- thin_observations(data = virtual_species, background = background, method = 'random', remainpoints = 1 # Retain at minimum one point per grid cell! ) #> (random) thinning completed! #> Original number of records: 208 #> Number of retained records: 175 plot(point1['Observed'], main = \"Random thinning\") # Another way: Use environmental thinning to retain enough points # across the niche defined by a set of covariates covariates <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) point2 <- thin_observations(data = virtual_species, background = background, env = covariates, method = 'environmental', remainpoints = 5 # Retain at minimum five points! ) #> (environmental) thinning completed! #> Original number of records: 208 #> Number of retained records: 26 plot(point2['Observed'], main = \"Environmentally stratified data\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-predictor-data","dir":"Articles","previous_headings":"","what":"Preparing and altering predictor data","title":"Preparation of biodiversity and predictor data","text":"order used species distribution modelling predictors need provided common extent, grain size geographic projections. need align provided background extent distribution() ideally contain missing data. missing data, package check remove model fitting points fall grid cells missing data. ibis.iSDM package number convenience functions modify input predictors. functions rather provide nuance(s) variation modelling process, rather preparing input data (needs undertaken using terra package).","code":"# Load some test covariates predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"transforming-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Transforming predictors","title":"Preparation of biodiversity and predictor data","text":"better model convergence usually makes sense bring predictors common unit, example noramlizing scaling . ibis.iSDM package convenience function can applied terra ‘SpatRaster’ object. NOTE: functionality also available directly add_predictors() parameter! options transformation also available listed methods file.","code":"# Let's take a simple layer for an example layer <- predictors$bio19_mean_50km # Transform it in various way new1 <- predictor_transform(layer, option = \"norm\") new2 <- predictor_transform(layer, option = \"scale\") new <- c(layer, new1, new2) names(new) <- c(\"original\", \"normalized\", \"scaled\") terra::plot( new ) # Another common use case is to windsorize a layer, for example by removing # top outliers form a prediction. # Here the values are capped to a defined percentile new3 <- predictor_transform(layer, option = \"windsor\", # Clamp the upper values to the 90% percentile windsor_props = c(0,.9)) new <- c(layer, new3) names(new) <- c(\"original\", \"windsorized\") terra::plot( new )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"derivates-of-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Derivates of predictors","title":"Preparation of biodiversity and predictor data","text":"simple linear SDM (e.g. engine_glmnet()) includes predictors thus assumes increase response variable follows linear relationship covariate. However, reality always simple usually can assumed many relationships highly non-linear otherwise complex. standard way introduce non-linearities linear algorithm create derivates predictors, example quadratic transformation temperature. ibis.iSDM package convenience function can applied terra ‘SpatRaster’ object create additional derivates model. Note creates (cases substantial) additional predictors. NOTE: functionality also available directly add_predictors() parameter! fine-tuned control can also achieved creating specific interactions among variables, example one expects climate interact forest cover.","code":"# Let's take a simple layer for an example layer <- predictors$ndvi_mean_50km # Make a quadratic transformation new1 <- predictor_derivate(layer, option = \"quadratic\") new <- c(layer, new1) names(new) <- c(\"original\", \"quadratic\") terra::plot( new ) # Create some hinge transformations new2 <- predictor_derivate(layer, option = \"hinge\", # The number is controlled by the number of knots nknots = 4 ) terra::plot( new2 ) # What does this do precisely? # Lets check df <- data.frame( ndvi = terra::values(layer), terra::values(new2)) plot(df$ndvi_mean_50km, df[,2], ylab = \"First hinge of ndvi\", xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,3], ylab = \"Second hinge of ndvi\",xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,4], ylab = \"Third hinge of ndvi\", xlab = \"NDVI\") plot(df$ndvi_mean_50km, df[,5], ylab = \"Fourth hinge of ndvi\",xlab = \"NDVI\") # Create interacting variables new <- predictor_derivate(predictors,option = \"interaction\", int_variables = c(\"bio01_mean_50km\", \"CLC3_312_mean_50km\")) plot(new, main = \"Interaction variable\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"homogenize-missing-data-among-predictors","dir":"Articles","previous_headings":"Preparing and altering predictor data","what":"Homogenize missing data among predictors","title":"Preparation of biodiversity and predictor data","text":"mentioned , model training covariates extracted biodiversity observational record. Missing data case discarded. example 10 predictors considered single one missing value one grid cell, grid cell considered missing among predictors well. ibis.iSDM package convenience functions easily harmonize check extent missing data set predictors can convenient assessing errors data preparation.","code":"# Make a subset of all predictors to show the concept layers <- subset(predictors, c(\"aspect_mean_50km\", \"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # All these layers have identical data coverage. # Now add missing data in one of the layers for testing layers$CLC3_312_mean_50km[sample(1:ncell(layers), 1000)] <- NA # Harmonize the predictors new <- predictor_homogenize_na(env = layers) # Now all the predictors have identical coverage of NA values terra::plot(new) # Or assess like this plot(!terra::noNA(new$aspect_mean_50km), main = \"Missing observations\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"preparing-and-altering-future-scenario-data","dir":"Articles","previous_headings":"","what":"Preparing and altering future scenario data","title":"Preparation of biodiversity and predictor data","text":"Creating scenarios R requires input predictors formatted different format . ibis.iSDM package makes extensive use stars prepare load multi-dimensional data. One common issue predictors requested time dimension. example climate data might available decadal scale (e.g. 2020, 2030, 2040), yet predictions often required finer temporal grain. purpose ibis.iSDM contains dedicated function (interpolate_gaps()), can also directly called within project().","code":"# Load some stars rasters ll <- list.files(system.file('extdata/predictors_presfuture/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load the same files future ones suppressWarnings( pred_future <- stars::read_stars(ll) |> dplyr::slice('Time', seq(1, 86, by = 10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # The predictors are here only available every 10 years stars::st_get_dimension_values(pred_future, 3) #> Units: [(days since 1970-1-1)] #> [1] 16436 20089 23741 27394 31046 34699 38351 42004 45656 # --- # # The ibis.iSDM contains here a function to make interpolation among timesteps, # thus filling gaps in between. # As an example, # Here we make a temporal interpolation to create an annual time series new <- interpolate_gaps(pred_future, date_interpolation = \"annual\") stars::st_get_dimension_values(new, 3) #> [1] \"2015-07-02\" \"2016-07-02\" \"2017-07-02\" \"2018-07-02\" \"2019-07-02\" #> [6] \"2020-07-02\" \"2021-07-02\" \"2022-07-02\" \"2023-07-02\" \"2024-07-02\" #> [11] \"2025-07-02\" \"2026-07-02\" \"2027-07-02\" \"2028-07-02\" \"2029-07-02\" #> [16] \"2030-07-02\" \"2031-07-02\" \"2032-07-02\" \"2033-07-02\" \"2034-07-02\" #> [21] \"2035-07-02\" \"2036-07-02\" \"2037-07-02\" \"2038-07-02\" \"2039-07-02\" #> [26] \"2040-07-02\" \"2041-07-02\" \"2042-07-02\" \"2043-07-02\" \"2044-07-02\" #> [31] \"2045-07-02\" \"2046-07-02\" \"2047-07-02\" \"2048-07-02\" \"2049-07-02\" #> [36] \"2050-07-02\" \"2051-07-02\" \"2052-07-02\" \"2053-07-02\" \"2054-07-02\" #> [41] \"2055-07-02\" \"2056-07-02\" \"2057-07-02\" \"2058-07-02\" \"2059-07-02\" #> [46] \"2060-07-02\" \"2061-07-02\" \"2062-07-02\" \"2063-07-02\" \"2064-07-02\" #> [51] \"2065-07-02\" \"2066-07-02\" \"2067-07-02\" \"2068-07-02\" \"2069-07-02\" #> [56] \"2070-07-02\" \"2071-07-02\" \"2072-07-02\" \"2073-07-02\" \"2074-07-02\" #> [61] \"2075-07-02\" \"2076-07-02\" \"2077-07-02\" \"2078-07-02\" \"2079-07-02\" #> [66] \"2080-07-02\" \"2081-07-02\" \"2082-07-02\" \"2083-07-02\" \"2084-07-02\" #> [71] \"2085-07-02\" \"2086-07-02\" \"2087-07-02\" \"2088-07-02\" \"2089-07-02\" #> [76] \"2090-07-02\" \"2091-07-02\" \"2092-07-02\" \"2093-07-02\" \"2094-07-02\" #> [81] \"2095-07-02\""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/01_data_preparationhelpers.html","id":"derivates-of-scenario-predictors","dir":"Articles","previous_headings":"Preparing and altering future scenario data","what":"Derivates of scenario predictors","title":"Preparation of biodiversity and predictor data","text":"SpatRaster covariates, also possible create transformed derivate versions scenario predictors helper function.","code":"# Load some stars rasters ll <- list.files(system.file('extdata/predictors_presfuture/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load the same files future ones suppressWarnings( pred_future <- stars::read_stars(ll[1:3]) |> dplyr::slice('Time', seq(1, 86, by = 10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # Scale new <- predictor_transform(pred_future, option = \"scale\") # Add quadratic transformed variables to the scenario object new2 <- predictor_derivate(pred_future, option = \"quad\") # New variable names names(new2) #> [1] \"bio01\" \"bio12\" \"crops\" \"quadratic_bio01\" #> [5] \"quadratic_bio12\" \"quadratic_crops\""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"load-package-and-make-a-basic-model","dir":"Articles","previous_headings":"","what":"Load package and make a basic model","title":"Train a basic model","text":"Creating model ibis.iSDM package relatively straight forward demonstrate testdata come package. data show distribution simulated forest-associated species northern Europe. also test predictors available modelling. first lets load data: example model going use ‘Integrated Nested Laplace approximation (INLA)’ modelling framework available INLA inlabru packages. implemented separately ibis.iSDM package, especially dealing future scenarios use inlabru package advised. Now lets build simple model object. case make use presence-biodiversity records (add_biodiversity_poipo). presence-records added object created distribution() default modelled intensity λ\\lambda inhomogeneous Poisson point process model (PPM), Number Individuals NN integrated relative rate occurrence per unit area: Ni∼Poisson(λi|Ai)N_i \\sim Poisson(\\lambda_i|A_i). λ\\lambda can estimated relating environmental covariates log(λi)=α+β(xi)log(\\lambda_i) = \\alpha + \\beta(x_i), ii grid cell. inhomogeneous since lambdalambda varies whole sampling extent. context species distribution modelling PPMs structurally similar popular Maxent modelling framework (see Renner & Warton 2013 Renner et al. 2015. Critically, presence-records can give indication biased sampling thus sampling bias taken somehow account, either careful data preparation, apriori thinning model-based control including covariates σi\\sigma_i might explain sampling bias. print call end now shows summary statistics contained object, extent modelling background projection used, number biodiversity datasets added statistics predictors, eventual priors engine used. course steps can also done “pipe” using |> syntax. Also helpful know object contains number helper functions allow easy summary visualization contained data. example, possible plot obtain data added object. Now finally model can estimated using supplied engine. train function many available parameters affect model fitted. Unless possible, default way fitting linear model based provided engine biodiversity data types.","code":"# Load the package library(ibis.iSDM) library(inlabru) library(xgboost) library(terra) library(uuid) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\") #> Reading layer `points' from data source #> `/home/runner/work/_temp/Library/ibis.iSDM/extdata/input_data.gpkg' #> using driver `GPKG' #> Simple feature collection with 208 features and 5 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 4.109162 ymin: 48.7885 xmax: 24.47594 ymax: 64.69323 #> Geodetic CRS: WGS 84 # Predictors predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) # Make use only of a few of them predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # First we define a distribution object using the background layer mod <- distribution(background) # Then lets add species data to it. # This data needs to be in sf format and key information is that # the model knows where occurrence data is stored (e.g. how many observations per entry) as # indicated by the field_occurrence field. mod <- add_biodiversity_poipo(mod, virtual_species, name = \"Virtual test species\", field_occurrence = \"Observed\") # Then lets add predictor information # Here we are interested in basic transformations (scaling), but derivates (like quadratic) # for now, but check options mod <- add_predictors(mod, env = predictors, transform = \"scale\", derivates = \"none\") # Finally define the engine for the model # This uses the default data currently backed in the model, # !Note that any other data might require an adaptation of the default mesh parameters used by the engine! mod <- engine_inlabru(mod) # Print out the object to see the information that is now stored within print(mod) #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> Point - Presence only <208 records> #> --------- #> predictors: bio01_mean_50km, bio03_mean_50km, bio19_mean_50km, ... (8 predictors) #> priors: #> latent: None #> log: #> engine: print(\"Create model\") #> [1] \"Create model\" mod <- distribution(background) |> add_biodiversity_poipo(virtual_species, name = \"Virtual test species\", field_occurrence = \"Observed\") |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru() # Make visualization of the contained biodiversity data plot(mod$biodiversity) # Other options to explore names(mod) #> [1] \"summary\" \"show_biodiversity_length\" #> [3] \"show_biodiversity_equations\" \"show_background_info\" #> [5] \"show\" \"set_priors\" #> [7] \"set_predictors\" \"set_offset\" #> [9] \"set_log\" \"set_limits\" #> [11] \"set_latent\" \"set_engine\" #> [13] \"set_control\" \"set_biodiversity\" #> [15] \"rm_priors\" \"rm_predictors\" #> [17] \"rm_offset\" \"rm_limits\" #> [19] \"rm_latent\" \"rm_engine\" #> [21] \"rm_control\" \"priors\" #> [23] \"print\" \"predictors\" #> [25] \"plot_offsets\" \"plot_bias\" #> [27] \"plot\" \"offset\" #> [29] \"name\" \"log\" #> [31] \"limits\" \"latentfactors\" #> [33] \"initialize\" \"get_resolution\" #> [35] \"get_projection\" \"get_priors\" #> [37] \"get_prior_variables\" \"get_predictor_names\" #> [39] \"get_offset_type\" \"get_offset\" #> [41] \"get_log\" \"get_limits\" #> [43] \"get_latent\" \"get_extent\" #> [45] \"get_engine\" \"get_control\" #> [47] \"get_biodiversity_types\" \"get_biodiversity_names\" #> [49] \"get_biodiversity_ids\" \"get_biodiversity_equations\" #> [51] \"engine\" \"control\" #> [53] \"clone\" \"biodiversity\" #> [55] \"background\" \".__enclos_env__\" print(\"Fit model\") #> [1] \"Fit model\" # Finally train fit <- train(mod, runname = \"Test INLA run\", aggregate_observations = FALSE, # Don't aggregate point counts per grid cell verbose = FALSE # Don't be chatty )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"summarizing-and-plotting-the-fitted-distribution-object","dir":"Articles","previous_headings":"","what":"Summarizing and plotting the fitted distribution object","title":"Train a basic model","text":"created distribution model object can visualized interacted . print() outputs model, inherent parameters whether predictions contained within. summary() creates summary output contained model. plot() makes visualization prediction background effects() visualizes effects, usually default plot package used fit model. See reference help pages options including calculating threshold(), partial() similarity() estimate used data. common practice species distribution modelling resulting predictions thresholded, e.g. abstraction continious prediction created separates background areas environment supporting species presumably suitable non-suitable. Threshold can used ibis.iSDM via threshold() functions suppling either fitted model, RasterLayer Scenario object. options functions please see help pages!","code":"# Plot the mean of the posterior predictions plot(fit, \"mean\") # Print out some summary statistics summary(fit) #> # A tibble: 9 × 8 #> variable mean sd q05 q50 q95 mode kld #> #> 1 Intercept -2.45 0.127 -2.66 -2.45 -2.24 -2.45 0 #> 2 bio01_mean_50km -0.0400 0.178 -0.332 -0.0400 0.252 -0.0400 0 #> 3 bio03_mean_50km -0.477 0.162 -0.744 -0.477 -0.210 -0.477 0 #> 4 bio19_mean_50km 0.482 0.115 0.294 0.482 0.670 0.482 0 #> 5 CLC3_112_mean_50km 0.443 0.0666 0.334 0.443 0.553 0.443 0 #> 6 CLC3_132_mean_50km 0.0818 0.0653 -0.0256 0.0818 0.189 0.0818 0 #> 7 CLC3_211_mean_50km 0.919 0.105 0.746 0.919 1.09 0.919 0 #> 8 CLC3_312_mean_50km 1.07 0.0890 0.926 1.07 1.22 1.07 0 #> 9 elevation_mean_50km 0.0444 0.114 -0.144 0.0444 0.233 0.0444 0 # Show the default effect plot from inlabru effects(fit) # To calculate a partial effect for a given variable o <- partial(fit, x.var = \"CLC3_312_mean_50km\", plot = TRUE) # The object o contains the data underlying this figure # Similarly the partial effect can be visualized spatially as 'spartial' s <- spartial(fit, x.var = \"CLC3_312_mean_50km\") plot(s[[1]], col = rainbow(10), main = \"Marginal effect of forest on the relative reporting rate\") # Calculate a threshold based on a 50% percentile criterion fit <- threshold(fit, method = \"percentile\", value = 0.5) # Notice that this is now indicated in the fit object print(fit) #> Trained INLABRU-Model (Test INLA run) #> Strongest summary effects: #> Positive: CLC3_312_mean_50km, CLC3_211_mean_50km, bio19_mean_50km, ... (6) #> Negative: bio01_mean_50km, bio03_mean_50km, Intercept (3) #> Prediction fitted: yes #> Threshold created: yes # There is also a convenient plotting function fit$plot_threshold() # It is also possible to use truncated thresholds, which removes non-suitable areas # while retaining those that are suitable. These are then normalized to a range of [0-1] fit <- threshold(fit, method = \"percentile\", value = 0.5, format = \"normalize\") fit$plot_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"validation-of-model-predictions","dir":"Articles","previous_headings":"","what":"Validation of model predictions","title":"Train a basic model","text":"ibis.iSDM package provides convenience function obtain validation results fitted models. Validation can done continious discrete predictions, latter requires computed threshold fits (see ). ‘validate’ fitted model using data used model fitting. scientific paper recommend implement cross-validation scheme obtain withheld data use independently gathered data. Validating integrated SDMs, particular fitted multiple likelihoods challenging something yet fully explored scientific literature. example strong priors can substantially improve modifying response functions model, challenging validate validation data similar biases training data. One way SDMs can validated spatial block validation, however care needs taken datasets part block.","code":"# By Default validation statistics are continuous and evaluate the predicted estimates against the number of records per grid cell. fit$rm_threshold() validate(fit, method = \"cont\") #> modelid name method #> 1 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> 2 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> 3 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> 4 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> 5 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> 6 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species continuous #> metric value #> 1 n 208.0000000 #> 2 rmse 0.6113299 #> 3 mae 0.5324495 #> 4 logloss 1.4554922 #> 5 normgini NaN #> 6 cont.boyce NA # If the prediction is first thresholded, we can calculate discrete validation estimates (binary being default) fit <- threshold(fit, method = \"percentile\", value = 0.5, format = \"binary\") validate(fit, method = \"disc\") #> modelid name method #> 1 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 2 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 3 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 4 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 5 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 6 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 7 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 8 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 9 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 10 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 11 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 12 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> 13 07b34f61-7d68-4376-9033-b882c5f301be Virtual test species discrete #> metric value #> 1 n 600.0000000 #> 2 auc 0.6964286 #> 3 overall.accuracy 0.7566667 #> 4 true.presence.ratio 0.4160000 #> 5 precision 0.7123288 #> 6 sensitivity 0.5000000 #> 7 specificity 0.8928571 #> 8 tss 0.3928571 #> 9 f1 0.5875706 #> 10 logloss 6.2300546 #> 11 expected.accuracy 0.5787111 #> 12 kappa 0.4224074 #> 13 brier.score 0.2433333"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/02_train_simple_model.html","id":"constrain-a-model-in-prediction-space","dir":"Articles","previous_headings":"","what":"Constrain a model in prediction space","title":"Train a basic model","text":"Species distribution models quite often extrapolate areas species unlikely persist thus likely predict false presences false absences. “overprediction” can caused multiple factors true biological constraints (e.g. dispersal), used algorithm trying clever overfitting towards complex relationships (machine learning literature problem commonly known bias vs variance tradeoff). One option counter extent SDMs add spatial constraints spatial latent effects. underlying assumption distances geographic space can extent approximate unknown unquantified factors determine species range. options constrains integrate additional data sources add parameter constraints (see [integrate_data] vignette). Currently ibis.iSDM package supports addition spatial latent effects via add_latent_spatial(). See help file information. Note every spatial term accounts spatial autocorrelation, simply add distance observations predictor (thus assuming much spatial pattern can explained commonalities sampling process). Another option constraining prediction place concrete limits prediction surface. can done adding factor zone layer distribution object. Internally, assessed ‘zones’ biodiversity observations fall, discarding others prediction. approach can particular suitable current future projections larger scale using instance biome layer stratification. assumes rather unlikely species distributions shift different biomes entirely, instance dispersal eco-evolutionary constraints. Note approach effectively also limits prediction background / output!","code":"# Here we are going to use the xgboost algorithm instead and set as engine below. # We are going to fit two separate Poisson Process Models (PPMs) on presence-only data. # Load the predictors again predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\"), \"*.tif\",full.names = TRUE)) predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\", \"koeppen_50km\")) # One of them (Köppen) is a factor, we will now convert this to a true factor variable predictors$koeppen_50km <- terra::as.factor(predictors$koeppen_50km) # Create a distribution modelling pipeline x <- distribution(background) |> add_biodiversity_poipo(virtual_species, field_occurrence = 'Observed', name = 'Virtual points') |> add_predictors(predictors, transform = 'scale', derivates = \"none\") |> engine_xgboost(iter = 8000) # Now train 2 models, one without and one with a spatial latent effect mod_null <- train(x, runname = 'Normal PPM projection', only_linear = TRUE, verbose = FALSE) # And with an added constrain # Calculated as nearest neighbour distance (NND) between all input points mod_dist <- train(x |> add_latent_spatial(method = \"nnd\"), runname = 'PPM with NND constrain', only_linear = TRUE, verbose = FALSE) #> |---------|---------|---------|---------|========================================= # Compare both plot(background, main = \"Biodiversity data\"); plot(virtual_species['Observed'], add = TRUE) plot(mod_null) plot(mod_dist) # Create again a distribution object, but this time with limits (use the Köppen-geiger layer from above) # The zones layer must be a factor layer (e.g. is.factor(layer) ) # Zone layers can be supplied directly to distribution(background, limits = zones) # or through an extrapolation control as shown below. x <- distribution(background) |> add_biodiversity_poipo(virtual_species, field_occurrence = 'Observed', name = 'Virtual points') |> add_predictors(predictors, transform = 'scale', derivates = \"none\") |> # Since we are adding the koeppen layer as zonal layer, we disgard it from the predictors rm_predictors(\"koeppen_50km\") |> add_limits_extrapolation(layer = predictors$koeppen_50km, method = \"zones\") |> engine_xgboost(iter = 3000, learning_rate = 0.01) # Spatially limited prediction mod_limited <- train(x, runname = 'Limited prediction background', only_linear = TRUE, verbose = FALSE) # Compare the output plot(mod_limited)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"load-relevant-packages-and-testing-data","dir":"Articles","previous_headings":"","what":"Load relevant packages and testing data","title":"Data integration","text":"Lets load prepared test data exercise. time going make use several datasets. can define generic model use sections .","code":"# Load the package library(ibis.iSDM) library(inlabru) library(glmnet) library(xgboost) library(terra) library(igraph) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background layer background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\", mustWork = TRUE)) # Load virtual species points virtual_species <- sf::st_read(system.file(\"extdata/input_data.gpkg\",package = \"ibis.iSDM\", mustWork = TRUE), \"points\", quiet = TRUE) virtual_range <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'range', quiet = TRUE) # In addition we will use the species data to generate a presence-absence dataset with pseudo-absence points. # Here we first specify the settings to use: ass <- pseudoabs_settings(background = background, nrpoints = 200, method = \"random\") virtual_pseudoabs <- add_pseudoabsence(df = virtual_species, field_occurrence = \"Observed\", settings = ass) # Predictors predictors <- terra::rast(list.files(system.file(\"extdata/predictors/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.tif\",full.names = TRUE)) # Make use only of a few of them predictors <- subset(predictors, c(\"bio01_mean_50km\",\"bio03_mean_50km\",\"bio19_mean_50km\", \"CLC3_112_mean_50km\",\"CLC3_132_mean_50km\", \"CLC3_211_mean_50km\",\"CLC3_312_mean_50km\", \"elevation_mean_50km\")) # First define a generic model and engine using the available predictors basemodel <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-through-predictors","dir":"Articles","previous_headings":"","what":"Integration through predictors","title":"Data integration","text":"simple way integrating prior observations species distribution models add covariate. based assumption instance expert-drawn range map can useful predicting species exist might might find suitable habitat (see instance Domisch et al. 2016). benefit approach predictors can easily added kinds engines ibis.ISDM package also used scenarios. Expert-ranges can currently added simple binary distance transform. latter options available bossMaps R-package described Merow et al. 2017. Another option added possibility add thresholded masks based elevational () limits. idea generate two layers, one areas lower upper range one upper range. Regression thresholded layers can thus approximate lower upper bounds. instance suppose species known occur 300 800m sea level, can added follows:","code":"# Here we simply add the range as simple binary predictor mod1 <- basemodel |> add_predictor_range(virtual_range, method = \"distance\") # We can see that the range has been added to the predictors object # 'distance_range' mod1$get_predictor_names() #> [1] \"bio01_mean_50km\" \"bio03_mean_50km\" \"bio19_mean_50km\" #> [4] \"CLC3_112_mean_50km\" \"CLC3_132_mean_50km\" \"CLC3_211_mean_50km\" #> [7] \"CLC3_312_mean_50km\" \"elevation_mean_50km\" \"range_distance\" # Specification basemodel <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_inlabru() mod1 <- basemodel |> add_predictor_elevationpref(layer = predictors$elevation_mean_50km, lower = 300, upper = 800) # Plot the threshold for an upper plot( mod1$predictors$get_data()[[c(\"elev_low\", \"elev_high\")]] )"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-through-offsets","dir":"Articles","previous_headings":"","what":"Integration through offsets","title":"Data integration","text":"Apart including spatial-explicit prior biodiversity knowledge predictors SDM model, - particular Poisson Process Models (PPM) - also different approach, include variable offset prediction. effectively tells respective engine change intercepts coefficients based existing knowledge, can instance existing coefficient. Offsets can specified addition nuisance model, instance either adding expert-delineated range offset factoring spatial bias areas high sampling density accessibility. Multiple offsets can specified given PPM simply multiplying , since log(off1*off2)=log(off1)+log(off2)log(off_1 * off_2) = log(off_1) + log(off_2). comprehensive overview including offsets SDMs can found Merow et al. (2016). ways add offsets model object, either directly (add_offset()) externally calculated RasterLayer instance “BossMaps” R-package, calculate range (add_offset_range()) elevation (add_offset_elevation()) offset, also biased offset (add_offset_bias()) case offset removed prediction.","code":"# Specification mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> add_offset_range(virtual_range, distance_max = 5e5) |> engine_glmnet() |> # Train train(runname = \"Prediction with range offset\",only_linear = TRUE) plot(mod1)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-with-priors","dir":"Articles","previous_headings":"","what":"Integration with priors","title":"Data integration","text":"different type integration also possible use informed priors, can set fixed random effects model. Bayesian context prior generally understood form uncertain quantity meant reflect direction /magnitude model parameters usually known -priori inference prediction. Offsets can also understood “priors”, however context SDMs, usually included spatial-explicit data, opposed priors available tabular form (known habitat affiliations). Since ibis.iSDM package supports variety engines Bayesian strict sense (engine_gdb engine_xgboost), specification priors differs depending engine question. Generally [Prior-class] objects can grouped : Probabilistic priors estimates placed example mean (μ\\mu) standard deviation (σ\\sigma) precision case [engine_inla]. priors usually allow greatest amount flexibility since able incorporate information sign magnitude coefficient. Monotonic constraints direction coefficient predictor model, f(x1)>=f(x2)f(x_1) >= f(x_2) f(x1)<=f(x2)f(x_1) <= f(x_2). Useful incorporate instance prior ecological knowledge certain response function example positive. complex priors specified random spatial effects penalized complexity priors used SPDE effects [add_latent_spatial()]. Probabilistic priors inclusion probability certain variable certainty variable included regularized outcome. example used case [engine_breg] [engine_glmnet]. Prior specifications specific engine information can found individual help pages priors() function. also now convenience function allows extract coefficients weights existing model can passed another model engine (get_priors()). requirement fitted model provided well target engine coefficients/priors created.","code":"# Set a clean base model with biodiversity data x <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> add_biodiversity_poipo(virtual_species, field_occurrence = \"Observed\") |> engine_inlabru() # Make a first model mod1 <- train(x, only_linear = TRUE) # Now assume we now that the species occurs more likely in intensively farmed land. # We can use this information to construct a prior for the linear coefficient. p <- INLAPrior(variable = \"CLC3_211_mean_50km\", type = \"normal\", hyper = c(2, 1000) # Precision priors, thus larger sigmas indicate higher precision ) # Single/Multiple priors need to be passed to `priors` and then added to the model object. pp <- priors(p) # The variables and values in this object can be queried as well pp$varnames() #> 74b3ef61-412d-4ff9-a1bc-4eb22124e9cc #> \"CLC3_211_mean_50km\" # Priors can then be added via mod2 <- train(x |> add_priors(pp), only_linear = TRUE) # Or alternatively directly as parameter via add_predictors, # e.g. add_predictors(env = predictors, priors = pp) # Compare the difference in effects p1 <- partial(mod1, pp$varnames(), plot = TRUE) p2 <- partial(mod2, pp$varnames(), plot = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"integration-with-ensembles","dir":"Articles","previous_headings":"","what":"Integration with ensembles","title":"Data integration","text":"Another straight forward way model-based integration simply fit two separate models different biodiversity dataset create ensemble . approach also works across different engines variety data types (cases requiring normalization given difference units model assumptions). (Note also possible create ensemble partial responses via ensemble_partial()).","code":"# Create and fit two models mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_glmnet() |> # Add dataset 1 add_biodiversity_poipo(poipo = virtual_species, name = \"Dataset1\",field_occurrence = \"Observed\") |> train(runname = \"Test1\", only_linear = TRUE) mod2 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> engine_xgboost(iter = 5000) |> # Add dataset 2, Here we simple simulate presence-only points from a range add_biodiversity_polpo(virtual_range, name = \"Dataset2\",field_occurrence = \"Observed\", simulate = TRUE,simulate_points = 300) |> train(runname = \"Test1\", only_linear = FALSE) # Show outputs of each model individually and combined plot(mod1) plot(mod2) # Now create an ensemble: # By setting normalize to TRUE we furthermore ensure each prediction # is on a comparable scale [0-1]. e <- ensemble(mod1, mod2, method = \"mean\", normalize = TRUE) # The ensemble contains the mean and the coefficient of variation across all objects plot(e)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"combined-and-joint-likelihood-estimation","dir":"Articles","previous_headings":"","what":"Combined and joint likelihood estimation","title":"Data integration","text":"examples always added single biodiversity data source model trained, add multiple different ones? outlined Isaac et al. 2020 joint, model-based integration different data sources allows borrow strengths different types datasets (quantity, quality) accurate parameter estimations well control biases. Particular SDMs also benefit avoiding make unreasonable assumptions absence species, commonly done addition pseudo-absences (despite called pseudo, logistic likelihood function treats true absence). Depending engine, ibis.iSDM package currently supports either combined joint estimation several datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"combined-integration","dir":"Articles","previous_headings":"Combined and joint likelihood estimation","what":"Combined integration","title":"Data integration","text":"default engines support joint estimation (see ) make use combined integration, currently three different options: “predictor”: predicted output first (previously fitted) models added predictor stack thus predictors subsequent models (Default). “offset”: predicted output first (previously fitted) models added spatial offsets subsequent models. Offsets back-transformed depending model family. might work likelihood functions engines! “prior”: option make use coefficients previous model define priors used next model. Note option creates priors based previous fits can result unreasonable constrains (particular coefficients driven largely latent variables). Can used projections (scenario()). “interaction”: case two datasets type also possible make use factor interactions. case prediction made based first reference level (e.g. first added dataset) others “partialed” prediction. method works one fits model multiple datasets response (e.g. Bernoulli distributed). Can used projections (scenario()). “weights”: type integration works two biodiversity datasets type. datasets combined one, however observations weighted weights parameter add_biodiversity call. can example used give one dataset arbitrary (expert-defined) higher value compared another. can specified parameter train(). Note methods (like “predictor” & “offset”), models trained sequence datasets added!","code":"# Specification mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # A presence only dataset add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> # A Presence absence dataset add_biodiversity_poipa(virtual_pseudoabs,field_occurrence = \"Observed\") |> engine_xgboost() |> # Train train(runname = \"Combined prediction\",only_linear = TRUE, method_integration = \"predictor\") # The resulting object contains only the final prediction, e.g. that of the presence-absence model plot(mod1)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/03_integrate_data.html","id":"joint-likelihood-estimation","dir":"Articles","previous_headings":"Combined and joint likelihood estimation","what":"Joint likelihood estimation","title":"Data integration","text":"engines, notably [engine_inla], [engine_inlabru] [engine_stan] support joint estimation multiple likelihoods. algorithmic approach package generally follows approach outlined presence-datasets modelled log-Gaussian Cox process expected number individuals estimated function area AA following Poisson distribution: $$\\begin{align*} N() &\\sim {\\sf Poisson}\\left(\\int_{} \\lambda()\\right) \\\\ \\end{align*}$$ log(λ())=α1+∑kKβkxi\\begin{align*} \\log(\\lambda()) = \\alpha_{1} + \\sum_{k}^{K} \\beta_{k}x_{} \\end{align*} NN number individuals, AA Area given spatial unit ii, N()N() estimate relative rate occurrence per unit area (ROR). kk increment KK number predictors. λ\\lambda intensity function, α\\alpha intercept β\\beta parameter coefficients environmental covariates. Note interactions Presence-absence data estimated draws Bernoulli distribution: $$\\begin{align*} Y_{} &\\sim {\\sf Bernoulli(p_{})}, = 1, 2, ... \\\\ \\end{align*}$$ log(−log(1−pi))=α2+∑kKβkxi\\begin{align*} \\log(-\\log(1-p_{})) &= \\alpha_{2} + \\sum_{k}^{K} \\beta_{k}x_{} \\end{align*} YY presence-absence record (usually standardized survey) sampled Bernoulli distribution given spatial unit ii. α\\alpha intercept β\\beta parameter coefficients environmental covariates. log-likelihood can understood cloglog functon. Joint likelihood estimated multiplying two likelihoods ∏lLf(l)\\prod_{l}^{L} f(l), LL individual likelihood, βk\\beta_{k} shared parameters two likelihoods. works assume cloglog(pi)≈log(λ())cloglog(p_i) \\approx log(\\lambda()). Equally also possible add shared latent spatial effects Gaussian fields (approximated stochastic partial differential equation (SPDE)) model, assuming shared factors - biases - affecting datasets. See Engine comparison overview engines support level integration.","code":"# Define a model mod1 <- distribution(background) |> add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # A presence only dataset add_biodiversity_poipo(virtual_species,field_occurrence = \"Observed\") |> # A Presence absence dataset add_biodiversity_poipa(virtual_pseudoabs,field_occurrence = \"Observed\") |> # Use inlabru for estimation and default parameters. # INLA requires the specification of a mesh which in this example is generated from the data. engine_inlabru() |> # Train train(runname = \"Combined prediction\", only_linear = TRUE) # The resulting object contains the combined prediction with shared coefficients among datasets. plot(mod1) # Note how an overall intercept as well as separate intercepts for each dataset are added. summary(mod1) #> # A tibble: 11 × 8 #> variable mean sd q05 q50 q95 mode kld #> #> 1 Intercept -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 2 Intercept_X068f7048_po… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 3 Intercept_c95280ea_poi… -0.328 25.8 -42.8 -0.328 42.1 -0.328 0 #> 4 bio01_mean_50km -0.109 0.134 -0.330 -0.109 0.112 -0.109 0 #> 5 bio03_mean_50km -0.482 0.121 -0.681 -0.482 -0.282 -0.482 0 #> 6 bio19_mean_50km 0.470 0.0870 0.327 0.470 0.613 0.470 0 #> 7 CLC3_112_mean_50km 0.407 0.0496 0.325 0.407 0.488 0.407 0 #> 8 CLC3_132_mean_50km 0.0628 0.0496 -0.0188 0.0628 0.144 0.0628 0 #> 9 CLC3_211_mean_50km 0.897 0.0787 0.768 0.897 1.03 0.897 0 #> 10 CLC3_312_mean_50km 0.989 0.0661 0.880 0.989 1.10 0.989 0 #> 11 elevation_mean_50km 0.0264 0.0853 -0.114 0.0264 0.167 0.0264 0"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"load-relevant-packages-and-testing-data","dir":"Articles","previous_headings":"","what":"Load relevant packages and testing data","title":"Creating biodiversity projections","text":"purpose example loading testing data species distributions well contemporary future predictors. Note names predictors used building distribution model consistent creating projections! ## Train model create future projection make use data loaded () first create species distribution model contemporary conditions (b) project obtained coefficients future using future predictors. guidance distribution models trained, see vignettes (1). scenario object can finally trained via project().","code":"# Load the packages library(ibis.iSDM) library(stars) library(xgboost) library(terra) library(igraph) library(ggplot2) library(ncdf4) library(assertthat) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background and biodiversity data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM')) virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points', quiet = TRUE) # Note we are loading different predictors than in previous examples # These are in netcdf4 format, a format specific for storing spatial-temporal data including metadata. ll <- list.files(system.file(\"extdata/predictors_presfuture/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.nc\",full.names = TRUE) # From those list of predictors are first loading the current ones as raster data # We are loading only data from the very first, contemporary time step for model fitting pred_current <- terra::rast() for(i in ll) suppressWarnings( pred_current <- c(pred_current, terra::rast(i, lyrs = 1) ) ) names(pred_current) <- tools::file_path_sans_ext( basename(ll) ) # Get future predictors # These we will load in using the stars package and also ignoring the first time step pred_future <- stars::read_stars(ll) |> stars:::slice.stars('Time', 2:86) st_crs(pred_future) <- st_crs(4326) # Set projection # Rename future predictors to those of current names(pred_future) <- names(pred_current) # Plot the test data plot(pred_current['secdf'], col = colorRampPalette(c(\"grey20\", \"orange\", \"lightgreen\", \"green\"))(10), main = \"Share of secondary vegetation\") # Train model adding the data loaded above x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'Observed', name = 'Virtual points') |> # Note that we scale the predictors here add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_glmnet(alpha = 0) #> Loaded glmnet 4.1-8 # Train the model modf <- train(x, runname = 'Simple PPM', verbose = FALSE) # Add a threshold to this model by getting 05 percentile of values modf <- threshold(modf, method = 'percentile', value = 0.05) # -- # # Now lets create a scenarios object via scenarios sc <- scenario(modf) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from the model object. threshold() #> Warning in add_predictors(scenario(modf), pred_future, transform = \"scale\"): #> State variable of transformation not found? # This creates a scenario object sc #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: None # The object contains its own functions. See the scenarios help file for more information on # what is possible with them names(sc) #> [1] \"threshold\" \"verify\" \"summary_beforeafter\" #> [4] \"summary\" \"show\" \"set_simulation\" #> [7] \"set_predictors\" \"set_latent\" \"set_data\" #> [10] \"set_constraints\" \"scenarios\" \"save\" #> [13] \"rm_predictors\" \"rm_limits\" \"rm_latent\" #> [16] \"rm_data\" \"rm_constraints\" \"print\" #> [19] \"predictors\" \"plot_threshold\" \"plot_scenarios_slope\" #> [22] \"plot_relative_change\" \"plot_migclim\" \"plot_animation\" #> [25] \"plot\" \"modelobject\" \"modelid\" #> [28] \"mask\" \"limits\" \"latentfactors\" #> [31] \"initialize\" \"get_timeperiod\" \"get_thresholdvalue\" #> [34] \"get_threshold\" \"get_simulation\" \"get_resolution\" #> [37] \"get_projection\" \"get_predictors\" \"get_predictor_names\" #> [40] \"get_model\" \"get_limits\" \"get_latent\" #> [43] \"get_data\" \"get_constraints\" \"get_centroid\" #> [46] \"constraints\" \"clone\" \"calc_scenarios_slope\" #> [49] \"apply_threshold\" \".__enclos_env__\" sc.fit1 <- sc |> project() # Note that an indication of fitted scenarios has been added to the object sc.fit1 #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: Yes"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"summarizing-and-plotting-the-fitted-projections","dir":"Articles","previous_headings":"","what":"Summarizing and plotting the fitted projections","title":"Creating biodiversity projections","text":"distribution models number ways scenarios can visualized interacted : plot() makes visualization projections time steps (!) plot_relative_change() calculates change suitability area first last timestep categorizes result accordingly. Note SDMs directly infer colonization extinction, gains losses suitable habitat! calc_scenarios_slope() calculates slope (rate change) across timesteps. Useful summarizing results summary() creates summary output contained scenarios. threshold() specified, function summarize amount area timestep. get_data() gets created scenarios stars object (plus thresholds specified). Finally, scenarios projections can also saved specific outputs. , enabled via write_output() works just [BiodiversityScenario] objects, difference output can specified netCDF-4 file.","code":"# Plot all scenarios. With a large number of predictors this figure will be messy... plot(sc.fit1) # or sc.fit1$plot() # As an alternative, visualize the linear slope per grid cell and across all time steps o <- sc.fit1$calc_scenarios_slope(plot = TRUE) # Another option is to calculate the relative change between start and finish o <- sc.fit1$plot_relative_change(plot = TRUE) # We can also summarize the thresholded data o <- sc.fit1$summary() plot(area_km2~band, data = o, type = 'b', main = \"Suitable habitat across Time\", ylab = \"Amount of area (km2)\", xlab = \"Time\") # How does habitat gain and loss change over time? plot(totchange_gain_km2~band, data = o, type = 'n', main = \"Habitat gain and loss\", ylim = c(-1.5e4, 1.5e4), ylab = \"Amount of area (km2)\", xlab = \"Time\") lines(o$totchange_gain_km2~o$band, col = \"blue\") lines((o$totchange_loss_km2)~o$band, col = \"red\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"adding-constraints-to-projections","dir":"Articles","previous_headings":"","what":"Adding constraints to projections","title":"Creating biodiversity projections","text":"simple scenario use naive assumption , depending response functions fitted distribution model, suitable habitat within background modelling region potentially reachable species. reality might however geographic (e.g. islands), environmental biotic constraints far species can disperse. can specified constrain function [add_constraint()] variety constraints currently available, depend packages. add_constraint() Generic wrapper specific ‘method’ can supplied. See documentation information available options parameters. add_constraint_dispersal() add dispersal constraint projections applied time step. Supports various options 'sdd_fixed' fixed dispersal kernels, 'sdd_nexpkernel' negative exponential kernel 'sdd_kissmig' applying kissmig framework. add_constraint_MigClim() Use MigClim R-package simulate dispersal events time steps. number parameters required adding constrain also overwrite default plotting capacities (example via sc$plot_migclim()). See also help file Engler et al. (2012) information. add_constraint_connectivity() Add connectivity constrain projection. Currently hard barriers implemented, future additional sub-modules planned enable options . add_constraint_adaptability() Simple constraints adaptability species novel climatic conditions. Currently simple nichelimits implemented, ‘cap’ projections novel environments observed ranges contemporary predictors. add_constraint_boundary() Specifying hard boundary constraint projections, example limiting (future) projections certain area biome contemporary range. Lastly also options stabilize suitability projections via project() function. Specifying stabilization results projections smoothed informed incremental time steps. can particularly help projections use variables known make sudden, abrupt jumps time steps (e.g. precipitation anomalies). Another option constraining prediction also imposing zonal limit (instance climatically defined) projections (see alternatively add_constraint_boundary() ). done fitting SDM reference conditions (see example limits (1) ) considered (future) projections.","code":"# Adding a simple negative exponential kernel to constrain the predictions sc.fit2 <- sc |> add_constraint(method = \"sdd_nex\", value = 1e5) |> # Directly fit the object project(stabilize = F) # Also fit one projection a nichelimit has been added sc.fit3 <- sc |> add_constraint(method = \"sdd_nex\", value = 1e5) |> add_constraint_adaptability(method = \"nichelimit\") |> # Directly fit the object project(stabilize = F) # Note how constrains are indicated in the scenario object. sc.fit3 #> Spatial-temporal scenario: #> Used model: GLMNET-Model #> --------- #> Predictors: bio01, bio12, crops, ... (9 predictors) #> Time period: 2016-01-01 -- 2100-01-01 (83.9 years) #> --------- #> Constraints: dispersal (sdd_nexpkernel), adaptability (nichelimit) #> Threshold: 0.031 (percentile) #> --------- #> Scenarios fitted: Yes # The naive assumption is that there is unlimited dispersal across the whole background # Note how the projection with dispersal constrain results in a considerable smaller amount of suitable habitat. sc.fit1$plot(which = 40) # Baseline sc.fit2$plot(which = 40) # With dispersal constrain sc.fit3$plot(which = 40) # With dispersal limit and nichelimitation (within a standard deviation) # Lets compare the difference in projections compared to the naive one defined earlier. o1 <- sc.fit1$summary() o2 <- sc.fit2$summary() o3 <- sc.fit3$summary() arlim <- c(min(o1$area_km2, o2$area_km2, o3$area_km2)-10000, max(o1$area_km2, o2$area_km2, o3$area_km2)) plot(area_km2~band, data = o1, type = 'n', ylim = arlim, main = \"Suitable habitat projection\", ylab = \"Amount of area (km2)\", xlab = \"Time\") lines(o1$area_km2~o1$band, col = \"black\", lty = 1) lines(o2$area_km2~o2$band, col = \"black\", lty = 2) lines(o3$area_km2~o3$band, col = \"black\", lty = 3) legend(\"bottomleft\", legend = c(\"Unlimited dispersal\", \"Constrained dispersal\", \"Constrained dispersal and niche limit\"), lty = c(1, 2, 3), cex = 1.2, bty = \"n\") # Lastly it is also possible to directly summarize the state # before (usually first year) and end (last year). sc.fit2$summary_beforeafter() #> # A tibble: 13 × 5 #> runname category period value unit #> #> 1 Simple PPM Current range 2016-01-01 433. ha #> 2 Simple PPM Future range 2100-01-01 334. ha #> 3 Simple PPM Unsuitable 84 years 857. ha #> 4 Simple PPM Loss 84 years 101. ha #> 5 Simple PPM Gain 84 years 1.64 ha #> 6 Simple PPM Stable 84 years 332. ha #> 7 Simple PPM Percent loss 84 years 23.3 % #> 8 Simple PPM Percent gain 84 years 0.378 % #> 9 Simple PPM Range change 84 years -99.4 ha #> 10 Simple PPM Percent change 84 years -10.4 % #> 11 Simple PPM Sorensen index 84 years 0.877 similarity #> 12 Simple PPM Centroid distance 84 years 105. km #> 13 Simple PPM Centroid change direction 84 years 36.8 deg"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/04_biodiversity_projections.html","id":"specific-parsers-for-globiom-related-scenarios","dir":"Articles","previous_headings":"","what":"Specific parsers for GLOBIOM related scenarios","title":"Creating biodiversity projections","text":"IIASA’s Global Biosphere Management Model (GLOBIOM) partial equilibrium model used analyze competition land use agriculture, forestry, bioenergy, main land-based production sectors. builds . ibis.iSDM part IIASA’s suite integrated models, direct link available make use downscaled GLOBIOM outputs. Implemented functions either directly format data via [formatGLOBIOM()] add DistributionModel-class BiodiversityScenario-class object directly via add_predictors_globiom() .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"mechanistic-species-distribution-modelling","dir":"Articles","previous_headings":"","what":"Mechanistic species distribution modelling","title":"Mechanistic species distribution modelling","text":"vignette describes available options incorporating mechanistic modelling approaches ibis.iSDM package. approaches can broadly separated “added” existing modelling routines, ibis.iSDM outputs can used input mechanistic modelling. package provides basic wrappers. delve options mechanistic SDMs ibis.iSDM package, useful remind us term ‘mechanism’ actually means. literature range different definitions, sometimes referring mechanistic SDMs incorporate ecological processes (e.g. demography, dispersal, eco-evolutionary principles). Yet often, correlative SDMs also declared “mechanistic” somehow incorporate specific constrain response function towards environmental variable. example, micro-climatic limits persistence species Briscoe et al. 2023, presence biotic interactions (estimated separate SDM different species) also sometimes referred limiting mechanisms (Ohlmann et al. 2023). latter approaches - largely fine-tuning specific response function - can extent emulated creating specific derivates adding covariate priors (add_priors()) model predictors (add_predictors_model()) SDM. methods added package become available can readily incorporated modelling framework. types integration can also directly modelled integration. details provided vignettes data preparation creating derivates vignette data integration. Users package also directed various add_constraint() functions, many enable corrections projected scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-ecological-processes-to-correlative-sdms","dir":"Articles","previous_headings":"Mechanistic species distribution modelling","what":"Adding ecological processes to correlative SDMs","title":"Mechanistic species distribution modelling","text":"range wrappers implemented ibis.iSDM allow convenient passing outputs parameters mechanistic modelling packages. wrappers support convenient addition ecological processes dispersal scenarios data integration. enable ibis.iSDM outputs directly become inputs simulations. case key parameters available, package users encouraged check various options add_constraint() function. mechanistic approaches require quite extensive model understanding many cases additional training. Furthermore range parameters usually required outputs meaningful. beyond scope vignette provide introduction various models. Rather, demonstrated linkages ibis.iSDM models can made, reader referred original publication underlying approach (see help page references).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-dispersal-to-scenarios-with-kissmig","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Adding dispersal to scenarios with KISSMig","title":"Mechanistic species distribution modelling","text":"KISSMig model provide simple model estimate limit dispersal species distribution models (Nobis & Normand, 2014). include ecological mechanism related recruitment , instead works simple stochastic migration estimator allows inclusion time-lagged dispersal local neighborhoods. ibis.iSDM package KISSMig simulator can added dispersal constraint (among others) scenario objects. Example: Now lets add KISSMig dispersal constraints. constrain directly used fitted suitability estimates projected timestep also makes use created thresholded layer. Per time-step dispersal events stochastically simulated constraint range expansions next modelling steps. See ?kissmig::kissmig help-page help explanations parameters.","code":"library(ibis.iSDM) library(terra) #> terra 1.7.78 #> #> Attaching package: 'terra' #> The following object is masked from 'package:ibis.iSDM': #> #> modal library(ggplot2) # Don't print out as many messages options(\"ibis.setupmessages\" = FALSE) # Background and biodiversity data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM')) virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points', quiet = TRUE) # Add some pseudo-absence information for later poa <- virtual_points |> add_pseudoabsence(field_occurrence = 'Observed', template = background) # Note we are loading different predictors than in previous examples # These are in netcdf4 format, a format specific for storing spatial-temporal data including metadata. ll <- list.files(system.file(\"extdata/predictors_presfuture/\", package = \"ibis.iSDM\", mustWork = TRUE), \"*.nc\",full.names = TRUE) # From those list of predictors are first loading the current ones as raster data # We are loading only data from the very first, contemporary time step for model fitting pred_current <- terra::rast() for(i in ll) suppressWarnings( pred_current <- c(pred_current, terra::rast(i, lyrs = 1) ) ) names(pred_current) <- tools::file_path_sans_ext( basename(ll) ) # Get future predictors # These we will load in some time steps using the stars package and ignoring the first time step suppressWarnings( pred_future <- stars::read_stars(ll) |> stars:::slice.stars('Time', seq(2,86,by=10)) ) sf::st_crs(pred_future) <- sf::st_crs(4326) # Set projection # Rename future predictors to those of current names(pred_future) <- names(pred_current) # ------ # # Fit a model fit <- distribution(background) |> add_biodiversity_poipa(poa, field_occurrence = 'Observed', name = 'Virtual points') |> # Note that we scale the predictors here add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_glmnet(alpha = 0) |> # Train the model train(verbose = FALSE) |> # Add simple percentile thresholds threshold(method = 'percentile', value = .33) # Show the threshold fit$plot_threshold() # Create a scenario object sc <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() #> Warning in add_predictors(scenario(fit), pred_future, transform = \"scale\"): #> State variable of transformation not found? # Add KISSMig constraint sc1 <- sc |> add_constraint_dispersal(method = \"kissmig\", type = \"DIS\", # Final distribution result value = 10, # Number of iteration steps # These parameters are for KISSMig and get passed on # Probablitiy of local extinction between iterations pext = 0.5, # Probability corner cells are colonized. pcor = 0.2 ) sc2 <- sc |> add_constraint_dispersal(method = \"kissmig\", type = \"DIS\", # Final distribution result value = 10, # Number of iteration steps # These parameters are for KISSMig and get passed on # Probablitiy of local extinction between iterations pext = 0.9, # Probability corner cells are colonized. pcor = 0.1 ) # Project two scenarios with varying local extinction probability df1 <- project(sc1, verbose = FALSE) |> summary() #> Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is FALSE df2 <- project(sc2, verbose = FALSE) |> summary() df <- dplyr::bind_rows(df1 |> dplyr::mutate(scenario = \"low\"), df2 |> dplyr::mutate(scenario = \"high\") ) # ------ # ggplot(df, aes(x = band, y= area_km2/1e6, group = scenario, color = scenario)) + theme_bw(base_size = 16) + geom_line() + labs(x = \"Time\", y = \"Occupied area (Million km2)\")"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"adding-dispersal-to-scenarios-with-migclim","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Adding dispersal to scenarios with MIGCLIM","title":"Mechanistic species distribution modelling","text":"Another dispersal simulator MIGCLIM (Engler et al. 2014), stochastic simulator innovatively allows differentiate short long-distance dispersal events well varying propagule pressure. Unfortunately currently available CRAN anymore (stand September 2023), possibly lack maintenance missing dependency. package can still downloaded github however (https://github.com/robinengler/MigClim/). Assuming user able install MigClim package ’s dependencies (also disappared CRAN), can run ibis.iSDM follows: example updated update current R versions (>3.0) becomes available.","code":"prj <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() |> # Check the help files for the function for an explanation of the parameters. add_constraint_MigClim(rcThresholdMode = 'continuous', dispSteps = 1, dispKernel = c(1.0, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6,0.8, 0.95), replicateNb = 10) |> # Project the model project() # MIGCLIM outputs are provided a single updated layer and can be plotted through # a customized plotting function. prj$plot_migclim()"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/05_mechanistic_estimation.html","id":"simulating-spatial-explicit-population-abundance-with-steps","dir":"Articles","previous_headings":"Mechanistic species distribution modelling > Adding ecological processes to correlative SDMs","what":"Simulating spatial-explicit population abundance with steps","title":"Mechanistic species distribution modelling","text":"steps package implements spatial-temporal explicit metapopulation simulator (Visintin et al. 2021) able account varying vital rates, dispersal barriers density dependence. steps simulator, thus makes use range parameters critical correlative assumptions estimate example abundance given time step. ibis.iSDM package linkage steps can established directly scenario projections simply adding separate module. added, steps used make spatial-temporal abundance estimates aligned projection time step, eventual specified barriers provided parameters regards vital rates density-dependence. Note: wrapper functionality implemented ibis.iSDM package based assumption higher habitat suitability (estimated correlative SDM) linearly correlated higher population abundance. noted assumptions questioned interpreted caution (Lee-Yaw et al. 2021). Users always clearly understand rationale behind parameter choices!","code":"if(\"steps\" %in% installed.packages()[,1]){ require(\"steps\") # Define some arbitrary vital rates for the transition for this purpose # Define vital rates vt <- matrix(c(0.0,0.52,0.75, 0.52,0.28,0.0, 0.0,0.52,0.75), nrow = 3, ncol = 3, byrow = TRUE) colnames(vt) <- rownames(vt) <- c('juvenile','subadult','adult') # We again specify a scenario as before using the fitted model prj <- scenario(fit) |> # Apply the same variable transformations as above. add_predictors(pred_future, transform = 'scale') |> # Calculate thresholds at each time step. The threshold estimate is taken from # the fitted model object. threshold() |> # We then specify that we we simulate_population_steps(vital_rates = vt) # Notice how we have added steps as additional simulation outcome prj # Now project scenario1 <- project(prj) plot(scenario1, \"population\") # Also see a different one where we add a dispersal constraint and density dependence dispersal <- steps::fast_dispersal(dispersal_kernel = steps::exponential_dispersal_kernel(distance_decay = 1)) scenario2 <- project(prj |> simulate_population_steps(vt, dispersal = dispersal, density_dependence = steps::ceiling_density(3) ) ) # We can see that the dispersal constraint and higher density dependence cleary # results in a population abundance that tends to be concentrated in central Europe. plot(scenario2, \"population\") } #> Loading required package: steps #> Warning in add_predictors(scenario(fit), pred_future, transform = \"scale\"): #> State variable of transformation not found?"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/06_engine_comparison.html","id":"capabilities-of-included-engines","dir":"Articles","previous_headings":"","what":"Capabilities of included engines","title":"Comparison of different engines","text":"outlined Fletcher et al. (2019), many different forms integration [ensemble] modelling, adding [offsets], predictors (e.g. [add_predictor_range()] ) [priors] full integration different likelihoods (See (Data integration) ). options available every engine supported ibis.iSDM package table shows currently implemented engines various types integrations supported . Stating name function call engine supported model complexity linear (ln) non-linear (nl) formulations, although noted linear models can approximate non-linearity including transformations (Maxent, e.g. hinge/product/quadratic). every engine supports different types integration via ensembles, offsets, priors, joint likelihood estimation ensemble compositing models using separate datasets species. multiple biodiversity datasets added engine support joint likelihood estimation, parameter method_integration [train()] determines different predictions integrated. Available options integration via predictors, offsets, interactions, priors weights (see help file [train()] information).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/07_package_comparison.html","id":"comparison-with-other-packages","dir":"Articles","previous_headings":"","what":"Comparison with other packages","title":"Capabilities compared to other SDM packages","text":"Species distribution modelling (SDM) approaches around quite result number ecological modelling focused packages developed. general customized towards specific purposes modelling paradigm. isn’t just another SDM package? Indeed , ibis.iSDM number particular features set apart SDM packages: focuses particularly integration guiding principle different ways heterogeneous sources evidence can integrated. puts strong focus biodiversity types, particular Poisson-Process models (PPMs) default way analyzing presence-data. follows object-based modular programming philosophy, taking inspiration tidy programming approaches. supports number Bayesian SDM approaches algorithms, field traditionally less represented owing computational constraints. customized create modify spatio-temporal scenarios, including IIASA integrated land-use assessment model GLOBIOM. Thus overall, idea package part trying bring innovation SDM modelling world, also trying bring together strengths different existing tools. Non exhaustive list acknowledging SDM packages R compare ibis.iSDM provided : hSDM -> Bayesian framework hierachical mixed models. Fast, little flexibility regards weights, offsets different datatypes. multispeciesPP -> Package allows integrated SDMs, however developed since years key gaps remain particular regards different modelling approaches. inlabru -> Package specifically Lox-Gaussian-Cox Process (LGCP) models INLA, now integrated also engine ibis.iSDM pointedSDMs -> Another wrapper INLA allows integrate different datasets SDM. Less focus priors, offsets scenarios. biomod2 -> Popular package ensemble modelling, fixed specific (non-Bayesian) engines data types integration options. sdmTMB -> Package fitting spatial-Temporal SDMs specific biodiversity data. modleR -> similar biomod2 wrapper construct ensembles models. kuenm -> Another wrapper Maxent. flexSDM Similar biomod2 wrapper SDMs, coming several helper functions data preparation cross-validation. Besides SDMs also new packages available spatial integrated species occupancy models, spOccupancy. Occupancy modelling however requires specific biodiversity data information infer detectability species occurrences.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"frequently-asked-questions-faq","dir":"Articles","previous_headings":"","what":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"document contains series frequently asked questions using ibis.iSDM package work progress.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"data-and-model-preparation","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Data and model preparation","title":"Frequently Asked Questions (FAQ)","text":"ibis.iSDM R-package can handle standard spatial formats R (vector raster formats) works predominantly [sf], [SpatRaster] [stars] packages much formatting processing work. adding [biodiversity] [predictor] variables distribution() object number default validity checks alignments commonly conducted, instance ensuring provided points align geographic projection. ease modelling avoid unfortunate errors crashes, ideally ensure following steps taken: 'background' layer describing modelling extent provided directly [sf] 'POLYGON' 'MULTIPOLYGON' object covers biodiversity predictor data. provided data geographic projection. Biodiversity data provided [sf] format covers 'background' bounding box. Furthermore biodiversity dataset set \"field_occurrence\" field numeric values. appropriately formatted (see also ). Important: environmental predictors becomes important ensure nodata values appropriately handled. Unfortunately many implemented [engines] can handle nodata values well, thus necessary pre-processing remove rows covariate extraction least one variable missing data. instance assinging constant NA values: Technically, impossible estimate probability occurrence just presence-data (commonly available databases like GBIF). people normally add called pseudo-absence (often excessive numbers) entire background data, approximating probability occurrence assuming detection probability uniform landscape (see Merow et al. 2013). ibis.iSDM package follows design principle data types (e.g. presence-presence-absence records) modelled least amount assumptions possible. presence-records default way estimating kind responses habitat suitability estimate data following Poisson-Process modelling approach. However, possible add pseudo-absence points presence-dataset follows: Also see add_pseudoabsence() pseudoabs_settings() help pages settings also first article website. example possible define pseudo-absence sampling specific spatial formats, sampling within outside minimum convex polygon (MCP) presence points within certain buffer. Yes, ibis.iSDM package uses range different functionalities , existing packages functions required specific purpose, packages question installed. easy convenience functions install packages ibis_dependencies() installs packages listed getOption(\"ibis.dependencies\").","code":"predictors[is.na(predictors)] <- 0 virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points',quiet = TRUE) # This takes the default pseudo-absence options created when loading the Ibis package. virtual_points <- add_pseudoabsence(virtual_points, field_occurrence = \"Observed\") # Check that absence points are present unique(virtual_points$Observed)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"model-setup","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Model setup","title":"Frequently Asked Questions (FAQ)","text":"Yes, can desirable outcome modelling. instance one can make - absence better information dispersal constrain (see [add_constrain_dispersal]) - assumption certain species can disperse within given ecoregion beyond. See instance method section Wessels, Merow Trisos (2021). directly ibis.iSDM R-package, one specify limit projection [distribution()] object. context zones extent whole background (extent spatial scale). prediction however limited zones supplied biodiversity observations fall . dedicated function ([create_zonaloccurrence_mask()]) help set zones, either taking existing categorical raster datasets constructing buffers around existing presence records (example reflect assumed maximum dispersal distances). ibis.iSDM R-package allows users add prior information parameters model estimated. priors added engine-specific priors format depends engine question (see specific help pages information). prior can generally define via combination ENGINENAME + Prior wrapped PriorList used estimation. Example: Multiple priors Engine can defined PriorList. Whenever prior variable set , overwrites previous value. great number SDM literature suggests altering background / pseudo-absence points created, can greatly affect model outcomes (see add_pseudoabsence() references). ibis.iSDM R-package options available modify pseudo-absence points created. default package creates least 10 000 points least 25% presence-points (ever larger). change default pseudo-absence sampling settings, two options. Either change global default settings pseudo-absence sampling adding settings add_biodiversity function. overwrite global settings, following: Alternatively one think specifying specific pseudo-absence sampling information one biodiversity dataset specifically: code ibis.iSDM R-package default already parallelized many computationally-intensive operations making use cores (can find example case, please raise issue). number cores generally decided option \"ibis.nthread\" [ibis_options()]. cases, parallelized code run via [parallel] [doParallel] packages, although code infancy support [future] parallelization approaches well, offering greater flexibility. See function [ibis_future] information also use. typical use case thus run separate models (via train()) loop scheduler High-Performance-Computer. Users careful case shared resources, e.g. don’t parallelize operations machine. need parallelize multiple models instance, suggested disable 'ibis.runparallel' option. Yes. add_offset() add_offset_range() functions allows specify spatial explicit offset term added regression model question. offset generally just coefficient set specific value. get one offset, one just needs combine different provided offsets way consistent get fixed value (see reference. can done either summing transformed value (discouraged can errorprone) simply multiplying . Internally provided offsets model object combined via simple addition together. thus requires users transform aprior (instance log transform) adding estimation.","code":"# Where zone is a provided raster mod <- distribution(background, limits = zone) |> add_biodiversity_poipo(species_data) |> engine_gdb() |> train() plot(mod) # Alternatively one can also create such limits based on a minimum convex polygon # of the provided data. Here we create a non-buffered MCP across all points used # in species_data to constrain the prediction. mod <- distribution(background, limits_method = \"mcp\", mcp_buffer = 0) |> add_biodiversity_poipo(species_data) |> engine_gdb() |> train() plot(mod) # We have prior information that 'Forest' is important for a species # In this case and for the INLA engine we define normal prior on the mean and precision p <- INLAPrior(variable = \"Forest\",type = \"normal\",hyper = c(2, 10)) # This is then wrapped in a PriorList pp <- priors(p) print( pp ) # We can specify multiple priors of course p <- list( INLAPrior(variable = \"Forest\",type = \"normal\",hyper = c(2, 10)), INLAPrior(variable = \"Cropland\",type = \"normal\",hyper = c(0, 1)) ) pp <- priors(pp) # And can now added to the model mod <- distribution(background, limits = zone) |> add_biodiversity_poipo(species_data) |> add_predictors(covariates) |> add_priors(priors = pp) engine_inlabru() # Define new settings with greater number of background points ss <- pseudoabs_settings(background = NULL, nrpoints = 1e6) # Overwrite the default settings options(\"ibis.pseudoabsence\" = ss) # Define absence layer with biased background to sample from ss <- pseudoabs_settings(background = NULL, bias = bias_layer) # Assuming background and point data exists x <- distribution(background) |> add_biodiversity_poipo(points, pseudoabsence_settings = ss) # Check ibis options if set ibis_options() options('ibis.runparallel' = FALSE) # Set to FALSE offset1 <- runif(10) offset2 <- runif(10) # Identical log(offset1) + log(offset2) log(offset1*offset2)"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"fitting-and-scenarios","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Fitting and Scenarios","title":"Frequently Asked Questions (FAQ)","text":"two options can enabled reduce number messages: setting parameter verbose train() FALSE messages created respective engine suppressed. Setting parameter ibis.setupmessages FALSE suppresses package related message. can done via Cross-validation deliberatly integrated package. Users like make use cross-validation techniques thus need set external modelling routines. Reason multiple types integration package, construction (independent) testing datasets trivial (considering example offsets, priors multiple datasets). ibis.iSDM R-package two engines makes use INLA framework, namely [engine_inla] [engine_inlabru]. package author started developing package, [engine_inlabru] yet support multiple likelihoods thus implemented directly. Predictions [engine_inla] [engine_inlabru] identical, although latter infer predictions directly, instead simulating posterior. simulation particularly helpful creating (future) projections otherwise new model need fitted every newdata object. creating predictive models SDMs often concern predict variable range outside environmental conditions model trained. ibis.iSDM package supports variable ‘clamping’ predictions similar popular Maxent model, however [engine]. Clamping can enabled setting parameter clamp [train] TRUE. restricts spatial (spatial-temporal) projections combined range predictor variables observed training localities. Similar functionalities also available separately scenario projections setting adaptability constraints (see [add_constraint_adaptability] [add_constraint_boundary]). many predictors SDM can cause substantial -parametrization subsequently overfitting (e.g. model reproducing data trained rather projecting areas unknown). recommended () either use engine strong regularization, example [engine_glmnet] [engine_gdb], (b) train model caution minimum number observations (arbitrary rule thumb, least 10 observations additional predictor included), (c) make use pre-estimation removal predictor, example variable importance criteria colinearity. See code example. distribution model trained inference_only parameter train() set FALSE (Default), outputs prediction found created object SpatRaster. default engines produce SpatRaster object least one band called “mean” average prediction engine. also result returned created model object plotted. addition, Bayesian Engines bands quantifying posterior predictive uncertainty might available can plotted well. raster can also saved spatial GeoTiff given filename using write_output() function. Example: usually due either number rounds estimation low learning_rate high. Try different options parameters engine. good way check performance also plot evaluation log logloss. Yes . Generally, computation speed handled respective engine every engine supports example multi-threaded computations. However, computationally demanding steps package usually spatial prediction functionalities ‘tile’ data predictions made. using R [future] package asynchronous projections. Note: won’t usually improve things small models/covariates overhead setting model negates speed improvements set , simply execute following Now prediction make use specified future plan. counts initial model predictions projections. aim parallelize range species instead, might worthhile rather parallize iteration prediction.","code":"options(\"ibis.setupmessages\" = FALSE) # Prior to model fitting, remove highly collinear predictors through a pearson correlation assessment mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_glmnet() |> train(filter_predictors = \"pearson\") # Alternatively use a RandomForest estimator to remove the least important variables mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_glmnet() |> train(filter_predictors = \"RF\") mod <- distribution(background) |> add_biodiversity_poipo(species_data) |> engine_inlabru() |> train() # To plot plot(mod, \"mean\") plot(mod, \"sd\") # To get the layer mod$get_data(\"prediction\") # To save the output layer as floating point geoTiff write_output(mod, \"myoutput.tif\", type = \"gtif\", dt = \"FLT4S\") # Requires a fitted model plot(fit$get_data(\"fit_best\")$evaluation_log) # Set parallel option ibis_enable_parallel() # Enable parallel processing in general ibis_set_threads(4) # 4 Threads ibis_set_strategy(\"multisession\") # R multi-session ibis_future() # Set up a future plan"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"model-troubleshooting","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Model troubleshooting","title":"Frequently Asked Questions (FAQ)","text":"various forms integration simple approach adding [ensembles], [priors] [offsets] fully integrated multiple likelihood models (see Fletcher et al. 2019). Thus, users range possibilities combine different sources evidence modelling. regards different [engines] treat multiple biodiversity datasets. Unfortunately [engine_inla()], [engine_inlabru()] [engine_stan()] support fully integrated multiple likelihood models. full overview can found Engine comparison table. [engines] combine multiple datasets running separate models sequence order determined sequence datasets added model. Within train() function, users option specifying previous predictions handled [method_integration] parameter. example predictions one model added predictors offset next. coefficients one model can used create starting priors next model. default, presence biodiversity data modelled point-process model (PPM, see Renner et al. 2015). Similar Maximum Entropy models models can quite sensitive biased input, common non-structured biodiversity observations presence points tend clustered urban easily accessible areas. avoid predictions biased towards covariates, number things can potentially done . Modify targeted background sampling better control background points. can instance done via add_pseudoabsence() pseudoabs_settings() methods. See respective help files. Make use spatial thinning approaches. See instance Aiello-Lammers et al. 2015 Steen et al. 2021. Note however spatial thinning remove data points, affecting instance poisson distributed models (PPMs) process. Theibis.iSDM package functionality spatial thinning implemented thin_observations() function. Partial biased variable prediction. add_control_bias() function can used specify value needs partialed model. bias_value specified can set instance 0 amount assumed equivalent minimal bias. Consider setting [clamp] parameter train() TRUE. Add spatial offset account bias introduced Merow et al. 2016. can done via add_offset_bias() function requires preparation bias layer advance. Apply rigorous filtering bias control input data. end correction can replace good data preparation cleaning. Remember GIGO principle.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/08_frequently-asked-questions.html","id":"any-other-questions-and-issues","dir":"Articles","previous_headings":"Frequently Asked Questions (FAQ)","what":"Any other questions and issues","title":"Frequently Asked Questions (FAQ)","text":"Often easier communicate index suitability (scale [0-1]) stakeholders policy, can principle derived ibis.iSDM output. Especially using Poisson Process models infer suitability given area, units can hard interpret non-scientists. easy way achieve added function Biodiversity distribution object. See example. feature, bug ;) Many covariates often come unusual characters symbols can readily used equations queries tabular data. sanitize_names() function cleans variable names removes / resets non conform symbols. Particular multi-dimensional scenarios (e.g. 1 variable) created, necessary also read multi-dimensional array. default Version 0.1.3 onwards, files ending ‘nc’ (netcdf) multiple variables stored . read :","code":"# Train a model fit <- distribution(background) |> # Presence-absence data add_biodiversity_poipo(my_gbifpoints) |> add_predictors(predictors) |> engine_glmnet() |> train() # Make a transformed prediction of the suitability layer # The output is a normalized prediction surface # created via (x - min) / (max - min) or x/sum(x) respectively pred <- fit$calc_suitabilityindex() # It can be disabled by setting the following option to false at the start of the script. options('ibis.cleannames' = FALSE) library(stars) sc <- stars::read_mdim('myscenarioprojection.nc') # Split the attribute variable up sc <- sc |> split() # Check sc"},{"path":"https://iiasa.github.io/ibis.iSDM/articles/contributing.html","id":"contributing-to-development-of-the-ibis-isdm-r-package","dir":"Articles","previous_headings":"","what":"Contributing to development of the ibis.iSDM R-package","title":"Contributing to the Package development","text":"welcome contributions ibis.iSDM R-package. contributions simple typo fixes, additions documentation testthat tests, enhancing vignettes provide greater understanding package, completely new functions. latter, please get touch package author one maintainers first. Pull requests master branch require confirmation code review package maintainers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/articles/contributing.html","id":"development-guidelines","dir":"Articles","previous_headings":"Contributing to development of the ibis.iSDM R-package","what":"Development guidelines","title":"Contributing to the Package development","text":"ibis.iSDM contains primarily functions fitting models. Speed flexibility key Don’t repeat . Create new functions necessary classes. Equally try reuse common names R, e.g. plot, summary Please run code checks tests regularly. Avoid using additional package dependencies possible. Comment code!! Use assertions verify inputs functions. bored, please write unit tests ensure evaluate (CRTL+SHIFT+T)! (also see issues projects) open issues","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Martin Jung. Author, maintainer, copyright holder. Maximilian H.K. Hesselbarth. Contributor.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Jung, M. (2023). integrated species distribution modelling framework heterogeneous biodiversity data. Ecological Informatics, 102127. Jung, M., Hesselbarth, H.K.M. (2023). integrated species distribution modelling framework heterogeneous biodiversity data. R package version 0.0.5","code":"@Article{, title = {An integrated species distribution modelling framework for heterogeneous biodiversity data}, author = {Martin Jung}, journal = {Ecological Informatics}, volume = {76}, year = {2023}, pages = {102127}, url = {https://doi.org/10.1016/j.ecoinf.2023.102127}, } @Misc{, title = {An integrated species distribution modelling framework for heterogeneous biodiversity data}, author = {Martin Jung and Maximilian H.K. Hesselbarth}, year = {2023}, version = {0.0.9}, }"},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"the-ibis-framework---an-integrated-model-for-biodiversity-distribution-projections","dir":"","previous_headings":"","what":"A R-package for Integrated Biodiversity distribution modelling","title":"A R-package for Integrated Biodiversity distribution modelling","text":"ibis.iSDM package provides series convenience functions fit integrated Species Distribution Models (iSDMs). integrated models generally refer SDMs incorporate information different biodiversity datasets, external parameters priors offsets respect certain variables regions. See Fletcher et al. (2019) Isaac et al. (2020) introduction iSDMs.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"A R-package for Integrated Biodiversity distribution modelling","text":"latest version can installed GitHub. CRAN release planned, meantime package can found R-universe well.","code":"# For installation (Not yet done) install.packages(\"ibis.iSDM\", repos = \"https://iiasa.r-universe.dev\") # For Installation directly from github install.packages(\"remotes\") remotes::install_github(\"IIASA/ibis.iSDM\")"},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"basic-usage","dir":"","previous_headings":"","what":"Basic usage","title":"A R-package for Integrated Biodiversity distribution modelling","text":"See relevant reference site articles. Note package active development parameters functions might change. Citation: Jung, Martin. 2023. “Integrated Species Distribution Modelling Framework Heterogeneous Biodiversity Data.” Ecological Informatics, 102127, DOI","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"acknowledgement-","dir":"","previous_headings":"","what":"Acknowledgement","title":"A R-package for Integrated Biodiversity distribution modelling","text":"ibis.iSDM developed maintained Biodiversity, Ecology Conservation group International Institute Applied Systems Analysis (IIASA), Austria.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/index.html","id":"contributors","dir":"","previous_headings":"","what":"Contributors","title":"A R-package for Integrated Biodiversity distribution modelling","text":"contributions project gratefully acknowledged using allcontributors package following -contributors specification. Contributions kind welcome!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a tree-based split probability prior for BART — BARTPrior","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Function include prior information split probability Bayesian additive regression tree model added via engine_bart. Priors engine_bart specified transition probabilities variables internally used generate splits regression tree. Specifying prior can thus help 'enforce' split given variable. can numeric coded values 0 1.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"","code":"BARTPrior(variable, hyper = 0.75, ...) # S4 method for class 'character' BARTPrior(variable, hyper = 0.75, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"variable character matched existing predictors latent effects. hyper numeric object number >0 equal 1. Defaults 0.75. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Even given variable included split regression classification tree, necessarily mean prediction changes value non-informative (split can occur early ). however affect variable importance estimates calculated model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a tree-based split probability prior for BART — BARTPrior","text":"Chipman, H., George, E., McCulloch, R. (2009) BART: Bayesian Additive Regression Trees. Chipman, H., George, E., McCulloch R. (2006) Bayesian Ensemble Learning. Advances Neural Information Processing Systems 19, Scholkopf, Platt Hoffman, Eds., MIT Press, Cambridge, MA, 265-272.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"helper function specify several BARTPrior objects hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"","code":"BARTPriors(variable, hyper = 0.75, ...) # S4 method for class 'character' BARTPriors(variable, hyper = 0.75, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BARTPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a BART prior — BARTPriors","text":"variable character matched existing predictors latent effects. hyper numeric object number >0 equal 1. Defaults 0.75. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Function include prior information via Zellner-style spike slab prior generalized linear models used engine_breg. priors similar horseshoe priors used regularized engine_stan models penalize regressions assuming predictors effect 0.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"","code":"BREGPrior(variable, hyper = NULL, ip = NULL) # S4 method for class 'character' BREGPrior(variable, hyper = NULL, ip = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"variable character matched existing predictors. hyper numeric estimate mean regression coefficients. ip numeric estimate 0 1 inclusion probability target variable (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Zellner-style spike slab prior generalized linear models specified described Boom R-package. Currently supported two options work models Poisson binomial (Bernoulli) distributed errors. Two types priors can provided variable: \"coefficient\" Allows specify Gaussian priors mean coefficients model. Priors coefficients can provided via \"hyper\" parameter. Note variables prior can still regularized model. \"inclusion.probability\" vector giving prior probability inclusion specified variable. can useful prior information preference known strength . coefficients set, inclusion probability also modified default. However even knowing particular estimate beta coefficients direction, one can still provide estimate inclusion probability. words: hyperparameters 'hyper' 'ip' NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"Hugh Chipman, Edward . George, Robert E. McCulloch, M. Clyde, Dean P. Foster, Robert . Stine (2001), \"Practical Implementation Bayesian Model Selection\" Lecture Notes-Monograph Series, Vol. 38, pp. 65-134. Institute Mathematical Statistics.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new spike and slab prior for Bayesian generalized linear models — BREGPrior","text":"","code":"if (FALSE) { # \\dontrun{ # Positive coefficient p1 <- BREGPrior(variable = \"forest\", hyper = 2, ip = NULL) p1 # Coefficient and direction unknown but variable def. important p2 <- BREGPrior(variable = \"forest\", hyper = NULL, ip = 1) p2 } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"helper function specify several BREGPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"","code":"BREGPriors(variable, hyper = NULL, ip = NULL) # S4 method for class 'character' BREGPriors(variable, hyper = NULL, ip = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BREGPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a BREG prior — BREGPriors","text":"variable character matched existing predictors. hyper numeric estimate mean regression coefficients. ip numeric estimate 0 1 inclusion probability target variable (Default: NULL).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":null,"dir":"Reference","previous_headings":"","what":"BiodiversityDataset prototype description — BiodiversityDataset-class","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"BiodiversityDataset prototype description","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"name default name dataset character. id character unique id dataset. equation formula object containing equation dataset modelled. family family used dataset character. link link function used data character. type character type character. weight numeric containing custom weights per observation dataset. field_occurrence character name column name containing observations. data Contains observational data sf format. use_intercept logical flag whether intercepts included dataset. pseudoabsence_settings Optionally provided pseudoabsence settings.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"BiodiversityDataset$new() BiodiversityDataset$print() BiodiversityDataset$set_equation() BiodiversityDataset$get_equation() BiodiversityDataset$show_equation() BiodiversityDataset$get_id() BiodiversityDataset$get_type() BiodiversityDataset$get_column_occ() BiodiversityDataset$get_family() BiodiversityDataset$get_link() BiodiversityDataset$get_data() BiodiversityDataset$get_weight() BiodiversityDataset$show() BiodiversityDataset$get_observations() BiodiversityDataset$mask() BiodiversityDataset$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$new( name, id, equation, family, link, type, weight, field_occurrence, data, use_intercept, pseudoabsence_settings )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"name default name dataset character. id character unique id dataset. equation formula object containing equation dataset modelled. family family used dataset character. link link function used data character. type character type character. weight numeric containing custom weights per observation dataset. field_occurrence character name column name containing observations. data Contains observational data sf format. use_intercept logical flag whether intercepts included dataset. pseudoabsence_settings Optionally provided pseudoabsence settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-set-equation-","dir":"Reference","previous_headings":"","what":"Method set_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Set new equation writes formula","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$set_equation(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"x new formula object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-equation-","dir":"Reference","previous_headings":"","what":"Method get_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"placeholder formula object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-show-equation-","dir":"Reference","previous_headings":"","what":"Method show_equation()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Function print equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$show_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get Id within dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-type-","dir":"Reference","previous_headings":"","what":"Method get_type()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get type dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_type(short = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"short logical flag formatted shortform.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-column-occ-","dir":"Reference","previous_headings":"","what":"Method get_column_occ()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get field occurrence information","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_column_occ()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character occurence field","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-family-","dir":"Reference","previous_headings":"","what":"Method get_family()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get family","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_family()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character family dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-link-","dir":"Reference","previous_headings":"","what":"Method get_link()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get custom link function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_link()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"character family dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get data object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"sf object data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-weight-","dir":"Reference","previous_headings":"","what":"Method get_weight()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Get weight","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_weight()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"numeric weights within dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Print input messages","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-get-observations-","dir":"Reference","previous_headings":"","what":"Method get_observations()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Collect info statistics number observations","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$get_observations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"numeric number observations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed mask","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"","code":"BiodiversityDataset$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDataset-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDataset prototype description — BiodiversityDataset-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":null,"dir":"Reference","previous_headings":"","what":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Acts container specified set BiodiversityDataset contained within. Functions provided summarize across BiodiversityDataset-class objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"can likely beautified .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"data list BiodiversityDataset objects. name default name collection character.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"BiodiversityDatasetCollection$new() BiodiversityDatasetCollection$print() BiodiversityDatasetCollection$show() BiodiversityDatasetCollection$get_types() BiodiversityDatasetCollection$get_names() BiodiversityDatasetCollection$set_data() BiodiversityDatasetCollection$get_data_object() BiodiversityDatasetCollection$get_data() BiodiversityDatasetCollection$get_coordinates() BiodiversityDatasetCollection$mask() BiodiversityDatasetCollection$rm_data() BiodiversityDatasetCollection$length() BiodiversityDatasetCollection$get_observations() BiodiversityDatasetCollection$get_equations() BiodiversityDatasetCollection$get_families() BiodiversityDatasetCollection$get_links() BiodiversityDatasetCollection$get_columns_occ() BiodiversityDatasetCollection$get_weights() BiodiversityDatasetCollection$get_ids() BiodiversityDatasetCollection$get_id_byType() BiodiversityDatasetCollection$get_id_byName() BiodiversityDatasetCollection$show_equations() BiodiversityDatasetCollection$plot() BiodiversityDatasetCollection$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$print(format = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"format logical flag whether message printed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-types-","dir":"Reference","previous_headings":"","what":"Method get_types()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Types biodiversity datasets included ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_types(short = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"short logical flag whether types short format.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-names-","dir":"Reference","previous_headings":"","what":"Method get_names()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get names format necessary","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_names(format = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"format logical flag whether names formatted","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Add new Biodiversity dataset collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"x character name id dataset. value BiodiversityDataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-data-object-","dir":"Reference","previous_headings":"","what":"Method get_data_object()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get specific Biodiversity dataset id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_data_object(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Returns BiodiversityDataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get biodiversity observations given dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_data(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Returns data set BiodiversityDataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-coordinates-","dir":"Reference","previous_headings":"","what":"Method get_coordinates()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get coordinates given biodiversity dataset. Else return wkt object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_coordinates(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"coordinates given object data.frame.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$mask(mask, inverse = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Remove specific biodiversity dataset id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$rm_data(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"id character given id dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Number Biodiversity Datasets connection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"numeric number datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-observations-","dir":"Reference","previous_headings":"","what":"Method get_observations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get number observations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_observations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"numeric number observations across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-equations-","dir":"Reference","previous_headings":"","what":"Method get_equations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get equations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector equations across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-families-","dir":"Reference","previous_headings":"","what":"Method get_families()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get families datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_families()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector families across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-links-","dir":"Reference","previous_headings":"","what":"Method get_links()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get custom link functions","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_links()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector link functions across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-columns-occ-","dir":"Reference","previous_headings":"","what":"Method get_columns_occ()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get fields observation columns","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_columns_occ()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector names observation columns.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-weights-","dir":"Reference","previous_headings":"","what":"Method get_weights()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get weights across datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_weights()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector weights set per dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-ids-","dir":"Reference","previous_headings":"","what":"Method get_ids()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get ids assets collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"list vector ids datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-id-bytype-","dir":"Reference","previous_headings":"","what":"Method get_id_byType()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Search specific biodiversity dataset type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_id_byType(type)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"type character given data type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character id(s) datasets given type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-get-id-byname-","dir":"Reference","previous_headings":"","what":"Method get_id_byName()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Get id name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$get_id_byName(name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"name character given name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"character id(s) datasets given name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-show-equations-","dir":"Reference","previous_headings":"","what":"Method show_equations()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Show equations datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$show_equations(msg = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"msg logical whether use print message instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Shows equations screen character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Plot whole collection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"","code":"BiodiversityDatasetCollection$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDatasetCollection-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"BiodiversityDatasetCollection super class description — BiodiversityDatasetCollection-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Biodiversity Distribution master class — BiodiversityDistribution-class","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Base R6 class biodiversity distribution objects. Serves container supplies data functions R6 classes. Generally stores objects parameters added model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Run names() distribution object show available functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"implemented yet. implemented yet.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"background SpatRaster sf object delineating modelling extent. limits optional sf object potential extrapolation limits biodiversity BiodiversityDatasetCollection object. predictors PredictorDataset object. priors optional PriorList object. control optional Control object. latentfactors character whether latentfactors used. offset character whether methods used. log optional Log object. engine Engine object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"BiodiversityDistribution$new() BiodiversityDistribution$print() BiodiversityDistribution$show() BiodiversityDistribution$name() BiodiversityDistribution$show_background_info() BiodiversityDistribution$set_limits() BiodiversityDistribution$get_limits() BiodiversityDistribution$rm_limits() BiodiversityDistribution$get_predictor_names() BiodiversityDistribution$set_latent() BiodiversityDistribution$get_latent() BiodiversityDistribution$rm_latent() BiodiversityDistribution$get_priors() BiodiversityDistribution$set_priors() BiodiversityDistribution$set_biodiversity() BiodiversityDistribution$set_predictors() BiodiversityDistribution$set_engine() BiodiversityDistribution$get_engine() BiodiversityDistribution$rm_engine() BiodiversityDistribution$get_prior_variables() BiodiversityDistribution$set_offset() BiodiversityDistribution$get_offset() BiodiversityDistribution$rm_offset() BiodiversityDistribution$plot_offsets() BiodiversityDistribution$get_offset_type() BiodiversityDistribution$set_control() BiodiversityDistribution$get_control() BiodiversityDistribution$rm_control() BiodiversityDistribution$plot_bias() BiodiversityDistribution$get_log() BiodiversityDistribution$set_log() BiodiversityDistribution$get_extent() BiodiversityDistribution$get_projection() BiodiversityDistribution$get_resolution() BiodiversityDistribution$rm_predictors() BiodiversityDistribution$rm_priors() BiodiversityDistribution$show_biodiversity_length() BiodiversityDistribution$show_biodiversity_equations() BiodiversityDistribution$get_biodiversity_equations() BiodiversityDistribution$get_biodiversity_types() BiodiversityDistribution$get_biodiversity_ids() BiodiversityDistribution$get_biodiversity_names() BiodiversityDistribution$plot() BiodiversityDistribution$summary() BiodiversityDistribution$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Initializes object creates BiodiversityDataset default.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$new(background, limits, biodiversity, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"background SpatRaster sf object delineating modelling extent. limits optional sf object potential extrapolation limits biodiversity BiodiversityDatasetCollection object. ... objects","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Looks returns properties contained objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"alias print","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-name-","dir":"Reference","previous_headings":"","what":"Method name()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Returns self-describing name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-background-info-","dir":"Reference","previous_headings":"","what":"Method show_background_info()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Summarizes extent projection set background","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_background_info()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-limits-","dir":"Reference","previous_headings":"","what":"Method set_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new limits background","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_limits(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x list object method limit type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-limits-","dir":"Reference","previous_headings":"","what":"Method get_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get provided limits set waiver","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list waiver.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-limits-","dir":"Reference","previous_headings":"","what":"Method rm_limits()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove limits set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Function querying predictor names existing","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-latent-","dir":"Reference","previous_headings":"","what":"Method set_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Adding latent factors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_latent(type, method = NULL, separate_spde = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character given type. method character method. separate_spde logical flag whether duplicate SPDE effects created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-latent-","dir":"Reference","previous_headings":"","what":"Method get_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-latent-","dir":"Reference","previous_headings":"","what":"Method rm_latent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-priors-","dir":"Reference","previous_headings":"","what":"Method get_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get prior object found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_priors()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-priors-","dir":"Reference","previous_headings":"","what":"Method set_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new prior object. Overwrites existing ones","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_priors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-biodiversity-","dir":"Reference","previous_headings":"","what":"Method set_biodiversity()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Adds new biodiversity object existing empty collection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_biodiversity(id, p)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"id character id defining object. p BiodiversityDataset object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-predictors-","dir":"Reference","previous_headings":"","what":"Method set_predictors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new Predictor object object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_predictors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x PredictorDataset predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-engine-","dir":"Reference","previous_headings":"","what":"Method set_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new Engine object object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_engine(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x Engine object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-engine-","dir":"Reference","previous_headings":"","what":"Method get_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Gets name current engine set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_engine()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character engine name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-engine-","dir":"Reference","previous_headings":"","what":"Method rm_engine()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Removes current engine set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_engine()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-prior-variables-","dir":"Reference","previous_headings":"","what":"Method get_prior_variables()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get prior variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_prior_variables()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character variable names priors added.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-offset-","dir":"Reference","previous_headings":"","what":"Method set_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Specify new offsets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_offset(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x new SpatRaster object used offset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-offset-","dir":"Reference","previous_headings":"","what":"Method get_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get offset (print name)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_offset()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character offsets .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-offset-","dir":"Reference","previous_headings":"","what":"Method rm_offset()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove offsets found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_offset(what = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Optional character specific offsets remove.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-offsets-","dir":"Reference","previous_headings":"","what":"Method plot_offsets()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plot offset found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot_offsets()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"graphical element.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-offset-type-","dir":"Reference","previous_headings":"","what":"Method get_offset_type()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get offset parameters found","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_offset_type()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list offset parameters found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-control-","dir":"Reference","previous_headings":"","what":"Method set_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new bias control","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_control(type = \"bias\", x, method, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character type control object. x new bias control object. Expecting SpatRaster object. method method used create object. value bias value numeric.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-control-","dir":"Reference","previous_headings":"","what":"Method get_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get bias control (print name)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_control(type = \"bias\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"type character type control object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-26","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character bias object found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-control-","dir":"Reference","previous_headings":"","what":"Method rm_control()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove bias controls found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-27","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_control()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-27","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-bias-","dir":"Reference","previous_headings":"","what":"Method plot_bias()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plot bias variable set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-28","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot_bias()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-28","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"graphical element.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-log-","dir":"Reference","previous_headings":"","what":"Method get_log()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Returns output filename current log object set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-29","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_log()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-29","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character output returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-set-log-","dir":"Reference","previous_headings":"","what":"Method set_log()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Set new log object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-30","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$set_log(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"x Log object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-30","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-extent-","dir":"Reference","previous_headings":"","what":"Method get_extent()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get extent","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-31","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_extent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-31","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Background extent NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get projection background crs format.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-32","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-32","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return resolution background object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-33","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-33","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"vector resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-predictors-","dir":"Reference","previous_headings":"","what":"Method rm_predictors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove predictiors. Either specific ones.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-34","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_predictors(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"names character predictors removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-34","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-rm-priors-","dir":"Reference","previous_headings":"","what":"Method rm_priors()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Remove priors. Either specific ones.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-35","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$rm_priors(names = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-13","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"names character priors removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-35","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-biodiversity-length-","dir":"Reference","previous_headings":"","what":"Method show_biodiversity_length()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Show number biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-36","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_biodiversity_length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-36","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"numeric sum biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-show-biodiversity-equations-","dir":"Reference","previous_headings":"","what":"Method show_biodiversity_equations()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Show Equations biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-37","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$show_biodiversity_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-37","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message screen.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-equations-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_equations()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Get equations biodiversity records","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-38","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_equations()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-38","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-types-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_types()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Query biodiversity types object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-39","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_types()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-39","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"character vector.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-ids-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_ids()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return biodiversity dataset ids object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-40","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-40","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list ids biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-get-biodiversity-names-","dir":"Reference","previous_headings":"","what":"Method get_biodiversity_names()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Return character names biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-41","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$get_biodiversity_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-41","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"list names biodiversity datasets","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Plots content class.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-42","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-42","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"Summary function object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-43","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"returns-43","dir":"Reference","previous_headings":"","what":"Returns","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"message.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"usage-44","dir":"Reference","previous_headings":"","what":"Usage","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"BiodiversityDistribution$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"arguments-14","dir":"Reference","previous_headings":"","what":"Arguments","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityDistribution-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Biodiversity Distribution master class — BiodiversityDistribution-class","text":"","code":"# Query available functions and entries background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Define model x <- distribution(background) #> [Setup] 2024-10-08 19:46:31.208288 | Creating distribution object... names(x) #> [1] \".__enclos_env__\" \"engine\" #> [3] \"log\" \"offset\" #> [5] \"latentfactors\" \"control\" #> [7] \"priors\" \"predictors\" #> [9] \"biodiversity\" \"limits\" #> [11] \"background\" \"clone\" #> [13] \"summary\" \"plot\" #> [15] \"get_biodiversity_names\" \"get_biodiversity_ids\" #> [17] \"get_biodiversity_types\" \"get_biodiversity_equations\" #> [19] \"show_biodiversity_equations\" \"show_biodiversity_length\" #> [21] \"rm_priors\" \"rm_predictors\" #> [23] \"get_resolution\" \"get_projection\" #> [25] \"get_extent\" \"set_log\" #> [27] \"get_log\" \"plot_bias\" #> [29] \"rm_control\" \"get_control\" #> [31] \"set_control\" \"get_offset_type\" #> [33] \"plot_offsets\" \"rm_offset\" #> [35] \"get_offset\" \"set_offset\" #> [37] \"get_prior_variables\" \"rm_engine\" #> [39] \"get_engine\" \"set_engine\" #> [41] \"set_predictors\" \"set_biodiversity\" #> [43] \"set_priors\" \"get_priors\" #> [45] \"rm_latent\" \"get_latent\" #> [47] \"set_latent\" \"get_predictor_names\" #> [49] \"rm_limits\" \"get_limits\" #> [51] \"set_limits\" \"show_background_info\" #> [53] \"name\" \"show\" #> [55] \"print\" \"initialize\""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Base R6 class biodiversity scenario objects. Serves container supplies data functions R6 classes functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sets threshold method internally 'fixed'. latent factor usually obtained fitted model object, unless re-specified added list. requires \"gganimate\" package. requires set threshold() scenario object. requires set threshold prior projection.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"modelobject name model projection. modelid id model used projection. limits sf object used constraint prediction. predictors predictor object projection. constraints constraints set projection. latentfactors list whether latentfactors used. scenarios resulting stars objects.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"BiodiversityScenario$new() BiodiversityScenario$print() BiodiversityScenario$verify() BiodiversityScenario$show() BiodiversityScenario$get_projection() BiodiversityScenario$get_resolution() BiodiversityScenario$get_model() BiodiversityScenario$get_limits() BiodiversityScenario$rm_limits() BiodiversityScenario$get_predictor_names() BiodiversityScenario$get_timeperiod() BiodiversityScenario$get_constraints() BiodiversityScenario$rm_constraints() BiodiversityScenario$get_threshold() BiodiversityScenario$get_thresholdvalue() BiodiversityScenario$apply_threshold() BiodiversityScenario$set_predictors() BiodiversityScenario$set_constraints() BiodiversityScenario$get_simulation() BiodiversityScenario$set_simulation() BiodiversityScenario$get_predictors() BiodiversityScenario$rm_predictors() BiodiversityScenario$get_data() BiodiversityScenario$rm_data() BiodiversityScenario$set_data() BiodiversityScenario$set_latent() BiodiversityScenario$get_latent() BiodiversityScenario$rm_latent() BiodiversityScenario$plot() BiodiversityScenario$plot_threshold() BiodiversityScenario$plot_migclim() BiodiversityScenario$plot_animation() BiodiversityScenario$plot_relative_change() BiodiversityScenario$summary() BiodiversityScenario$summary_beforeafter() BiodiversityScenario$plot_scenarios_slope() BiodiversityScenario$calc_scenarios_slope() BiodiversityScenario$mask() BiodiversityScenario$get_centroid() BiodiversityScenario$save() BiodiversityScenario$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Print names properties scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-verify-","dir":"Reference","previous_headings":"","what":"Method verify()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Verify set Model exist check self-validity","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$verify()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Show name Model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Model objectname","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get projection projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sf object geographic projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get resultion projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"numeric indication resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-model-","dir":"Reference","previous_headings":"","what":"Method get_model()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get actual model used projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_model(copy = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"copy logical flag whether deep copy created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-limits-","dir":"Reference","previous_headings":"","what":"Method get_limits()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get provided projection limits set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"sf object NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-limits-","dir":"Reference","previous_headings":"","what":"Method rm_limits()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove current limits.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get names predictors scenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-timeperiod-","dir":"Reference","previous_headings":"","what":"Method get_timeperiod()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get time period projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_timeperiod(what = \"range\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character whether full time period just range returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"time period start end.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-constraints-","dir":"Reference","previous_headings":"","what":"Method get_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get constrains model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_constraints()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list constraints within scenario.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-constraints-","dir":"Reference","previous_headings":"","what":"Method rm_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove contraints model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_constraints()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-threshold-","dir":"Reference","previous_headings":"","what":"Method get_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get thresholds specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list method value threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-thresholdvalue-","dir":"Reference","previous_headings":"","what":"Method get_thresholdvalue()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Duplicate function internal consistency return threshold","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_thresholdvalue()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list method value threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-apply-threshold-","dir":"Reference","previous_headings":"","what":"Method apply_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Apply new threshold projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$apply_threshold(tr = new_waiver())"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"tr numeric value new threshold.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-predictors-","dir":"Reference","previous_headings":"","what":"Method set_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_predictors(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x PredictorDataset object supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-constraints-","dir":"Reference","previous_headings":"","what":"Method set_constraints()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new constrains","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_constraints(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x list object constraint settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-simulation-","dir":"Reference","previous_headings":"","what":"Method get_simulation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get simulation options parameters gound","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_simulation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-simulation-","dir":"Reference","previous_headings":"","what":"Method set_simulation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set simulation objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_simulation(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x new simulation entries options list set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-predictors-","dir":"Reference","previous_headings":"","what":"Method get_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get Predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_predictors()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"predictor dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-predictors-","dir":"Reference","previous_headings":"","what":"Method rm_predictors()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_predictors(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"names character vector names","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get scenario predictions data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_data(what = \"scenarios\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove scenario predictions","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character vector names ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Set new data object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"x new data object measuing scenarios.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-set-latent-","dir":"Reference","previous_headings":"","what":"Method set_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Adding latent factors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$set_latent(latent)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"latent list containing data object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-latent-","dir":"Reference","previous_headings":"","what":"Method get_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-26","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"list latent settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-rm-latent-","dir":"Reference","previous_headings":"","what":"Method rm_latent()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Remove latent factors found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-27","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$rm_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-27","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot predictions made .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-28","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot(what = \"suitability\", which = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character describing layers plotted. numeric subset specific time steps. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-28","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-threshold-","dir":"Reference","previous_headings":"","what":"Method plot_threshold()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Convenience function plot thresholds set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-29","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_threshold(which = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-12","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"numeric subset specific time steps.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-29","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-migclim-","dir":"Reference","previous_headings":"","what":"Method plot_migclim()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot Migclim results existing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-30","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_migclim()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-30","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-animation-","dir":"Reference","previous_headings":"","what":"Method plot_animation()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot animation scenarios possible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-31","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_animation(what = \"suitability\", fname = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-13","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character describing layers plotted. fname optional filename write result.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-31","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-relative-change-","dir":"Reference","previous_headings":"","what":"Method plot_relative_change()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Plot relative change baseline projected thresholds","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-32","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_relative_change( position = NULL, variable = \"mean\", plot = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-14","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"position layer plotted variable character variable plotted plot logical flag whether plot results return object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-32","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"graphical representation SpatRaster.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarize change layers timesteps","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-33","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$summary( layer = \"threshold\", plot = FALSE, relative = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-15","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"layer character variable plotted plot logical flag whether plot results return coefficients. relative logical coefficients converted relative change.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-33","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarized coefficients data.frame","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-summary-beforeafter-","dir":"Reference","previous_headings":"","what":"Method summary_beforeafter()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarize -change first last layer.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-34","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$summary_beforeafter()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-34","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Summarized coefficients data.frame","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-plot-scenarios-slope-","dir":"Reference","previous_headings":"","what":"Method plot_scenarios_slope()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Calculate slopes across projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-35","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$plot_scenarios_slope( what = \"suitability\", oftype = \"stars\" )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-16","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character layer plotted (default: \"suitability\"). oftype character output type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-35","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"plot scenario slopes","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-calc-scenarios-slope-","dir":"Reference","previous_headings":"","what":"Method calc_scenarios_slope()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Calculate slopes across projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-36","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$calc_scenarios_slope( what = \"suitability\", plot = TRUE, oftype = \"stars\" )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-17","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"character layer plotted (default: \"suitability\"). plot logical flag whether plot results return coefficients. oftype character output type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-36","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"SpatRaster layer stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Convenience function mask input projections.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-37","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-18","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-37","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-get-centroid-","dir":"Reference","previous_headings":"","what":"Method get_centroid()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Get centroids projection layers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-38","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$get_centroid(patch = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-19","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"patch logical centroid calculated weighted values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-38","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Returns sf object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-save-","dir":"Reference","previous_headings":"","what":"Method save()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Save object output somewhere","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-39","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$save(fname, type = \"tif\", dt = \"FLT4S\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-20","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"fname output filename character. type format character. Matched list supported formats. dt datatype used, float64","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"returns-39","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"Saved spatial prediction drive.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"usage-40","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"","code":"BiodiversityScenario$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/BiodiversityScenario-class.html","id":"arguments-21","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for a biodiversity scenario from a trained model — BiodiversityScenario-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Class for the trained Model object — DistributionModel-class","title":"Class for the trained Model object — DistributionModel-class","text":"trained Models inherit options plus additional ones defined engine inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Class for the trained Model object — DistributionModel-class","text":"pretified commands outsourced.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Class for the trained Model object — DistributionModel-class","text":"id character id trained model name description model character. model list containing input datasets parameters model. settings Settings object information inference. fits list containing prediction fitted model. .internals list containing previous fitted models.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Class for the trained Model object — DistributionModel-class","text":"DistributionModel$new() DistributionModel$get_name() DistributionModel$print() DistributionModel$show() DistributionModel$plot() DistributionModel$plot_threshold() DistributionModel$show_duration() DistributionModel$summary() DistributionModel$effects() DistributionModel$get_equation() DistributionModel$get_data() DistributionModel$get_model() DistributionModel$set_data() DistributionModel$get_thresholdvalue() DistributionModel$get_thresholdtype() DistributionModel$show_rasters() DistributionModel$get_projection() DistributionModel$get_resolution() DistributionModel$rm_threshold() DistributionModel$calc_suitabilityindex() DistributionModel$get_centroid() DistributionModel$has_limits() DistributionModel$has_latent() DistributionModel$has_offset() DistributionModel$mask() DistributionModel$save() DistributionModel$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Class for the trained Model object — DistributionModel-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$new(name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"name description model character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"Class for the trained Model object — DistributionModel-class","text":"Return name model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"character model name used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Class for the trained Model object — DistributionModel-class","text":"Print names summarizes model within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Class for the trained Model object — DistributionModel-class","text":"Show name Model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"character run name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"Class for the trained Model object — DistributionModel-class","text":"Plots prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$plot(what = \"mean\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"character specific layer plotted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation prediction","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-plot-threshold-","dir":"Reference","previous_headings":"","what":"Method plot_threshold()","title":"Class for the trained Model object — DistributionModel-class","text":"Plots thresholded prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$plot_threshold(what = 1)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"character numeric layer plotted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation thresholded prediction found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-duration-","dir":"Reference","previous_headings":"","what":"Method show_duration()","title":"Class for the trained Model object — DistributionModel-class","text":"Show model run time settings exist","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show_duration()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric estimate duration took fit models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Class for the trained Model object — DistributionModel-class","text":"Get effects importance tables model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$summary(obj = \"fit_best\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"obj character object return.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"data.frame summarizing model, usually coefficient.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-effects-","dir":"Reference","previous_headings":"","what":"Method effects()","title":"Class for the trained Model object — DistributionModel-class","text":"Generic plotting function effect plots","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$effects(x = \"fit_best\", what = \"fixed\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x character object question. character type coefficients. ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"graphical representation coefficents.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-equation-","dir":"Reference","previous_headings":"","what":"Method get_equation()","title":"Class for the trained Model object — DistributionModel-class","text":"Get equation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_equation()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"formula inferred model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Class for the trained Model object — DistributionModel-class","text":"Get specific fit Model","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_data(x = \"prediction\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x character stating returned.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"SpatRaster object prediction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-model-","dir":"Reference","previous_headings":"","what":"Method get_model()","title":"Class for the trained Model object — DistributionModel-class","text":"Small internal helper function directly get model object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_model()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"fitted model existing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Class for the trained Model object — DistributionModel-class","text":"Set new fit Model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"x name new fit. value SpatRaster layer (model) inserted.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-thresholdvalue-","dir":"Reference","previous_headings":"","what":"Method get_thresholdvalue()","title":"Class for the trained Model object — DistributionModel-class","text":"Get threshold value calculated","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_thresholdvalue()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric threshold value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-thresholdtype-","dir":"Reference","previous_headings":"","what":"Method get_thresholdtype()","title":"Class for the trained Model object — DistributionModel-class","text":"Get threshold type format calculated.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_thresholdtype()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"vector character method numeric threshold value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-show-rasters-","dir":"Reference","previous_headings":"","what":"Method show_rasters()","title":"Class for the trained Model object — DistributionModel-class","text":"List rasters object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$show_rasters()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"vector logical flags various objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"Class for the trained Model object — DistributionModel-class","text":"Get projection background.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"geographic projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"Class for the trained Model object — DistributionModel-class","text":"Get resolution projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"numeric estimates distribution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-rm-threshold-","dir":"Reference","previous_headings":"","what":"Method rm_threshold()","title":"Class for the trained Model object — DistributionModel-class","text":"Remove calculated thresholds","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$rm_threshold()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-calc-suitabilityindex-","dir":"Reference","previous_headings":"","what":"Method calc_suitabilityindex()","title":"Class for the trained Model object — DistributionModel-class","text":"Calculate suitability index given projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$calc_suitabilityindex(method = \"normalize\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"method method used normalization.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Class for the trained Model object — DistributionModel-class","text":"Methods can either normalized minimum maximum. relative total using sumof values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Returns SpatRaster.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-get-centroid-","dir":"Reference","previous_headings":"","what":"Method get_centroid()","title":"Class for the trained Model object — DistributionModel-class","text":"Get centroids prediction layers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$get_centroid(patch = FALSE, layer = \"mean\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"patch logical centroid calculated weighted values. layer character layer use.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Returns sf object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-limits-","dir":"Reference","previous_headings":"","what":"Method has_limits()","title":"Class for the trained Model object — DistributionModel-class","text":"Logical indication prediction limited.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_limits()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-latent-","dir":"Reference","previous_headings":"","what":"Method has_latent()","title":"Class for the trained Model object — DistributionModel-class","text":"Logical indication prediction added latent factors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_latent()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-has-offset-","dir":"Reference","previous_headings":"","what":"Method has_offset()","title":"Class for the trained Model object — DistributionModel-class","text":"offset used?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$has_offset()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-23","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"Class for the trained Model object — DistributionModel-class","text":"Convenience function mask input datasets.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-24","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed mask","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-24","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-save-","dir":"Reference","previous_headings":"","what":"Method save()","title":"Class for the trained Model object — DistributionModel-class","text":"Save prediction output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-25","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$save(fname, type = \"gtif\", dt = \"FLT4S\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-10","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"fname output filename character. type format character. Matched list supported formats. dt datatype used, float64","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"returns-25","dir":"Reference","previous_headings":"","what":"Returns","title":"Class for the trained Model object — DistributionModel-class","text":"Saved spatial prediction drive.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Class for the trained Model object — DistributionModel-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"usage-26","dir":"Reference","previous_headings":"","what":"Usage","title":"Class for the trained Model object — DistributionModel-class","text":"","code":"DistributionModel$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/DistributionModel-class.html","id":"arguments-11","dir":"Reference","previous_headings":"","what":"Arguments","title":"Class for the trained Model object — DistributionModel-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine class description — Engine-class","title":"Engine class description — Engine-class","text":"Basic object engine, engines inherit .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Engine class description — Engine-class","text":"engine class name engine. name name engine data data parameters necessary make engine work.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Engine class description — Engine-class","text":"Engine$new() Engine$print() Engine$show() Engine$get_class() Engine$get_data() Engine$list_data() Engine$set_data() Engine$get_self() Engine$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Engine class description — Engine-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$new(engine, name)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"engine class name engine. name name engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Engine class description — Engine-class","text":"Print Engine name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Engine class description — Engine-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-class-","dir":"Reference","previous_headings":"","what":"Method get_class()","title":"Engine class description — Engine-class","text":"Get class description","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_class()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"character class saved engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"Engine class description — Engine-class","text":"Get specific data engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"x respecified data added engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"list data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-list-data-","dir":"Reference","previous_headings":"","what":"Method list_data()","title":"Engine class description — Engine-class","text":"List data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$list_data()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"character vector data entries.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"Engine class description — Engine-class","text":"Set data engine","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$set_data(x, value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"x character name id dataset. value new list parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-get-self-","dir":"Reference","previous_headings":"","what":"Method get_self()","title":"Engine class description — Engine-class","text":"Dummy function get self object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$get_self()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Engine class description — Engine-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Engine class description — Engine-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine class description — Engine-class","text":"","code":"Engine$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Engine-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine class description — Engine-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Monotonic constrained priors for boosted regressions — GDBPrior","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Monotonic constrains gradient descent boosting models work way priors specific coefficient magnitude importance specified. Rather monotonic constraints enforce specific directionality regression coefficients instance coefficient positive negative. Important: Specifying monotonic constrain engine_gdb guarantee variable retained model can still regularized .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"","code":"GDBPrior(variable, hyper = \"increasing\", ...) # S4 method for class 'character' GDBPrior(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"variable character matched existing predictors variables. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'positive', 'negative' 'none'. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Similar priors can also defined engine_xgboost via XGBPrior().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Monotonic constrained priors for boosted regressions — GDBPrior","text":"Hofner, B., Müller, J., & Hothorn, T. (2011). Monotonicity‐constrained species distribution models. Ecology, 92(10), 1895-1901.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"helper function specify several GLMNETPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"","code":"GDBPriors(variable, hyper = \"increasing\", ...) # S4 method for class 'character' GDBPriors(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GDBPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a GDB prior — GDBPriors","text":"variable character matched existing predictors variables. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'positive', 'negative' 'none'. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Regression penalty priors for GLMNET — GLMNETPrior","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"engine_glmnet engine support priors typical sense, however possible specify called penalty factors well lower upper limits variables model. default penalty multiplier 1 coefficient X covariate, .e. coefficients penalized equally informed intersection absence information covariates. contrast variable penalty.factor equal 0 penalized . addition, possible specifiy lower upper limit specific coefficients, constrain certain range. default ranges set -Inf Inf respectively, can reset specific value range altering \"lims\" (see examples). regularized regression supports options priors, check Bayesian engine_breg.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"","code":"GLMNETPrior(variable, hyper = 0, lims = c(-Inf, Inf), ...) # S4 method for class 'character' GLMNETPrior(variable, hyper = 0, lims = c(-Inf, Inf), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"variable character variable passed prior object. hyper numeric value 0 1 state penalization factor. default set 0, implying \"variable\" provided regularized . lims numeric vector lower upper limits coefficient (Default: c(-Inf, Inf)). ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Regression penalty priors for GLMNET — GLMNETPrior","text":"","code":"if (FALSE) { # \\dontrun{ # Retain variable p1 <- GLMNETPrior(variable = \"forest\", hyper = 0) p1 # Smaller chance to be regularized p2 <- GLMNETPrior(variable = \"forest\", hyper = 0.2, lims = c(0, Inf)) p2 } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"helper function specify several GLMNETPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"","code":"GLMNETPriors(variable, hyper = 0, lims = c(-Inf, Inf)) # S4 method for class 'character' GLMNETPriors(variable, hyper = 0, lims = c(-Inf, Inf))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/GLMNETPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for a GLMNET prior — GLMNETPriors","text":"variable character variable passed prior object. hyper numeric value 0 1 state penalization factor. default set 0, implying \"variable\" provided regularized . lims numeric vector lower upper limits coefficient (Default: c(-Inf, Inf)).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new INLA prior — INLAPrior","title":"Create a new INLA prior — INLAPrior","text":"fixed random effect INLA supports range different priors exponential distributions. Currently supported INLA ibis.iSDM following priors can specified via \"type\": \"normal\" \"gaussian\": Priors normal distributed set specified variable. Required parameters mean precision estimate provided \"hyper\". Note precision equivalent (rather inverse) typical standard deviation specified Gaussian priors. Defaults set mean 0 precision 0.001. \"clinear\": Prior places constraint linear coefficients model coefficient specified interval \"c(lower,upper)\". Specified hyper values can negative, positive infinite. \"spde\", specifically 'prior.range' 'prior.sigma': Specification penalized complexity priors can added SPDE spatial random effect added via add_latent_spatial(). range penalized complexity prior can specified 'prior.range' uncertainty via 'prior.sigma' supplied options 'type' 'hyper'. priors available INLA names(INLA::inla.models()$prior) ) might also work, tested!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new INLA prior — INLAPrior","text":"","code":"INLAPrior(variable, type = \"normal\", hyper = c(0, 0.001), ...) # S4 method for class 'character,character' INLAPrior(variable, type = \"normal\", hyper = c(0, 0.001), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new INLA prior — INLAPrior","text":"variable character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. See description. default values set mean 0 precision 0.001. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a new INLA prior — INLAPrior","text":"Compared engines, INLA unfortunately support priors related stringent parameter regularization Laplace Horseshoe priors, limits capability engine_inla regularization. said many default uninformative priors act already regularize coefficients degree.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new INLA prior — INLAPrior","text":"Rue, H., Riebler, ., Sørbye, S. H., Illian, J. B., Simpson, D. P., & Lindgren, F. K. (2017). Bayesian computing INLA: review. Annual Review Statistics Application, 4, 395-421. Simpson, D., Rue, H., Riebler, ., Martins, T. G., & Sørbye, S. H. (2017). Penalising model component complexity: principled, practical approach constructing priors. Statistical science, 32(1), 1-28.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"helper function specify several INLAPrior objects hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"","code":"INLAPriors(variables, type, hyper = c(0, 0.001), ...) # S4 method for class 'vector,character' INLAPriors(variables, type, hyper = c(0, 0.001), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/INLAPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables and types are supplied for INLA — INLAPriors","text":"variables vector character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Log prototype. — Log-class","title":"Log prototype. — Log-class","text":"Basic R6 object Log, Log inherit ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Log prototype. — Log-class","text":"filename character log stored. output log content.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Log prototype. — Log-class","text":"Log$new() Log$print() Log$open() Log$close() Log$get_filename() Log$set_filename() Log$delete() Log$open_system() Log$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Log prototype. — Log-class","text":"Initializes object specifies default parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$new(filename, output)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"filename character log stored. output log content.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Log prototype. — Log-class","text":"Print message filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-open-","dir":"Reference","previous_headings":"","what":"Method open()","title":"Log prototype. — Log-class","text":"Opens connection output filename.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$open(type = c(\"output\", \"message\"))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"type character vector output types.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-close-","dir":"Reference","previous_headings":"","what":"Method close()","title":"Log prototype. — Log-class","text":"Closes connection output file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$close()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-get-filename-","dir":"Reference","previous_headings":"","what":"Method get_filename()","title":"Log prototype. — Log-class","text":"Get output filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$get_filename()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"character filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-set-filename-","dir":"Reference","previous_headings":"","what":"Method set_filename()","title":"Log prototype. — Log-class","text":"Set new output filename","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$set_filename(value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"value character new filename.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-delete-","dir":"Reference","previous_headings":"","what":"Method delete()","title":"Log prototype. — Log-class","text":"Delete log file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$delete()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-open-system-","dir":"Reference","previous_headings":"","what":"Method open_system()","title":"Log prototype. — Log-class","text":"Open log system viewer","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$open_system()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Log prototype. — Log-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Log prototype. — Log-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Log prototype. — Log-class","text":"","code":"Log$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Log-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Log prototype. — Log-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":null,"dir":"Reference","previous_headings":"","what":"PredictorDataset class description — PredictorDataset-class","title":"PredictorDataset class description — PredictorDataset-class","text":"class describes PredictorDataset used store covariates within.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"PredictorDataset class description — PredictorDataset-class","text":"id id collection character. data predictor dataset usually SpatRaster. name name object. transformed Saves whether predictors transformed somehow. timeperiod timeperiod field","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"PredictorDataset class description — PredictorDataset-class","text":"PredictorDataset$new() PredictorDataset$print() PredictorDataset$get_name() PredictorDataset$get_id() PredictorDataset$get_names() PredictorDataset$get_predictor_names() PredictorDataset$get_data() PredictorDataset$get_time() PredictorDataset$get_projection() PredictorDataset$get_resolution() PredictorDataset$get_ext() PredictorDataset$crop_data() PredictorDataset$mask() PredictorDataset$set_data() PredictorDataset$rm_data() PredictorDataset$show() PredictorDataset$summary() PredictorDataset$has_derivates() PredictorDataset$is_transformed() PredictorDataset$get_transformed_params() PredictorDataset$length() PredictorDataset$ncell() PredictorDataset$plot() PredictorDataset$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"PredictorDataset class description — PredictorDataset-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$new(id, data, transformed = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"id id collection character. data predictor dataset usually SpatRaster. transformed logical flag predictors transformed. Assume . ... parameters found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"PredictorDataset class description — PredictorDataset-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$print(format = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"format logical flag whether message printed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"PredictorDataset class description — PredictorDataset-class","text":"Return name object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Default character name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Id object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Default character name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-names-","dir":"Reference","previous_headings":"","what":"Method get_names()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get names data","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"character names data value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-predictor-names-","dir":"Reference","previous_headings":"","what":"Method get_predictor_names()","title":"PredictorDataset class description — PredictorDataset-class","text":"Alias get_names","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_predictor_names()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"character names data value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-data-","dir":"Reference","previous_headings":"","what":"Method get_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get specific dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_data(df = FALSE, na.rm = TRUE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"df logical whether data returned data.frame. na.rm logical NA removed data.frame. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"SpatRaster data.frame.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-time-","dir":"Reference","previous_headings":"","what":"Method get_time()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get time dimension object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_time(...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"vector time dimension dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-projection-","dir":"Reference","previous_headings":"","what":"Method get_projection()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Projection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_projection()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"vector geographical projection object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-resolution-","dir":"Reference","previous_headings":"","what":"Method get_resolution()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Resolution","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_resolution()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric vector spatial resolution data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-ext-","dir":"Reference","previous_headings":"","what":"Method get_ext()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get Extent predictors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_ext()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric vector spatial resolution data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-crop-data-","dir":"Reference","previous_headings":"","what":"Method crop_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Utility function clip predictor dataset another dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$crop_data(pol, apply_time = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"pol sf object used cropping data apply_time logical flag indicating time acknowledged cropping.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"PredictorDataset class description — PredictorDataset-class","text":"code now also","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-mask-","dir":"Reference","previous_headings":"","what":"Method mask()","title":"PredictorDataset class description — PredictorDataset-class","text":"Utility function mask predictor dataset another dataset","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$mask(mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"mask SpatRaster sf object. inverse logical flag inverse masked instead. ... parameters passed masking.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-set-data-","dir":"Reference","previous_headings":"","what":"Method set_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Add new Predictor dataset collection","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$set_data(value)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"value new SpatRaster stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-rm-data-","dir":"Reference","previous_headings":"","what":"Method rm_data()","title":"PredictorDataset class description — PredictorDataset-class","text":"Remove specific Predictor name","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$rm_data(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"x character predictor name removed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"PredictorDataset class description — PredictorDataset-class","text":"Alias print method","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-15","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"PredictorDataset class description — PredictorDataset-class","text":"Collect info statistics optional decimals","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-16","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$summary(digits = 2)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"digits numeric Giving rounding precision","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-16","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"data.frame summarizing data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-has-derivates-","dir":"Reference","previous_headings":"","what":"Method has_derivates()","title":"PredictorDataset class description — PredictorDataset-class","text":"Indication predictors derivates outers","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-17","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$has_derivates()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-17","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-is-transformed-","dir":"Reference","previous_headings":"","what":"Method is_transformed()","title":"PredictorDataset class description — PredictorDataset-class","text":"Predictors transformed?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-18","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$is_transformed()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-18","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"logical flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-get-transformed-params-","dir":"Reference","previous_headings":"","what":"Method get_transformed_params()","title":"PredictorDataset class description — PredictorDataset-class","text":"Get transformation params.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-19","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$get_transformed_params()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-19","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"matrix flag.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"PredictorDataset class description — PredictorDataset-class","text":"Number Predictors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-20","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-20","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric estimate","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-ncell-","dir":"Reference","previous_headings":"","what":"Method ncell()","title":"PredictorDataset class description — PredictorDataset-class","text":"Number cells values object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-21","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$ncell()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-21","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"numeric estimate","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-plot-","dir":"Reference","previous_headings":"","what":"Method plot()","title":"PredictorDataset class description — PredictorDataset-class","text":"Basic Plotting function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-22","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$plot()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"returns-22","dir":"Reference","previous_headings":"","what":"Returns","title":"PredictorDataset class description — PredictorDataset-class","text":"graphical interpretation predictors object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"PredictorDataset class description — PredictorDataset-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"usage-23","dir":"Reference","previous_headings":"","what":"Usage","title":"PredictorDataset class description — PredictorDataset-class","text":"","code":"PredictorDataset$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PredictorDataset-class.html","id":"arguments-9","dir":"Reference","previous_headings":"","what":"Arguments","title":"PredictorDataset class description — PredictorDataset-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Base Prior class — Prior-class","title":"Base Prior class — Prior-class","text":"class sets base class priors inherited priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Base Prior class — Prior-class","text":"Defines Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Base Prior class — Prior-class","text":"functionality likely deprecated checks superseeded.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Base Prior class — Prior-class","text":"id character id prior. name character name prior. type character type prior. variable character variable name prior. distribution character distribution prior relevant. value numeric character prior value, e.g. hyper-parameters. prob Another numeric entry prior field. inclusion probability. lims limitation lower upper bounds numeric value.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Base Prior class — Prior-class","text":"Prior$new() Prior$print() Prior$validate() Prior$get() Prior$set() Prior$get_id() Prior$get_name() Prior$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Base Prior class — Prior-class","text":"Initializes object prepared various prior variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$new( id, name, variable, value, type = NULL, distribution = NULL, prob = NULL, lims = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"id character id prior. name character name prior. variable character variable name prior. value numeric character prior value, e.g. hyper-parameters. type character type prior. distribution character distribution prior relevant. prob Another numeric entry prior field. inclusion probability. lims limitation lower upper bounds numeric value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Base Prior class — Prior-class","text":"Print prior type variable.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-validate-","dir":"Reference","previous_headings":"","what":"Method validate()","title":"Base Prior class — Prior-class","text":"Generic validation function provided value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$validate(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"x new prior value.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Base Prior class — Prior-class","text":"Get prior values","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get(what = \"value\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"character entry returned (Default: value).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-set-","dir":"Reference","previous_headings":"","what":"Method set()","title":"Base Prior class — Prior-class","text":"Set prior","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$set(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"x new prior value numeric character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-id-","dir":"Reference","previous_headings":"","what":"Method get_id()","title":"Base Prior class — Prior-class","text":"Get specific ID prior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-get-name-","dir":"Reference","previous_headings":"","what":"Method get_name()","title":"Base Prior class — Prior-class","text":"Get Name object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$get_name()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Base Prior class — Prior-class","text":"Returns character class name.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Base Prior class — Prior-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Base Prior class — Prior-class","text":"","code":"Prior$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Prior-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Base Prior class — Prior-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":null,"dir":"Reference","previous_headings":"","what":"List of Priors supplied to an class — PriorList-class","title":"List of Priors supplied to an class — PriorList-class","text":"class represents collection Prior objects. provides methods accessing, adding removing priors list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"List of Priors supplied to an class — PriorList-class","text":"priors list Prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList$new() PriorList$print() PriorList$show() PriorList$length() PriorList$ids() PriorList$varnames() PriorList$classes() PriorList$types() PriorList$exists() PriorList$add() PriorList$get() PriorList$collect() PriorList$rm() PriorList$summary() PriorList$combine() PriorList$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"List of Priors supplied to an class — PriorList-class","text":"Initializes object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$new(priors)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"priors list Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"List of Priors supplied to an class — PriorList-class","text":"Print summary statistics","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"List of Priors supplied to an class — PriorList-class","text":"Aliases calls print.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"List of Priors supplied to an class — PriorList-class","text":"Number priors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"numeric number priors set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-ids-","dir":"Reference","previous_headings":"","what":"Method ids()","title":"List of Priors supplied to an class — PriorList-class","text":"Ids prior objects","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$ids()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"list ids priors objects query","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-varnames-","dir":"Reference","previous_headings":"","what":"Method varnames()","title":"List of Priors supplied to an class — PriorList-class","text":"Variable names priors object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$varnames()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list variable names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-classes-","dir":"Reference","previous_headings":"","what":"Method classes()","title":"List of Priors supplied to an class — PriorList-class","text":"Function return classes contained priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$classes()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list class names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-types-","dir":"Reference","previous_headings":"","what":"Method types()","title":"List of Priors supplied to an class — PriorList-class","text":"Get types contained priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$types()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character list type names priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-exists-","dir":"Reference","previous_headings":"","what":"Method exists()","title":"List of Priors supplied to an class — PriorList-class","text":"certain variable type combination exist prior ?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$exists(variable, type = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"variable character variable name. type character type.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"character id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-add-","dir":"Reference","previous_headings":"","what":"Method add()","title":"List of Priors supplied to an class — PriorList-class","text":"Add new prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$add(p)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"p Prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"List of Priors supplied to an class — PriorList-class","text":"Get specific prior values list set","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$get(variable, type = NULL, what = \"value\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"variable character variable name. type character type name character specific entry return (Default: prior value).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-collect-","dir":"Reference","previous_headings":"","what":"Method collect()","title":"List of Priors supplied to an class — PriorList-class","text":"Collect priors given id multiple.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$collect(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"id character prior id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-rm-","dir":"Reference","previous_headings":"","what":"Method rm()","title":"List of Priors supplied to an class — PriorList-class","text":"Remove set prior id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$rm(id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"id character prior id.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-12","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"List of Priors supplied to an class — PriorList-class","text":"Summary function lists priors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-13","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-13","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"data.frame summarized priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-combine-","dir":"Reference","previous_headings":"","what":"Method combine()","title":"List of Priors supplied to an class — PriorList-class","text":"Combining function combine PriorList another new one","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-14","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$combine(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"x new PriorList object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"returns-14","dir":"Reference","previous_headings":"","what":"Returns","title":"List of Priors supplied to an class — PriorList-class","text":"Invisible TRUE","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"List of Priors supplied to an class — PriorList-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"usage-15","dir":"Reference","previous_headings":"","what":"Usage","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"PriorList$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"List of Priors supplied to an class — PriorList-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/PriorList-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of Priors supplied to an class — PriorList-class","text":"","code":"if (FALSE) { # \\dontrun{ priors( INLAPrior('var1','normal',c(0,0.1)), INLAPrior('var2','normal',c(0,0.1)) ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new STAN prior — STANPrior","title":"Create a new STAN prior — STANPrior","text":"Function create new prior engine_stan models. Priors currently can set specific environmental predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new STAN prior — STANPrior","text":"","code":"STANPrior(variable, type, hyper = c(0, 2), ...) # S4 method for class 'character,character' STANPrior(variable, type, hyper = c(0, 2), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new STAN prior — STANPrior","text":"variable character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper parameters. First entry treated mean (Default: 0), second standard variation (Default: 2) Gaussian distribution respective coefficient. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new STAN prior — STANPrior","text":"Lemoine, N. P. (2019). Moving beyond noninformative priors: choose weakly informative priors Bayesian analyses. Oikos, 128(7), 912-928. Carpenter, B., Gelman, ., Hoffman, M. D., Lee, D., Goodrich, B., Betancourt, M., ... & Riddell, . (2017). Stan: probabilistic programming language. Journal statistical software, 76(1), 1-32.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new STAN prior — STANPrior","text":"","code":"if (FALSE) { # \\dontrun{ pp <- STANPrior(\"forest\", \"normal\", c(0,1)) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables and types are supplied for STAN — STANPriors","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"helper function specify several STANPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"","code":"STANPriors(variables, type, hyper = c(0, 2), ...) # S4 method for class 'vector,character' STANPriors(variables, type, hyper = c(0, 2), ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/STANPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables and types are supplied for STAN — STANPriors","text":"variables vector character matched existing predictors latent effects. type character specifying type prior set. hyper vector numeric values used hyper-parameters. ... Variables passed prior object","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Prototype for model settings object — Settings-class","title":"Prototype for model settings object — Settings-class","text":"Basic R6 object Settings object, List stores settings used related model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Prototype for model settings object — Settings-class","text":"name default name settings character. modelid character model id belongs . data list contained settings.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Prototype for model settings object — Settings-class","text":"Settings$new() Settings$print() Settings$show() Settings$length() Settings$duration() Settings$summary() Settings$get() Settings$set() Settings$clone()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Prototype for model settings object — Settings-class","text":"Initializes object creates empty list","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$new()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"NULL","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Prototype for model settings object — Settings-class","text":"Print names properties Biodiversity datasets contained within","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$print()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"message screen","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-show-","dir":"Reference","previous_headings":"","what":"Method show()","title":"Prototype for model settings object — Settings-class","text":"Shows name settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$show()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"character name settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-length-","dir":"Reference","previous_headings":"","what":"Method length()","title":"Prototype for model settings object — Settings-class","text":"Number options","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$length()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"numeric number options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-duration-","dir":"Reference","previous_headings":"","what":"Method duration()","title":"Prototype for model settings object — Settings-class","text":"Computation duration convenience function","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$duration()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"amount time passed model fitting found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-summary-","dir":"Reference","previous_headings":"","what":"Method summary()","title":"Prototype for model settings object — Settings-class","text":"Summary call contained parameters","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$summary()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"list parameters object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Prototype for model settings object — Settings-class","text":"Get specific setting","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$get(what)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"character respective setting.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"setting found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-set-","dir":"Reference","previous_headings":"","what":"Method set()","title":"Prototype for model settings object — Settings-class","text":"Set new settings","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$set(what, x, copy = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"character name new settings. x new setting stored. Can object. copy logical whether new settings object created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Prototype for model settings object — Settings-class","text":"setting found object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Prototype for model settings object — Settings-class","text":"objects class cloneable method.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Prototype for model settings object — Settings-class","text":"","code":"Settings$clone(deep = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/Settings-class.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Prototype for model settings object — Settings-class","text":"deep Whether make deep clone.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new monotonic prior for boosted regressions — XGBPrior","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"Function include prior information monotonic constrain extreme gradient descent boosting model engine_xgboost. Monotonic priors enforce directionality direction certain variables, however specifying monotonic constrain guarantee variable regularized model fitting.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"","code":"XGBPrior(variable, hyper = \"increasing\", ...) # S4 method for class 'character,character' XGBPrior(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"variable character matched existing predictors latent effects. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'none'. ... Variables passed prior object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"Chen, T., , T., Benesty, M., Khotilovich, V., Tang, Y., & Cho, H. (2015). Xgboost: extreme gradient boosting. R package version 0.4-2, 1(4), 1-4.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPrior.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new monotonic prior for boosted regressions — XGBPrior","text":"","code":"if (FALSE) { # \\dontrun{ pp <- XGBPrior(\"forest\", \"increasing\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"helper function specify several XGBPrior hyper-parameters, different variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"","code":"XGBPriors(variable, hyper = \"increasing\", ...) # S4 method for class 'character' XGBPriors(variable, hyper = \"increasing\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/XGBPriors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper function when multiple variables are supplied for XGBOOST — XGBPriors","text":"variable character matched existing predictors latent effects. hyper character object describing type constrain. Available options 'increasing', 'decreasing', 'convex', 'concave', 'none'. ... Variables passed prior object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"function adds presence-absence biodiversity dataset distribution object. Opposed presence-data, presence-absence biodiversity records usually originate structured biodiversity surveys absence species given region specifically assessed. analysts choice also possible format presence-biodiversity data presence-absence form, adding pseudo-absence add_pseudoabsence. See help file information.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"","code":"add_biodiversity_poipa( x, poipa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_poipa( x, poipa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"x distribution() (.e. BiodiversityDistribution) object. poipa data.frame sf object presence-absence point occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records indicating presence/absence. default set \"observed\" error thrown numeric column name exist. formula character formula object passed. Default (NULL) use covariates. family character stating family used (Default: 'binomial'). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length parameter \"poipa\". separate_intercept logical value stating whether separate intercept added . shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"default, logit link function used logistic regression setting unless specific engine support generalised linear regressions (e.g. engine_bart).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"Renner, . W., J. Elith, . Baddeley, W. Fithian, T. Hastie, S. J. Phillips, G. Popovic, D. . Warton. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379. Guisan . Zimmerman N. 2000. Predictive habitat distribution models ecology. Ecol. Model. 135: 147–186.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipa.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity point dataset to a distribution object (presence-absence). — add_biodiversity_poipa","text":"","code":"if (FALSE) { # \\dontrun{ # Define model x <- distribution(background) |> add_biodiversity_poipa(virtual_species) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"function adds presence-biodiversity dataset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"","code":"add_biodiversity_poipo( x, poipo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_poipo( x, poipo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"x distribution() (.e. BiodiversityDistribution) object. poipo data.frame sf object presence-point occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default use covariates (specified). family character stating family used (Default: 'Poisson'). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"poipo\". Note: Weights reformated inverse models area offsets (e.g. 5 converted 1/5). separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. Otherwise ignored. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed object. Normally used unless described details.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"function allows add presence-biodiversity records distribution ibis.iSDM Presence-data usually modelled inferential model (see Guisan Zimmerman, 2000) relate occurrence relation environmental covariates selected sample 'background' points. common approach estimation one supported type dataset poisson-process models (PPM) presence-points fitted -weighted Poisson regression. See Renner et al. 2015 overview.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"Guisan . Zimmerman N. 2000. Predictive habitat distribution models ecology. Ecol. Model. 135: 147–186. Renner, . W., J. Elith, . Baddeley, W. Fithian, T. Hastie, S. J. Phillips, G. Popovic, D. . Warton. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_poipo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity point dataset to a distribution object (presence-only) — add_biodiversity_poipo","text":"","code":"# Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Load virtual species virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM',mustWork = TRUE),'points',quiet = TRUE) # Define model x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") #> [Setup] 2024-10-08 19:46:37.466082 | Creating distribution object... #> [Setup] 2024-10-08 19:46:37.46719 | Adding poipo dataset..."},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"function can used add sf polygon dataset existing distribution object. Presence-absence polygon data assumes area within polygon can treated 'presence' species, area outside polygon species absent.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"","code":"add_biodiversity_polpa( x, polpa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_polpa( x, polpa, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"binomial\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"x distribution() (.e. BiodiversityDistribution) object. polpa sf polygon object presence-absence occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default (NULL) use covariates . family character stating family used (Default: binomial). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"polpa\". simulate Simulate poipa points within boundaries. Result passed add_biodiversity_poipa (Default: FALSE). simulate_points numeric number points created simulation. simulate_bias SpatRaster layer describing eventual preference simulation (Default: NULL). simulate_strategy character stating strategy sampling. Can set either. 'random' 'regular', latter requiring raster supplied 'simulate_weights' parameter. separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"default approach polygon data sample presence-absence points across region polygons. function thus adds wrapper add_biodiversity_poipa() presence-points created model. Note polygon used directly modelling link covariates polygonal data established regular sampling points within polygon thus equivalent simulating points directly. integration range data predictor offset, see add_predictor_range() add_offset_range() instead.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpa.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity polygon dataset to a distribution object (presence-absence) — add_biodiversity_polpa","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_polpa(protectedArea) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"function can used add sf polygon dataset existing distribution object. Presence-polygon data treated differential point data engines particular way points generated.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"","code":"add_biodiversity_polpo( x, polpo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... ) # S4 method for class 'BiodiversityDistribution,sf' add_biodiversity_polpo( x, polpo, name = NULL, field_occurrence = \"observed\", formula = NULL, family = \"poisson\", link = NULL, weight = 1, simulate = FALSE, simulate_points = 100, simulate_bias = NULL, simulate_strategy = \"random\", separate_intercept = TRUE, docheck = TRUE, pseudoabsence_settings = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"x distribution() (.e. BiodiversityDistribution) object. polpo sf polygon object presence-occurrences. name name biodiversity dataset used internal identifier. field_occurrence numeric character location biodiversity point records. formula character formula object passed. Default use covariates (specified). family character stating family used (Default: poisson). link character overwrite default link function (Default: NULL). weight numeric value acting multiplier regards weights used modelling. Larger weights indicate higher weighting relative datasets. default set 1 one dataset added. vector also supported must length \"polpo\". simulate Simulate poipo points within boundaries. Result passed add_biodiversity_poipo (Default: FALSE). simulate_points numeric number points created simulation (Default: 100). simulate_bias SpatRaster layer describing eventual preference simulation (Default: NULL). simulate_strategy character stating strategy sampling. Can set either. 'random' 'regular', latter requiring raster supplied 'simulate_weights' parameter. separate_intercept logical value stating whether separate intercept added shared likelihood models engines engine_inla, engine_inlabru engine_stan. docheck logical whether additional checks performed (e.g. intersection tests) (Default: TRUE). pseudoabsence_settings Either NULL pseudoabs_settings() created settings object. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"Adds biodiversity data distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"default approach polygon data sample presence-points across region polygons. function thus adds wrapper add_biodiversity_poipo() presence-points created model. points simulated directly (Default) polygon processed train() creating regular point data supplied predictors. Use add_biodiversity_polpa() create binomial distributed inside-outside points given polygon! integration range data predictor offset, see add_predictor_range() add_offset_range() instead.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_biodiversity_polpo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add biodiversity polygon dataset to a distribution object (presence-only) — add_biodiversity_polpo","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(mod) |> add_biodiversity_polpo(protectedArea) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a constraint to an existing scenario — add_constraint","title":"Add a constraint to an existing scenario — add_constraint","text":"function adds constrain BiodiversityScenario object constrain (future) projections. constrains can instance constraints possible dispersal distance, connectivity identified patches limitations species adaptability. constrains require pre-calculated thresholds present BiodiversityScenario object!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a constraint to an existing scenario — add_constraint","text":"","code":"add_constraint(mod, method, ...) # S4 method for class 'BiodiversityScenario' add_constraint(mod, method, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a constraint to an existing scenario — add_constraint","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a constraint to an existing scenario — add_constraint","text":"Adds constraints data BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a constraint to an existing scenario — add_constraint","text":"Constraints can added scenario objects increase decrease suitability given area target feature. function acts wrapper add constraints. Currently supported following options: Dispersal: sdd_fixed - Applies fixed uniform dispersal distance per modelling timestep. sdd_nexpkernel - Applies dispersal distance using negative exponential kernel origin. kissmig - Applies kissmig stochastic dispersal model. Requires `kissmig` package. Applied modelling time step. migclim - Applies dispersal algorithm MigClim modelled objects. Requires \"MigClim\" package. comprehensive overview benefits including dispersal constrains species distribution models can found Bateman et al. (2013). Connectivity: hardbarrier - Defines hard barrier dispersal events. definition sets values larger 0 barrier layer 0 projection. Barrier provided \"resistance\" parameter. resistance - Allows provision static dynamic layer multiplied projection time step. Can example used reduce suitability given area (using pressures included model). respective layer(s) provided \"resistance\" parameter. Provided layers incorporated abs(resistance - 1) multiplied prediction. Adaptability: nichelimit - Specifies limit environmental niche allow modest amount extrapolation beyond known occurrences. can particular useful limit influence increasing marginal responses avoid biologically unrealistic projections. Boundary size: boundary - Applies hard boundary constraint projection, thus disallowing expansion range outside provide layer. Similar specifying projection limits (see distribution), can used specifically constrain projection within certain area (e.g. species range island). minsize - Allows specify certain size must satisfied order thresholded patch occupied. Can thought minimum size requirement. See add_constraint_minsize() required parameters. threshold - Applies set threshold constrain directly suitability projections. Requires threshold set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a constraint to an existing scenario — add_constraint","text":"Bateman, B. L., Murphy, H. T., Reside, . E., Mokany, K., & VanDerWal, J. (2013). Appropriateness full‐, partial‐‐dispersal scenarios climate change impact modelling. Diversity Distributions, 19(10), 1224-1234. Nobis MP Normand S (2014) KISSMig - simple model R account limited migration analyses species distributions. Ecography 37: 1282-1287. Mendes, P., Velazco, S. J. E., de Andrade, . F. ., & Júnior, P. D. M. (2020). Dealing overprediction species distribution models: adding distance constraints can improve model accuracy. Ecological Modelling, 431, 109180.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a constraint to an existing scenario — add_constraint","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> add_constraint_dispersal(method = \"kissmig\", value = 2, pext = 0.1) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"function adds constrain defined MigClim approach (Engler et al. 2013) BiodiversityScenario object constrain future projections. detailed description MigClim, please respective reference UserGuide. default parameters chosen suggestions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"","code":"add_constraint_MigClim( mod, rcThresholdMode = \"continuous\", dispSteps = 1, dispKernel = c(1, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6, 0.8, 0.95), replicateNb = 10, dtmp = terra::terraOptions(print = F)$tempdir ) # S4 method for class 'BiodiversityScenario' add_constraint_MigClim( mod, rcThresholdMode = \"continuous\", dispSteps = 1, dispKernel = c(1, 0.4, 0.16, 0.06, 0.03), barrierType = \"strong\", lddFreq = 0, lddRange = c(1000, 10000), iniMatAge = 1, propaguleProdProb = c(0.2, 0.6, 0.8, 0.95), replicateNb = 10, dtmp = terra::terraOptions(print = F)$tempdir )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"mod BiodiversityScenario object specified predictors. rcThresholdMode character either binary continuous value (Default: continuous). dispSteps numeric parameters number dispersal steps. Dispersal steps executed timestep (prediction layer). ideally aligned number steps projection. Minimum 1 (Default) maximum 99. dispKernel vector number dispersal Kernel applied. Can set either uniform numeric vector, e.g. c(1,1,1,1) proportional decline (1,0.4,0.16,0.06,0.03) (Default). Depending resolution raster, parameter needs adapted barrierType character indicating whether set barrier set 'strong' 'weak' barriers. Strong barriers prevent dispersal across barrier weak barriers whole \"dispKernel\" length covered barrier (Default: 'strong'). lddFreq numeric parameter indicating frequency long-distance dispersal (LDD) events. Default 0, long-distance dispersal. lddRange numeric value highlighting minimum maximum distance LDD events. Note: units distance cells, thus projection units raster. iniMatAge Initial maturity age. Used together propaguleProd proxy population growth. Must set cell age time units dispersal steps (Default: 1). propaguleProdProb Probability source cell produce propagules function time since colonization. Set probability vector defines probability cell producing propagules. replicateNb Number replicates used analysis (Default: 10). dtmp character folder temporary files created.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"Adds MigClim onstrain BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"barrier parameter defined \"add_barrier\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"Engler R., Hordijk W. Guisan . MIGCLIM R package – seamless integration dispersal constraints projections species distribution models. Ecography, Robin Engler, Wim Hordijk Loic Pellissier (2013). MigClim: Implementing dispersal species distribution models. R package version 1.6.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_MigClim.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add constrains to the modelled distribution projection using the MigClim approach — add_constraint_MigClim","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> add_constraint_MigClim() |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"Adaptability constraints assume suitable habitat species (future) projections might unsuitable outside range conditions currently observed species. Currently nichelimit implemented, adds simple constrain predictor parameter space, can defined \"value\" parameter. example setting 1 (Default), projections constrained within range maximum 1 standard deviation range covariates used model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"","code":"add_constraint_adaptability( mod, method = \"nichelimit\", names = NULL, value = 1, increment = 0, ... ) # S4 method for class 'BiodiversityScenario' add_constraint_adaptability( mod, method = \"nichelimit\", names = NULL, value = 1, increment = 0, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. names character vector names predictors adaptability threshold set (Default: NULL ). value numeric value units standard deviation (Default: 1). increment numeric constant added value every time step (Default: 0). Allows incremental widening niche space, thus opening constraints. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_adaptability.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds an adaptability constraint to a scenario object — add_constraint_adaptability","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit) |> add_constraint_adaptability(value = 1) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a boundary constraint to a scenario object — add_constraint_boundary","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"purpose boundary constraints limit future projection within specified area (example range ecoregion). can help limit unreasonable projections geographic space. Similar boundary constraints also possible define \"zone\" scenario projections, similar done model training. difference boundary constraint boundary constraint applied posthoc hard cut projection, zones allow projection (constraints) applied within zone. Note: Setting boundary constraint future projections effectively potentially suitable areas!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"","code":"add_constraint_boundary(mod, layer, ...) # S4 method for class 'BiodiversityScenario,sf' add_constraint_boundary(mod, layer, method = \"boundary\", ...) # S4 method for class 'BiodiversityScenario,ANY' add_constraint_boundary(mod, layer, method = \"boundary\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"mod BiodiversityScenario object specified predictors. layer SpatRaster sf object extent model background. binary used posthoc masking projected grid cells. ... passed parameters. See also specific methods adding constraints. method character indicating type constraints added scenario. See details information.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_boundary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a boundary constraint to a scenario object — add_constraint_boundary","text":"","code":"if (FALSE) { # \\dontrun{ # Add scenario constraint scenario(fit) |> add_constraint_boundary(range) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"Adds connectivity constraint scenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"","code":"add_constraint_connectivity(mod, method, value = NULL, resistance = NULL, ...) # S4 method for class 'BiodiversityScenario' add_constraint_connectivity(mod, method, value = NULL, resistance = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. value many dispersal \"constrain\" set numeric value specifying fixed constrain constant units \"m\" (Default: NULL). kissmig value needs give number iteration steps (within year migration steps). adaptability constraints parameter specifies extent (units standard deviation) extrapolations performed. resistance SpatRaster object describing resistance surface barrier use connectivity constrains (Default: NULL). ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_connectivity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Adds a connectivity constraint to a scenario object. — add_constraint_connectivity","text":"hardbarrier - Defines hard barrier dispersal events. definition sets values larger 0 barrier layer 0 projection. Barrier provided \"resistance\" parameter. resistance - Allows provision static dynamic layer multiplied projection time step. Can example used reduce suitability given area (using pressures included model). respective layer(s) provided \"resistance\" parameter. Provided layers incorporated abs(resistance - 1) multiplied prediction.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":null,"dir":"Reference","previous_headings":"","what":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Add dispersal constraint existing scenario","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"","code":"add_constraint_dispersal(mod, method, value = NULL, type = NULL, ...) # S4 method for class 'BiodiversityScenario' add_constraint_dispersal(mod, method, value = NULL, type = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"mod BiodiversityScenario object specified predictors. method character indicating type constraints added scenario. See details information. value many dispersal \"constrain\" set numeric value specifying fixed constrain constant units \"m\" (Default: NULL). kissmig value needs give number iteration steps (within year migration steps). adaptability constraints parameter specifies extent (units standard deviation) extrapolations performed. type character indicating type used method. See instance `kissmig`. ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Dispersal: Parameters 'method': sdd_fixed - Applies fixed uniform dispersal distance per modelling timestep. sdd_nexpkernel - Applies dispersal distance using negative exponential kernel origin. #' negative exponential kernel defined : $$f(x) = \\frac{1}{2 \\pi ^2} e^{-\\frac{x}{}}$$ \\(\\) mean dispersal distance (m) divided 2. kissmig - Applies kissmig stochastic dispersal model. Requires `kissmig` package. Applied modelling time step. migclim - Applies dispersal algorithm MigClim modelled objects. Requires \"MigClim\" package. comprehensive overview benefits including dispersal constrains species distribution models can found Bateman et al. (2013). following additional parameters can bet set: pext: numeric indicator `kissmig` probability colonized cell becomes uncolonised, .e., species gets locally extinct (Default: 0.1). pcor: numeric probability corner cells considered 3x3 neighbourhood (Default: 0.2).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Unless otherwise stated, default unit supplied distance values (e.g. average dispersal distance) \"m\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_dispersal.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add dispersal constraint to an existing scenario — add_constraint_dispersal","text":"Bateman, B. L., Murphy, H. T., Reside, . E., Mokany, K., & VanDerWal, J. (2013). Appropriateness full‐, partial‐‐dispersal scenarios climate change impact modelling. Diversity Distributions, 19(10), 1224-1234.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a size constraint on a scenario — add_constraint_minsize","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"function applies minimum size constraint scenario() created object. rationale given species isolated habitat patches smaller given size might viable / unrealistic species establish (long-term) presence. idea thus apply constraint patches bigger certain size retained timesteps. thus potential reduce subsequent colonizations neighbouring patches.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"","code":"add_constraint_minsize( mod, value, unit = \"km2\", establishment_step = FALSE, ... ) # S4 method for class 'BiodiversityScenario,numeric' add_constraint_minsize( mod, value, unit = \"km2\", establishment_step = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"mod BiodiversityScenario object specified predictors. value numeric value describing minimum amount area given patch unit character unit area. Options available km2 (Default), ha pixel. establishment_step logical flag indicating whether given patch removed small previous time step (yet implemented!) ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"Area values specific unit need supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"function requires scenario set threshold()!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_minsize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a size constraint on a scenario — add_constraint_minsize","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit) |> add_predictors(future_covariates) |> threshold() |> add_constraint_minsize(value = 1000, unit = \"km2\") |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a threshold constraint to a scenario object — add_constraint_threshold","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"option adds threshold() constraint scenario projection, thus effectively applying threshold mask projection step made scenario projection. Applying constraint thus means \"suitability\" projection clipped threshold. method requires threshold() set scenario object. theory possible re calculate threshold time step based supplied parameters even observation records. far option necessary implement.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"","code":"add_constraint_threshold(mod, updatevalue = NA, ...) # S4 method for class 'BiodiversityScenario' add_constraint_threshold(mod, updatevalue = NA, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"mod BiodiversityScenario object specified predictors. updatevalue numeric indicating masked values (outside) threshold become (Default: NA). ... passed parameters. See also specific methods adding constraints.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"Threshold values taken original fitted model.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_constraint_threshold.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a threshold constraint to a scenario object — add_constraint_threshold","text":"","code":"if (FALSE) { # \\dontrun{ # Add scenario constraint scenario(fit) |> threshold() |> add_constraint_threshold() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a control to a BiodiversityModel object to control biases — add_control_bias","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Sampling biases pervasive drivers spatial location biodiversity datasets. integration , presumably less biased data can one way controlling sampling biases, another way control directly bias model. Currently supported methods : \"partial\" - approach described Warton et al. (2013) control biases model, including specified variable (\"layer\") model, \"partialling\" projection phase. Specifically variable set specified value (\"bias_value\"), default minimum value observed across background. \"offset\" - Dummy method points add_offset_bias() functionality (see note). Makes use offsets factor specified bias variable. \"proximity\" - Use proximity distance points weight model. option effectively places greater weight points farther away. Note: best case can control spatial bias aggregation, worst case can place lot emphasis points likely outliers misidentification (terms species). See also details explanations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"","code":"add_control_bias( x, layer, method = \"partial\", bias_value = NULL, maxdist = NULL, alpha = 1, add = TRUE ) # S4 method for class 'BiodiversityDistribution' add_control_bias( x, layer, method = \"partial\", bias_value = NULL, maxdist = NULL, alpha = 1, add = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. Specify variable already added \"x\" avoid issues duplications. method character vector describing method used bias control. Available options \"partial\" (Default), \"offset\" \"proximity\". bias_value numeric value \"layer\". Specifying numeric value sets layer target value projection. default value set minimum value found layer (Default: NULL). maxdist numeric giving maximum distance method \"proximity\" used. unset uses default distance centroid minimum convex polygon encircling points. alpha numeric given initial weight points method \"proximity\" used (Default: 1). example, set values smaller 1 neighbouring points weighted less. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Adds bias control option distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"case \"proximity\" weights assigned point, placing higher weight points away less overlap. Weights assigned maximum distance can provided user (parameter \"maxdist\"). distance ideally informed knowledge species modelled (e.g., maximum dispersal distance). provided, set distance centroid minimum convex polygon encircling observations. parameter \"alpha\" weighting factor can used diminish effect neighboring points. given observation \\(\\), weight \\(w\\) defined $$w_i = 1 / (1 + \\epsilon)$$ $$\\epsilon = \\sum_{n=1}^{N}((1 - d_n)/d_sac)^\\alpha$$ \\(N\\) total number points closer maximum distance (\\(d_sac\\)) point \\(\\), \\(d_n\\) distance focal point \\(\\) point \\(n\\).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Covariate transformations applied predictors need applied bias . Another option consider biases particular Poisson-point process models remove offset. Functionality available add_offset_bias() method. Setting method \"offset\" automatically point option.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"Warton, D.., Renner, .W. Ramp, D., 2013. Model-based control observer bias analysis presence-data ecology. PloS one, 8(11), p.e79168. Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453 Botella, C., Joly, ., Bonnet, P., Munoz, F., & Monestiez, P. (2021). Jointly estimating spatial sampling effort habitat suitability multiple species opportunistic presence‐data. Methods Ecology Evolution, 12(5), 933-945.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_control_bias.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a control to a BiodiversityModel object to control biases — add_control_bias","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_control_bias(biasvariable, bias_value = NULL) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":null,"dir":"Reference","previous_headings":"","what":"Add latent spatial effect to the model equation — add_latent_spatial","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"general understand latent spatial effects occurrence spatial dependency observations, might either caused spatial biases, similarities underlying sampling processes unmeasured latent covariates, e.g. quantified. package supports range different spatial effects, however differ another impact estimated prediction. effects simply add spatial dependence covariate, others make use spatial random effects account spatial dependence predictions. default effects added dataset covariate shared spatial field (e.g. SPDE). See details explanation available options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"","code":"add_latent_spatial( x, method = \"spde\", priors = NULL, separate_spde = FALSE, ... ) # S4 method for class 'BiodiversityDistribution' add_latent_spatial( x, method = \"spde\", priors = NULL, separate_spde = FALSE, ... ) # S4 method for class 'BiodiversityScenario' add_latent_spatial(x, layer = NULL, reuse_latent = TRUE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"x distribution() (.e. BiodiversityDistribution) object. method character describing kind spatial effect added model. See details. priors \"Prior-List\" object supplied latent effect. Relevant engine_inla NULL equates use default priors. separate_spde logical parameter indicating whether, case SPDE effects, separate effects likelihood fitted. Default (FALSE) uses copy first added likelihood. ... parameters passed layer SpatRaster layer describing alternative latent effects used instead \"reuse_latent\" set FALSE. reuse_latent logical flag whether latent effects found fitted model reused (Default TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"Adds latent spatial effect distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"several different options depend engine used. case unsupported method engine chosen modified next similar method. Available : \"spde\" - stochastic partial differential equation (SPDE) engine_inla engine_inlabru. SPDE effects aim capturing variation response variable space, covariates accounted . Examining spatial distribution spatial error can reveal covariates might missing. example, elevation positively correlated response variable, included model, see higher posterior mean areas higher elevation. Note calculations SPDE's can computationally costly. \"car\" - conditional autocorrelative errors (CAR) engine_inla. yet implemented full. \"kde\" - additional covariate kernel density input point observations. \"poly\" - spatial trend correction adding coordinates polynominal transformation. method assumed transformation spatial coordinates can - included additional predictor - explain variance distribution. method interact species occurrences. \"nnd\" - nearest neighbour distance. function calculates euclidean distance point nearest grid cell known species occurrence. Originally proposed Allouche et al. (2008) can applied across datasets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"Allouche, O.; Steinitz, O.; Rotem, D.; Rosenfeld, .; Kadmon, R. (2008). Incorporating distance constraints species distribution models. Journal Applied Ecology, 45(2), 599-609. doi:10.1111/j.1365-2664.2007.01445.x Mendes, P., Velazco, S. J. E., de Andrade, . F. ., & Júnior, P. D. M. (2020). Dealing overprediction species distribution models: adding distance constraints can improve model accuracy. Ecological Modelling, 431, 109180.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_latent_spatial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add latent spatial effect to the model equation — add_latent_spatial","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_latent_spatial(method = \"poly\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"One main aims species distribution models (SDMs) project space time. projections common issue extrapolation - unconstrained - SDMs can indicate areas suitable unlikely occupied species habitats (often due historic biotic factors). extent can related insufficient quantification niche (e.g. niche truncation considering subset observations within actual distribution), cases can also general barriers constraints limit projections (e.g. islands). limit method adds options model distribution object. Currently supported methods : * \"zones\" - wrapper allow addition zones distribution model object, similar also possible via distribution(). Required spatial layer describes environmental zoning. * \"mcp\" - Rather using external additional layer, option constraints predictions certain distance points vicinity. Buffer distances unit projection used can configured via \"mcp_buffer\". * \"nt2\" - Constraints predictions using multivariate combination novelty index (NT2) following Mesgaran et al. (2014). method also available similarity() function. * \"mess\" - Constraints predictions using Multivariate Environmental Similarity Surfaces (MESS) following Mesgaran et al. (2014). method also available similarity() function. * \"shape\" - implementation 'shape' method introduced Velazco et al. (2023). user defined threshold effectively limits model extrapolation projections made beyond extent judged defensible informed training observations. yet implemented! See also details explanations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"","code":"add_limits_extrapolation( x, layer, method = \"mcp\", mcp_buffer = 0, novel = \"within\", limits_clip = FALSE ) # S4 method for class 'BiodiversityDistribution' add_limits_extrapolation( x, layer, method = \"mcp\", mcp_buffer = 0, novel = \"within\", limits_clip = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"x distribution() (.e. BiodiversityDistribution) object. layer SpatRaster sf object limits prediction surface intersected input data (Default: NULL). method character vector describing method used controlling extrapolation. Available options \"zones\", \"mcp\" (Default), \"nt2\", \"mess\" \"shape\". mcp_buffer numeric distance buffer mcp (Default 0). used \"mcp\" used. novel conditions masked respectively, either novel conditions within \"within\" (Default) also including outside reference conditions \"outside\". use method = \"nt2\", method = \"mess\" variable always \"within\". limits_clip logical limits clip predictors fitting model (TRUE) just prediction (FALSE, default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"Adds extrapolation limit option distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"method \"zones\" zoning layer can supplied used intersect provided training points . projections made model can constrained project areas consider training points unlikely . Examples zones separation islands mainlands, biomes, lithological soil conditions. layer available, also possible constraint predictions distance minimum convex polygon surrounding training points method \"mcp\" (optionally buffered). can make sense particular rare species fully sampled across niche. \"NT2\" \"MESS\" index possible constrain prediction conditions within (novel = \"within\") also include outside (novel = \"outside\") conditions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"method \"zones\" also possible directly within distribution().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"Randin, C. F., Dirnböck, T., Dullinger, S., Zimmermann, N. E., Zappa, M., & Guisan, . (2006). niche‐based species distribution models transferable space?. Journal biogeography, 33(10), 1689-1703. https://doi.org/10.1111/j.1365-2699.2006.01466.x Chevalier, M., Broennimann, O., Cornuault, J., & Guisan, . (2021). Data integration methods account spatial niche truncation effects regional projections species distribution. Ecological Applications, 31(7), e02427. https://doi.org/10.1002/eap.2427 Velazco, S. J. E., Brooke, M. R., De Marco Jr., P., Regan, H. M., & Franklin, J. (2023). far can extrapolate species distribution model? Exploring Shape, novel method. Ecography, 11, e06992. https://doi.org/10.1111/ecog.06992 Mesgaran, M. B., R. D. Cousens, B. L. Webber, J. Franklin. (2014) dragons: tool quantifying novelty due covariate range correlation change projecting species distribution models. Diversity Distributions 20:1147-1159.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_limits_extrapolation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a control to a BiodiversityModel object to limit extrapolation — add_limits_extrapolation","text":"","code":"if (FALSE) { # \\dontrun{ # To add a zone layer for extrapolation constraints. x <- distribution(background) |> add_predictors(covariates) |> add_limits_extrapolation(method = \"zones\", layer = zones) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":null,"dir":"Reference","previous_headings":"","what":"Adds a log file to distribution object — add_log","title":"Adds a log file to distribution object — add_log","text":"function allows specify file Log file, used save console outputs, prints messages.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adds a log file to distribution object — add_log","text":"","code":"add_log(x, filename) # S4 method for class 'BiodiversityDistribution,character' add_log(x, filename)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Adds a log file to distribution object — add_log","text":"x distribution() (.e. BiodiversityDistribution) object. filename character object. destination must writeable filename ends 'txt'.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Adds a log file to distribution object — add_log","text":"Adds log file distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_log.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Adds a log file to distribution object — add_log","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_log() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a spatial explicit offset — add_offset","title":"Specify a spatial explicit offset — add_offset","text":"Including offsets another option integrate spatial prior information linear additive regression models. Offsets shift intercept regression fit certain amount. Although one offset can added regression model, possible combine several spatial-explicit estimates one offset calculating sum spatial-explicit layers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a spatial explicit offset — add_offset","text":"","code":"add_offset(x, layer, add = TRUE) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset(x, layer, add = TRUE) # S4 method for class 'BiodiversityDistribution,sf' add_offset(x, layer, add = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a spatial explicit offset — add_offset","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a spatial explicit offset — add_offset","text":"Adds offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a spatial explicit offset — add_offset","text":"function allows set specific offset regression model. offset provided spatial SpatRaster object. function simply adds layer distribution() object. Note transformation offset (log) done externally! layer range requires additional formatting, consider using function add_offset_range() additional functionalities distance transformations.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Specify a spatial explicit offset — add_offset","text":"Since offsets make sense linear regressions (instance regression tree based methods engine_bart()), work engines. Offsets specified non-supported engines ignored estimation","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a spatial explicit offset — add_offset","text":"Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a spatial explicit offset — add_offset","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_offset(nicheEstimate) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a spatial explicit offset as bias — add_offset_bias","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Including offsets another option integrate spatial prior information linear additive regression models. Offsets shift intercept regression fit certain amount. Although one offset can added regression model, possible combine several spatial-explicit estimates one offset calculating sum spatial-explicit layers.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"","code":"add_offset_bias(x, layer, add = TRUE, points = NULL) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset_bias(x, layer, add = TRUE, points = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE). points optional sf object key points. location points used calculate probability cell sampled accounting area differences. (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Adds bias offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"functions emulates use add_offset() function, however applies inverse transformation remove provided layer overall offset. instance offset already specified (area), function removes provided bias.layer via \"offset(log(.area)-log(bias.layer))\" Note transformation offset (log) done externally! generic offset added, consider using add_offset() function. layer expert-based range requires additional parametrization, consider using function add_offset_range() bossMaps R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_bias.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a spatial explicit offset as bias — add_offset_bias","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_offset_bias(samplingBias) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify elevational preferences as offset — add_offset_elevation","title":"Specify elevational preferences as offset — add_offset_elevation","text":"function implements elevation preferences offset defined Ellis‐Soto et al. (2021). code adapted Supporting materials script.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify elevational preferences as offset — add_offset_elevation","text":"","code":"add_offset_elevation(x, elev, pref, rate = 0.0089, add = TRUE) # S4 method for class 'BiodiversityDistribution,SpatRaster,numeric' add_offset_elevation(x, elev, pref, rate = 0.0089, add = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify elevational preferences as offset — add_offset_elevation","text":"x distribution() (.e. BiodiversityDistribution) object. elev SpatRaster elevation given background. pref numeric vector length 2 giving lower upper bound known elevational preferences. Can set Inf unknown. rate numeric rate used offset (Default: .0089). parameter specifies decay near zero probability elevation expert limits. add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Adds elevational offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Specifically functions calculates continuous decay decreasing probability species occur elevation limits. requires SpatRaster elevation information. generalized logistic transform (aka Richard's curve) used calculate decay suitable elevational areas, \"rate\" parameter allowing vary steepness decline. Note offsets created function default log-transformed export. addition function also mean-centers output recommended Ellis-Soto et al.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify elevational preferences as offset — add_offset_elevation","text":"Ellis‐Soto, D., Merow, C., Amatulli, G., Parra, J.L., Jetz, W., 2021. Continental‐scale 1 km hummingbird diversity derived fusing point records lateral elevational expert information. Ecography (Cop.). 44, 640–652. https://doi.org/10.1111/ecog.05119 Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_elevation.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify elevational preferences as offset — add_offset_elevation","text":"","code":"if (FALSE) { # \\dontrun{ # Adds the offset to a distribution object distribution(background) |> add_offset_elevation(dem, pref = c(400, 1200)) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":null,"dir":"Reference","previous_headings":"","what":"Specify a expert-based species range as offset — add_offset_range","title":"Specify a expert-based species range as offset — add_offset_range","text":"function additional options compared generic add_offset(), allowing customized options specifically expert-based ranges offsets spatialized polygon information species occurrences. even control needed, user informed \"bossMaps\" package Merow et al. (2017). functionalities package emulated \"distance_function\" set \"log\". tries fit 5-parameter logistic function estimate distance range (Merow et al. 2017).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Specify a expert-based species range as offset — add_offset_range","text":"","code":"add_offset_range( x, layer, distance_max = Inf, family = \"poisson\", presence_prop = 0.9, distance_clip = FALSE, distance_function = \"negexp\", field_occurrence = \"observed\", fraction = NULL, point = FALSE, add = TRUE ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_offset_range(x, layer, fraction = NULL, add = TRUE) # S4 method for class 'BiodiversityDistribution,sf' add_offset_range( x, layer, distance_max = Inf, family = \"poisson\", presence_prop = 0.9, distance_clip = FALSE, distance_function = \"negexp\", field_occurrence = \"observed\", fraction = NULL, point = FALSE, add = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Specify a expert-based species range as offset — add_offset_range","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. distance_max numeric threshold maximum distance beyond range considered high likelihood containing species occurrences (Default: Inf \"m\"). Can set NULL 0 indicate distance calculated. family character denoting type model offset added. default assumes 'poisson' distributed model result output created function log-transformed. however 'binomial' distribution chosen, output `logit` transformed. integrated models leave default. presence_prop numeric giving proportion records expected inside range. default set 0.9 indicating 10% records likely outside range. distance_clip logical whether distance clipped maximum distance (Default: FALSE). distance_function character specifying distance function used. Available linear (\"linear\"), negative exponential kernels (\"negexp\", default) five parameters logistic curve (\"logcurve\") proposed Merow et al. 2017. field_occurrence numeric character location biodiversity point records. fraction optional SpatRaster object multiplied digitized raster layer. Can used example remove reduce expected value (Default: NULL). point optional sf layer points logical argument. case latter point data ignored (Default: FALSE). add logical specifying whether new offset added. Setting parameter FALSE replaces current offsets new one (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Specify a expert-based species range as offset — add_offset_range","text":"Adds range offset distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Specify a expert-based species range as offset — add_offset_range","text":"output created function creates SpatRaster added provided distribution object. Offsets regression models likelihood specific added directly overall estimate `y^hat`. Note offsets created function default log-transformed export. Background values (e.g. beyond \"distance_max\") set small constant (1e-10).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Specify a expert-based species range as offset — add_offset_range","text":"Merow, C., Wilson, .M., Jetz, W., 2017. Integrating occurrence data expert maps improved species range predictions. Glob. Ecol. Biogeogr. 26, 243–258. https://doi.org/10.1111/geb.12539 Merow, C., Allen, J.M., Aiello-Lammens, M., Silander, J.., 2016. Improving niche range estimates Maxent point process models integrating spatially explicit information. Glob. Ecol. Biogeogr. 25, 1022–1036. https://doi.org/10.1111/geb.12453","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_offset_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Specify a expert-based species range as offset — add_offset_range","text":"","code":"if (FALSE) { # \\dontrun{ # Train a presence-only model with a simple offset fit <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") |> add_predictors(predictors) |> add_offset_range(virtual_range, distance_max = 5,distance_function = \"logcurve\", distance_clip = TRUE ) |> engine_glm() |> train() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":null,"dir":"Reference","previous_headings":"","what":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"Create lower upper limits elevational range add separate predictors","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"","code":"add_predictor_elevationpref(x, layer, lower, upper, transform = \"none\") # S4 method for class 'BiodiversityDistribution,ANY,numeric,numeric' add_predictor_elevationpref(x, layer, lower, upper, transform = \"none\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"x distribution() (.e. BiodiversityDistribution) object. layer character stating elevational layer Distribution object SpatRaster object. lower numeric value lower elevational preference species. upper numeric value upper elevational preference species. transform character optional transformation applied. Usually needed (Default: \"none\").","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_elevationpref.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create lower and upper limits for an elevational range and add them as separate predictors — add_predictor_elevationpref","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictor_elevationpref(elevation, lower = 200, upper = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a range of a species as predictor to a distribution object — add_predictor_range","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"function allows add species range usually drawn experts separate process spatial explicit prior. sf SpatRaster-objects supported input. Users advised look \"bossMaps\" R-package presented part Merow et al. (2017), allows flexible calculation non-linear distance transforms boundary range. Outputs package added directly function. Note function adds range predictor offset. purpose separate function add_offset_range() exists. Additional options allow include range either \"binary\" \"distance\" transformed predictor. difference range either directly included presence-predictor alternatively linear distance transform range boundary. parameter \"distance_max\" can specified constrain distance transform.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"","code":"add_predictor_range( x, layer, method = \"distance\", distance_max = NULL, fraction = NULL, priors = NULL ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_predictor_range( x, layer, method = \"precomputed_range\", fraction = NULL, priors = NULL ) # S4 method for class 'BiodiversityDistribution,sf' add_predictor_range( x, layer, method = \"distance\", distance_max = Inf, fraction = NULL, priors = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"x distribution() (.e. BiodiversityDistribution) object. layer sf SpatRaster object range target feature. method character describing range included (\"binary\" | \"distance\"). distance_max Numeric threshold maximum distance (Default: NULL). fraction optional SpatRaster object multiplied digitized raster layer. Can used example remove reduce expected value (Default: NULL). priors PriorList object. Default set NULL uses default prior assumptions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"Merow, C., Wilson, . M., & Jetz, W. (2017). Integrating occurrence data expert maps improved species range predictions. Global Ecology Biogeography, 26(2), 243–258. https://doi.org/10.1111/geb.12539","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictor_range.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a range of a species as predictor to a distribution object — add_predictor_range","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictor_range(range, method = \"distance\", distance_max = 2) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add predictors to a Biodiversity distribution object — add_predictors","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"function allows add predictors distribution BiodiversityScenario objects. Predictors covariates spatial projection match geographic projection background layer distribution object. function furthermore allows transform create derivates provided predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"","code":"add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,SpatRasterCollection' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,SpatRaster' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityDistribution,stars' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityScenario,SpatRaster' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... ) # S4 method for class 'BiodiversityScenario,stars' add_predictors( x, env, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, explode_factors = FALSE, priors = NULL, state = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. env SpatRaster stars object. names vector character names describing environmental stack case renamed. transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) derivate_knots single numeric vector giving number knots derivate creation relevant (Default: 4). int_variables vector length greater equal 2 specifying covariates (Default: NULL). bgmask Check whether environmental data masked background layer (Default: TRUE). harmonize_na logical value indicating whether NA values harmonized among predictors (Default: FALSE). explode_factors logical whether factor variables split binary variables (one per class). (Default: FALSE). priors PriorList object. Default set NULL uses default prior assumptions. state matrix one value per variable (column) providing either ( stats::mean(), stats::sd() ) variable env option 'scale' range minimum maximum values option 'norm'. Effectively applies value range rescaling. case provided stars data BiodiversityScenario object, state variables attempted compiled predictor ranges used model inferrence (Default: NULL). ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"transformation takes provided rasters instance rescales transforms principal component analysis (prcomp). contrast, derivates leave original provided predictors alone, instead create new ones, instance transforming values quadratic hinge transformation. Note effectively increases number predictors object, generally requiring stronger regularization used Engine. transformations derivates can also combined. Available options transformation : 'none' - Leaves provided predictors original scale. 'pca' - Converts predictors principal components. Note results renaming variables principal component axes! 'scale' - Transforms predictors applying scale . 'norm' - Normalizes predictors transforming scale 0 1. 'windsor' - Applies windsorization target predictors. default effectively cuts predictors 0.05 0.95, thus helping remove extreme outliers. Available options creating derivates : 'none' - additional predictor derivates created. 'quad' - Adds quadratic derivate predictors. 'interaction' - Add interacting predictors. Interactions need specified (\"int_variables\")! 'thresh' - Add threshold derivate predictors. 'hinge' - Add hinge derivate predictors. 'kmeans' - Add k-means derived factors. 'bin' - Add predictors binned percentiles.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"Important: every Engine supported ibis.iSDM R-package allows missing data points among extracted covariates. Thus observation missing data generally removed prior model fitting. Thus ensure covariates appropriate -data settings (instance setting NA values 0 another range constant). every engine actually need covariates. instance perfectly legit fit model occurrence data spatial latent effect (add_latent_spatial). correspondents spatial kernel density estimate. Certain names \"offset\" forbidden predictor variable names. function return error message used. engines use binary variables regardless parameter explode_factors set .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add predictors to a Biodiversity distribution object — add_predictors","text":"","code":"if (FALSE) { # \\dontrun{ obj <- distribution(background) |> add_predictors(covariates, transform = 'scale') obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"customized function format add downscaled land-use shares Global Biosphere Management Model (GLOBIOM) distribution BiodiversityScenario ibis.iSDM. GLOBIOM partial-equilibrium model developed IIASA represents land-use sectors rich set environmental socio-economic parameters, instance agricultural forestry sector estimated dedicated process-based models. GLOBIOM outputs spatial explicit usually half-degree resolution globally. finer grain analyses GLOBIOM outputs can produced downscaled format customized statistical downscaling module. purpose script format GLOBIOM outputs DownScale use ibis.iSDM package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"","code":"add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityDistribution,character' add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityScenario,character' add_predictors_globiom( x, fname, names = NULL, transform = \"none\", derivates = \"none\", derivate_knots = 4, int_variables = NULL, bgmask = TRUE, harmonize_na = FALSE, priors = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"x BiodiversityDistribution BiodiversityScenario object. fname character pointing netCDF GLOBIOM data. names vector character names describing environmental stack case renamed (Default: NULL). transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) derivate_knots single numeric vector giving number knots derivate creation relevant (Default: 4). int_variables vector length greater equal 2 specifying covariates (Default: NULL). bgmask Check whether environmental data masked background layer (Default: TRUE) harmonize_na logical value indicating whether NA values harmonized among predictors (Default: FALSE) priors PriorList object. Default set NULL uses default prior assumptions. ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"See add_predictors() additional parameters customizations. (manual) control function formatting GLOBIOM data can also called directly via formatGLOBIOM().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_globiom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GLOBIOM-DownScaleR derived predictors to a Biodiversity distribution object — add_predictors_globiom","text":"","code":"if (FALSE) { # \\dontrun{ obj <- distribution(background) |> add_predictors_globiom(fname = \"\", transform = 'none') obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"function convenience wrapper add output previous fitted DistributionModel another BiodiversityDistribution object. Obviously works prediction fitted model. Options instead add thresholds, transform / derivate model outputs also supported.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"","code":"add_predictors_model( x, model, transform = \"scale\", derivates = \"none\", threshold_only = FALSE, priors = NULL, ... ) # S4 method for class 'BiodiversityDistribution' add_predictors_model( x, model, transform = \"scale\", derivates = \"none\", threshold_only = FALSE, priors = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"x distribution() (.e. BiodiversityDistribution) object. model DistributionModel object. transform vector stating whether predictors preprocessed way (Options: 'none','pca', 'scale', 'norm') derivates Boolean check whether derivate features considered (Options: 'none', 'thresh', 'hinge', 'quad') ) threshold_only logical flag indicating whether add thresholded layers fitted model (existing) instead (Default: FALSE). priors PriorList object. Default set NULL uses default prior assumptions. ... parameters passed ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"transformation takes provided rasters instance rescales transforms principal component analysis (prcomp). contrast, derivates leave original provided predictors alone, instead create new ones, instance transforming values quadratic hinge transformation. Note effectively increases number predictors object, generally requiring stronger regularization used Engine. transformations derivates can also combined. Available options transformation : 'none' - Leaves provided predictors original scale. 'pca' - Converts predictors principal components. Note results renaming variables principal component axes! 'scale' - Transforms predictors applying scale . 'norm' - Normalizes predictors transforming scale 0 1. 'windsor' - Applies windsorization target predictors. default effectively cuts predictors 0.05 0.95, thus helping remove extreme outliers. Available options creating derivates : 'none' - additional predictor derivates created. 'quad' - Adds quadratic transformed predictors. 'interaction' - Add interacting predictors. Interactions need specified (\"int_variables\")! 'thresh' - Add threshold transformed predictors. 'hinge' - Add hinge transformed predictors. 'bin' - Add predictors binned percentiles.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_predictors_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add predictions from a fitted model to a Biodiversity distribution object — add_predictors_model","text":"","code":"if (FALSE) { # \\dontrun{ # Fit first model fit <- distribution(background) |> add_predictors(covariates) |> add_biodiversity_poipa(species) |> engine_glmnet() |> train() # New model object obj <- distribution(background) |> add_predictors_model(fit) obj } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — add_priors","title":"Add priors to an existing distribution object — add_priors","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — add_priors","text":"","code":"add_priors(x, priors = NULL, ...) # S4 method for class 'BiodiversityDistribution' add_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — add_priors","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — add_priors","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — add_priors","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":null,"dir":"Reference","previous_headings":"","what":"Add pseudo-absence points to a point data set — add_pseudoabsence","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"engines, background pseudo-absence points necessary. distinction lies absence data handled. poisson distributed responses, absence points considered background points intensity sampling (lambda) integrated (classical Poisson point-process model). contrast binomial distributed responses, absence information assumed adequate representation true absences treated model ... advised specify absence points way represent potential true absence, example targeted background sampling sampling within/outside given range.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"","code":"add_pseudoabsence( df, field_occurrence = \"observed\", template = NULL, settings = getOption(\"ibis.pseudoabsence\") )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"df sf, data.frame tibble object containing point data. field_occurrence character name column containing presence information (Default: observed). template SpatRaster object aligned predictors (Default: NULL). set NULL, background pseudoabs_settings() SpatRaster object. settings pseudoabs_settings() objects. Absence settings taken ibis_options otherwise (Default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"data.frame containing newly created pseudo absence points.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"pseudoabs_settings() object can added setup absence points sampled. bias parameter can set specify bias layer sample , instance layer accessibility. Note modelling several datasets, might make sense check across datasets whether certain areas truly absent. default, pseudo-absence points sampled areas already presence points.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"method removes columns input df object field_occurrence column coordinate columns (created already present).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/add_pseudoabsence.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Add pseudo-absence points to a point data set — add_pseudoabsence","text":"Stolar, J., & Nielsen, S. E. (2015). Accounting spatially biased sampling effort presence‐species distribution modelling. Diversity Distributions, 21(5), 595-608. Bird, T.J., Bates, .E., Lefcheck, J.S., Hill, N.., Thomson, R.J., Edgar, G.J., Stuart-Smith, R.D., Wotherspoon, S., Krkosek, M., Stuart-Smith, J.F. Pecl, G.T., 2014. Statistical solutions error bias global citizen science datasets. Biological Conservation, 173, pp.144-154.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":null,"dir":"Reference","previous_headings":"","what":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"data projection template, alignment computed reprojection . data already projection, data set cropped aggregated prior resampling order reduce computation time.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"","code":"alignRasters(data, template, method = \"bilinear\", func = mean, cl = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"data SpatRaster object resampled. template SpatRaster sf object geometry can extracted. method method resampling (Options: \"near\" \"bilinear\"). func function resampling (Default: mean). cl logical value multicore computation used (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"New SpatRaster object aligned supplied template layer.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"Nearest Neighbour resampling (near) recommended discrete bilinear resampling recommended continuous data. See also help terra::resample options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/alignRasters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Align a SpatRaster object to another by harmonizing geometry and extend. — alignRasters","text":"","code":"if (FALSE) { # \\dontrun{ # Align one raster to another ras1 <- alignRasters( ras1, ras2, method = \"near\", cl = FALSE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":null,"dir":"Reference","previous_headings":"","what":"As Id — as.Id","title":"As Id — as.Id","text":"Id","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"As Id — as.Id","text":"","code":"as.Id(x, ...) # S3 method for class 'character' as.Id(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/as.Id.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"As Id — as.Id","text":"x character converted id. ... arguements","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Bivariate prediction plot for distribution objects — bivplot","title":"Bivariate prediction plot for distribution objects — bivplot","text":"Often intention display predictions made SDM, also uncertainty prediction. Uncertainty estimated either directly model calculating variation prediction values among set models. particular Bayesian engines can produce mean estimates fitted responses, also pixel-based estimates uncertainty posterior standard deviation (SD) coefficient variation given prediction. function makes use \"biscale\" R-package create bivariate plots fitted distribution object, allowing visualize two variables . mostly thought convenience function create bivariate plots quick visualization. Supported Inputs either single trained Bayesian DistributionModel uncertainty output ensemble() call. cases, users make sure \"xvar\" \"yvar\" set accordingly.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bivariate prediction plot for distribution objects — bivplot","text":"","code":"bivplot( mod, xvar = \"mean\", yvar = \"sd\", plot = TRUE, fname = NULL, title = NULL, col = \"BlueGold\", ... ) # S4 method for class 'ANY' bivplot( mod, xvar = \"mean\", yvar = \"sd\", plot = TRUE, fname = NULL, title = NULL, col = \"BlueGold\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bivariate prediction plot for distribution objects — bivplot","text":"mod trained DistributionModel alternatively SpatRaster object prediction model within. xvar character denoting value x-axis (Default: 'mean'). yvar character denoting value y-axis (Default: 'sd'). plot logical indication whether result plotted (Default: TRUE)? fname character specifying output filename created figure written . title Allows respecify title character (Default:NULL). col character stating colour palette use. either predefined value vector colours. See \"biscale::bi_pal_manual\". Default: \"BlueGold\". ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bivariate prediction plot for distribution objects — bivplot","text":"Saved bivariate plot 'fname' specified, otherwise plot.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/bivplot.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Bivariate prediction plot for distribution objects — bivplot","text":"function requires biscale package installed. Although work around without package developed, deemed necessary point. See also gist.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":null,"dir":"Reference","previous_headings":"","what":"Check objects in the package for common errors or issues — check","title":"Check objects in the package for common errors or issues — check","text":"always enough data sufficient information robustly infer suitable habitat niche species. many SDM algorithms essentially regression models, similar assumptions model convergence, homogeneity residuals inferrence usually apply (although often ignored). function simply checks respective input object common issues mistakes.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check objects in the package for common errors or issues — check","text":"","code":"check(obj, stoponwarning = FALSE) # S4 method for class 'ANY' check(obj, stoponwarning = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check objects in the package for common errors or issues — check","text":"obj BiodiversityDistribution, DistributionModel BiodiversityScenario object. stoponwarning logical check return stop warning raised? (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check objects in the package for common errors or issues — check","text":"Message outputs","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check objects in the package for common errors or issues — check","text":"Different checks implemented depending supplied object BiodiversityDistribution Checks less 200 observations TODO: Add rm_insufficient_covs link DistributionModel Check model convergence Check model found Check coefficients exist Check unusal outliers prediction (using 10median absolute deviation) Check threshold larger layer BiodiversityScenario","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Check objects in the package for common errors or issues — check","text":"function likely expanded additional checks future. ideas, please let know per issue.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/check.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check objects in the package for common errors or issues — check","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated DistributionModel check(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtains the coefficients of a trained model — coef","title":"Obtains the coefficients of a trained model — coef","text":"Similar summary, helper function obtains coefficients given DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtains the coefficients of a trained model — coef","text":"","code":"# S3 method for class 'DistributionModel' coef(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtains the coefficients of a trained model — coef","text":"object prepared object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/coef.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Obtains the coefficients of a trained model — coef","text":"models trained machine-learning approaches (e.g. engine_bart etc) function return variable importance estimates rather linear coefficients. Similar can said trained non-linear models.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine or concatenate multiple formula objects — combine_formulas","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"small helper function allows combine multiple formula() objects one. case duplicate variable entries, unique ones used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"","code":"combine_formulas(..., combine = \"both\", env = parent.frame())"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"... number formula objects \"LHS ~ RHS\" format, also supporting character strings. combine character whether LHS RHS duplicates removed. Can set either \"lhs\", \"rhs\" \"\" (Default). env new environment formula (def=parent.frame()).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"formula cbind(lhs_1, lhs_2, ...) ~ rhs_1 + rhs_2 + ... lhs ~ rhs_1 + rhs_2 case identical LHS (see examples).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"Use \"y ~ 0\" specify stand alone LHS.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"likely work interaction terms (* :).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/combine_formulas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combine or concatenate multiple formula objects — combine_formulas","text":"","code":"# Combine everything (default) combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover) #> observed ~ rainfall + temp #> # Combine only LHS combine_formulas(observed ~ rainfall + temp, observed ~ rainfall + forest.cover, combine = \"lhs\") #> observed ~ rainfall + temp + rainfall + forest.cover #> "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":null,"dir":"Reference","previous_headings":"","what":"Create distribution modelling procedure — distribution","title":"Create distribution modelling procedure — distribution","text":"function creates object contains data, parameters settings building (integrated) species distribution model. Key functions add data add_biodiversity_poipo like, add_predictors, add_latent_spatial, engine_glmnet similar, add_priors add_offset. creates prototype BiodiversityDistribution object functions. setting input data parameters, model predictions can created via train function predictions created. Additionally, possible specify \"limit\" predictions conducted background. can instance buffered layer certain dispersal distance (Cooper Soberon, 2018) categorical layer representing biomes soil conditions. Another option create constraint constructing minimum convex polygon (MCP) using supplied biodiversity data. option can enabled setting \"limits_method\" \"mcp\". also possible provide small buffer constructed MCP way. See frequently asked question (FAQ) section homepage information. See Details description internal functions available modify summarize data within created object. Note model requires minimum single added biodiversity dataset well specified engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create distribution modelling procedure — distribution","text":"","code":"distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE ) # S4 method for class 'SpatRaster' distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE ) # S4 method for class 'sf' distribution( background, limits = NULL, limits_method = \"none\", mcp_buffer = 0, limits_clip = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create distribution modelling procedure — distribution","text":"background Specification modelling background. Must SpatRaster sf object. limits SpatRaster, sf stars object limits prediction surface intersected input data (Default: NULL). case stars object first factorized time entry taken. limits_method character method used hard limiting projection. Available options \"none\" (Default), \"zones\" \"mcp\". See also add_limits_extrapolation(). mcp_buffer numeric distance buffer mcp (Default 0). used \"mcp\" used. limits_clip logical limits clip predictors fitting model (TRUE) just prediction (FALSE, default).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create distribution modelling procedure — distribution","text":"BiodiversityDistribution object containing data building biodiversity distribution modelling problem.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create distribution modelling procedure — distribution","text":"function creates BiodiversityDistribution object contains functions stores parameters (pre-)processed data. full list functions available can queried via \"names(object)\". functions intended manipulated directly, rather convenience functions (e.g. \"object$set_predictors()\"). Similarly objects stored BiodiversityDistribution object functions well can queried (e.g. \"names(object)\"). list functions see reference documentation. default, datasets set, \"Waiver\" object returned instead. following objects can stored: object$biodiversity BiodiversityDatasetCollection object added biodiversity data. object$engine \"engine\" object (e.g. engine_inlabru()) function depended added engine. object$predictors PredictorDataset object set predictions. object$priors PriorList object specified priors. object$log Log object captures. Useful high-level functions address objects instance: object$show() generic summary BiodiversityDistribution object contents. Can also called via print. object$get_biodiversity_equations() Lists equations used biodiversity dataset given id. Defaults predictors. object$get_biodiversity_types() Lists type specified biodiversity dataset given id. object$get_extent() Outputs terra::ext modelling region. object$show_background_info() Returns list terra::ext terra::crs. object$get_extent_dimensions() Outputs terra::ext dimension calling \"extent_dimensions()\" function. object$get_predictor_names() Returns character vector names added predictors. object$get_prior_variables() Returns description priors added. functions well better accessed respective wrapper functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create distribution modelling procedure — distribution","text":"Fletcher, R.J., Hefley, T.J., Robertson, E.P., Zuckerberg, B., McCleery, R.., Dorazio, R.M., (2019) practical guide combining data model species distributions. Ecology 100, e02710. https://doi.org/10.1002/ecy.2710 Cooper, Jacob C., Jorge Soberón. \"Creating individual accessible area hypotheses improves stacked species distribution model performance.\" Global Ecology Biogeography 27, . 1 (2018): 156-165.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/distribution.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create distribution modelling procedure — distribution","text":"","code":"# Load background raster background <- terra::rast(system.file(\"extdata/europegrid_50km.tif\",package = \"ibis.iSDM\")) # Define model x <- distribution(background) #> [Setup] 2024-10-08 19:46:43.018939 | Creating distribution object... x #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> None #> --------- #> predictors: None #> priors: #> latent: None #> log: #> engine: "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot effects of trained model — effects","title":"Plot effects of trained model — effects","text":"functions handy wrapper calls default plotting functions model specific engine. Equivalent calling effects fitted distribution function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot effects of trained model — effects","text":"","code":"# S3 method for class 'DistributionModel' effects(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot effects of trained model — effects","text":"object fitted distribution object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot effects of trained model — effects","text":"None.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Plot effects of trained model — effects","text":"models, default coefficients plots available, function attempt generate partial dependency plots instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/effects.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot effects of trained model — effects","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated distribution model mod$effects() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":null,"dir":"Reference","previous_headings":"","what":"Create an empty SpatRaster based on a template — emptyraster","title":"Create an empty SpatRaster based on a template — emptyraster","text":"function creates empty copy provided SpatRaster object. primarily used package create outputs predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create an empty SpatRaster based on a template — emptyraster","text":"","code":"emptyraster(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create an empty SpatRaster based on a template — emptyraster","text":"x SpatRaster* object corresponding. ... arguments can passed terra","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create an empty SpatRaster based on a template — emptyraster","text":"empty SpatRaster, .e. cells NA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/emptyraster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create an empty SpatRaster based on a template — emptyraster","text":"","code":"require(terra) #> Loading required package: terra #> terra 1.7.78 #> #> Attaching package: ‘terra’ #> The following object is masked from ‘package:ibis.iSDM’: #> #> modal r <- rast(matrix(1:100, 5, 20)) emptyraster(r) #> class : SpatRaster #> dimensions : 5, 20, 1 (nrow, ncol, nlyr) #> resolution : 1, 1 (x, y) #> extent : 0, 20, 0, 5 (xmin, xmax, ymin, ymax) #> coord. ref. :"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Bayesian regression approach sum complementary trees shrink said fit tree regularization prior. BART models provide non-linear highly flexible estimation shown compare favourable among machine learning algorithms (Dorie et al. 2019). Default prior preference trees small (terminal nodes) shrinkage towards 0. package requires \"dbarts\" R-package installed. Many functionalities engine inspired \"embarcadero\" R-package. Users therefore advised cite make heavy use BART.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"","code":"engine_bart(x, iter = 1000, nburn = 250, chains = 4, type = \"response\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"x distribution() (.e. BiodiversityDistribution) object. iter numeric estimate number trees used sum--trees formulation (Default: 1000). nburn numeric estimate burn samples (Default: 250). chains number number chains used (Default: 4). type type used creating posterior predictions. Either \"link\" \"response\" (Default: \"response\"). ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Prior distributions can furthermore set : probability tree stops node given depth (yet implemented) probability given variable chosen splitting rule probability splitting variable particular value (yet implemented)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"Carlson, CJ. embarcadero: Species distribution modelling Bayesian additive regression trees r. Methods Ecol Evol. 2020; 11: 850– 858. https://doi.org/10.1111/2041-210X.13389 Dorie, V., Hill, J., Shalit, U., Scott, M., & Cervone, D. (2019). Automated versus --methods causal inference: Lessons learned data analysis competition. Statistical Science, 34(1), 43-68. Vincent Dorie (2020). dbarts: Discrete Bayesian Additive Regression Trees Sampler. R package version 0.9-19. https://CRAN.R-project.org/package=dbarts","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_bart.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for use of Bayesian Additive Regression Trees (BART) — engine_bart","text":"","code":"if (FALSE) { # \\dontrun{ # Add BART as an engine x <- distribution(background) |> engine_bart(iter = 100) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for Bayesian regularized regression models — engine_breg","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Efficient MCMC algorithm linear regression models makes use 'spike--slab' priors modest regularization amount posterior probability subset coefficients.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for Bayesian regularized regression models — engine_breg","text":"","code":"engine_breg( x, iter = 10000, nthread = getOption(\"ibis.nthread\"), type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for Bayesian regularized regression models — engine_breg","text":"x distribution() (.e. BiodiversityDistribution) object. iter numeric number MCMC iterations run (Default: 10000). nthread numeric number CPU-threads use data augmentation. type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... none specified parameters passed model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for Bayesian regularized regression models — engine_breg","text":"engine provides efficient Bayesian predictions Boom R-package. However note link models functions supported certain functionalities offsets generally available. engines allows estimation linear non-linear effects via \"only_linear\" option specified train.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for Bayesian regularized regression models — engine_breg","text":"Nguyen, K., Le, T., Nguyen, V., Nguyen, T., & Phung, D. (2016, November). Multiple kernel learning data augmentation. Asian Conference Machine Learning (pp. 49-64). PMLR. Steven L. Scott (2021). BoomSpikeSlab: MCMC Spike Slab Regression. R package version 1.2.4. https://CRAN.R-project.org/package=BoomSpikeSlab","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_breg.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for Bayesian regularized regression models — engine_breg","text":"","code":"if (FALSE) { # \\dontrun{ # Add BREG as an engine x <- distribution(background) |> engine_breg(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":null,"dir":"Reference","previous_headings":"","what":"Use of Gradient Descent Boosting for model estimation — engine_gdb","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"Gradient descent boosting efficient way optimize loss function generalized linear additive model (GAMs available \"mgcv\" R-package). furthermore automatically regularizes fit, thus resulting model contains covariates whose baselearners influence response. Depending type add_biodiversity data, either poisson process models logistic regressions estimated. \"only_linear\" term train set FALSE, splines added estimation, thus providing non-linear additive inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"","code":"engine_gdb( x, iter = 2000, learning_rate = 0.1, empirical_risk = \"inbag\", type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"x distribution() (.e. BiodiversityDistribution) object. iter integer giving number boosting iterations (Default: 2e3L). learning_rate bounded numeric value 0 1 defining shrinkage parameter. empirical_risk method empirical risk calculation. Available options 'inbag', 'oobag' 'none'. (Default: 'inbag'). type mode used creating posterior predictions. Either making \"link\", \"response\" \"class\" (Default: \"response\"). ... variables control parameters","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":": package requires \"mboost\" R-package installed. philosophy somewhat related engine_xgboost \"XGBoost\" R-package, however providing additional desirable features make estimation quicker particularly useful spatial projections. instance ability specifically add spatial baselearners via add_latent_spatial specification monotonically constrained priors via GDBPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"coefficients resulting gdb poipa data (Binomial) 0.5 typical coefficients logit model obtained via glm (see Binomial).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"Hofner, B., Mayr, ., Robinzonov, N., & Schmid, M. (2014). Model-based boosting R: hands-tutorial using R package mboost. Computational statistics, 29(1-2), 3-35. Hofner, B., Müller, J., Hothorn, T., (2011). Monotonicity-constrained species distribution models. Ecology 92, 1895–901. Mayr, ., Hofner, B. Schmid, M. (2012). importance knowing stop - sequential stopping rule component-wise gradient boosting. Methods Information Medicine, 51, 178–186.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_gdb.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use of Gradient Descent Boosting for model estimation — engine_gdb","text":"","code":"if (FALSE) { # \\dontrun{ # Add GDB as an engine x <- distribution(background) |> engine_gdb(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for Generalized linear models (GLM) — engine_glm","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"engine implements basic generalized linear modle (GLM) creating species distribution models. main purpose engine support basic, dependency-free method inference projection can used within package examples vignettes. said, engine fully functional engine. basic implementation GLMs part general class oflinear models - exception offsets - minimal options integrate sources information priors joint integration. general recommendation engine_glmnet() instead regularization support. However basic GLMs can cases useful quick projections ensemble() small models (practice common rare species).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"","code":"engine_glm(x, control = NULL, type = \"response\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"x distribution() (.e. BiodiversityDistribution) object. control list containing parameters controlling fitting process (Default: NULL). type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... parameters passed stats::glm().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"engine essentially wrapper stats::glm.fit(), however customized settings support offsets weights. \"optim_hyperparam\" set TRUE train(), AIC based step-wise (backwards) model selection performed. Generally however engine_glmnet preferred package models >3 covariates.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"Hastie, T. J. Pregibon, D. (1992) Generalized linear models. Chapter 6 Statistical Models S eds J. M. Chambers T. J. Hastie, Wadsworth & Brooks/Cole.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for Generalized linear models (GLM) — engine_glm","text":"","code":"# Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Add GLM as an engine x <- distribution(background) |> engine_glm() #> [Setup] 2024-10-08 19:46:44.011477 | Creating distribution object... print(x) #> #> Background extent: #> xmin: -16.064, xmax: 36.322, #> ymin: 34.95, ymax: 71.535 #> projection: +proj=longlat +datum=WGS84 +no_defs #> --------- #> Biodiversity data: #> None #> --------- #> predictors: None #> priors: #> latent: None #> log: #> engine: "},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for regularized regression models — engine_glmnet","title":"Engine for regularized regression models — engine_glmnet","text":"engine allows estimation linear coefficients using either ridge, lasso elastic net regressions techniques. Backbone engine glmnet R-package commonly used SDMs, including popular 'maxnet' (e.g. Maxent) package. Ultimately engine equivalent engine_breg, \"frequentist\" setting. user aim emulate model closely resembles maxent within ibis.iSDM modelling framework, package best way . Compared 'maxnet' R-package, number efficiency settings implemented particular cross-validation alpha lambda values. Limited amount prior information can specified engine, specifically via offsets GLMNETPrior, allow specify priors regularization constants.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for regularized regression models — engine_glmnet","text":"","code":"engine_glmnet( x, alpha = 0, nlambda = 100, lambda = NULL, type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for regularized regression models — engine_glmnet","text":"x distribution() (.e. BiodiversityDistribution) object. alpha numeric giving elasticnet mixing parameter, 0 1. alpha=1 lasso penalty, alpha=0 ridge penalty (Default: 0). nlambda numeric giving number lambda values used (Default: 100). lambda numeric user supplied estimate lambda. Usually best let parameter determined deterministically (Default: NULL). type mode used creating posterior predictions. Either making \"link\" \"response\" (Default: \"response\"). ... parameters passed glmnet.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for regularized regression models — engine_glmnet","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for regularized regression models — engine_glmnet","text":"Regularized regressions effectively GLMs fitted ridge, lasso elastic-net regularization. chosen critical dependent alpha value: * alpha equal 0 ridge regularization used. Ridge regularization property remove variables entirely, instead sets coefficients 0. * alpha equal 1 lasso regularization used. Lassos tend remove coefficients fully final model improve loss function. * alpha values 0 1 elastic-net regularization used, essentially combination two. optimal lambda parameter can determined via cross-validation. option set \"varsel\" train() \"reg\".","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for regularized regression models — engine_glmnet","text":"Jerome Friedman, Trevor Hastie, Robert Tibshirani (2010). Regularization Paths Generalized Linear Models via Coordinate Descent. Journal Statistical Software, 33(1), 1-22. URL https://www.jstatsoft.org/v33/i01/. Renner, .W., Elith, J., Baddeley, ., Fithian, W., Hastie, T., Phillips, S.J., Popovic, G. Warton, D.., 2015. Point process models presence‐analysis. Methods Ecology Evolution, 6(4), pp.366-379. Fithian, W. & Hastie, T. (2013) Finite-sample equivalence statistical models presence-data. Annals Applied Statistics 7, 1917–1939","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_glmnet.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for regularized regression models — engine_glmnet","text":"","code":"if (FALSE) { # \\dontrun{ # Add GLMNET as an engine x <- distribution(background) |> engine_glmnet(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":null,"dir":"Reference","previous_headings":"","what":"Use INLA as engine — engine_inla","title":"Use INLA as engine — engine_inla","text":"Allows full Bayesian analysis linear additive models using Integrated Nested Laplace approximation. Engine largely superceded engine_inlabru package users advised us one, unless specific options required.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use INLA as engine — engine_inla","text":"","code":"engine_inla( x, optional_mesh = NULL, optional_projstk = NULL, max.edge = NULL, offset = NULL, cutoff = NULL, proj_stepsize = NULL, timeout = NULL, strategy = \"auto\", int.strategy = \"eb\", barrier = FALSE, type = \"response\", area = \"gpc2\", nonconvex.bdry = FALSE, nonconvex.convex = -0.15, nonconvex.concave = -0.05, nonconvex.res = 40, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use INLA as engine — engine_inla","text":"x distribution() (.e. BiodiversityDistribution) object. optional_mesh directly supplied \"INLA\" mesh (Default: NULL) optional_projstk directly supplied projection stack. Useful projection stack identical multiple species (Default: NULL) max.edge largest allowed triangle edge length, must scale units coordinates. Default educated guess (Default: NULL). offset interpreted numeric factor relative approximate data diameter. Default educated guess (Default: NULL). cutoff minimum allowed distance points mesh. Default educated guess (Default: NULL). proj_stepsize stepsize coordinate units cells projection grid (Default: NULL). timeout Specify timeout INLA models sec. Afterwards passed. strategy approximation use joint posterior. Options \"auto\" (\"default\"), \"adaptative\", \"gaussian\", \"simplified.laplace\" & \"laplace\". int.strategy Integration strategy. Options \"auto\",\"grid\", \"eb\" (\"default\") & \"ccd\". See also https://groups.google.com/g/r-inla-discussion-group/c/hDboQsJ1Mls barrier barrier model added model? type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default: \"response\"). area Accepts character denoting type area calculation done mesh (Default: 'gpc2'). nonconvex.bdry Create non-convex boundary hulls instead (Default: FALSE) yet implemented nonconvex.convex Non-convex minimal extension radius convex curvature yet implemented nonconvex.concave Non-convex minimal extension radius concave curvature yet implemented nonconvex.res Computation resolution nonconvex.hulls yet implemented ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use INLA as engine — engine_inla","text":"engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use INLA as engine — engine_inla","text":"INLA engines require specification mesh needs provided \"optional_mesh\" parameter. Otherwise mesh created based best guesses data spread. good mesh needs triangles regular possible size shape: equilateral. * \"max.edge\": largest allowed triangle edge length, must scale units coordinates Lower bounds affect density triangles * \"offset\": automatic extension distance mesh positive: scale units. negative, interpreted factor relative approximate data diameter .e., value -0.10 add 10% data diameter outer extension. * \"cutoff\": minimum allowed distance points, means points closer distance supplied value replaced single vertex. critical points close , either point locations domain boundary. * \"proj_stepsize\": stepsize spatial predictions, affects spatial grain outputs created. Priors can set via INLAPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use INLA as engine — engine_inla","text":"INLA Meshes generated, substantially influences prediction outcomes. See Dambly et al. (2023).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use INLA as engine — engine_inla","text":"Havard Rue, Sara Martino, Nicholas Chopin (2009), Approximate Bayesian Inference Latent Gaussian Models Using Integrated Nested Laplace Approximations (discussion), Journal Royal Statistical Society B, 71, 319-392. Finn Lindgren, Havard Rue, Johan Lindstrom (2011). Explicit Link Gaussian Fields Gaussian Markov Random Fields: Stochastic Partial Differential Equation Approach (discussion), Journal Royal Statistical Society B, 73(4), 423-498. Simpson, Daniel, Janine B. Illian, S. H. Sørbye, Håvard Rue. 2016. “Going Grid: Computationally Efficient Inference Log-Gaussian Cox Processes.” Biometrika 1 (103): 49–70. Dambly, L. ., Isaac, N. J., Jones, K. E., Boughey, K. L., & O'Hara, R. B. (2023). Integrated species distribution models fitted INLA sensitive mesh parameterisation. Ecography, e06391.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inla.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use INLA as engine — engine_inla","text":"","code":"if (FALSE) { # \\dontrun{ # Add INLA as an engine (with a custom mesh) x <- distribution(background) |> engine_inla(mesh = my_mesh) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":null,"dir":"Reference","previous_headings":"","what":"Use inlabru as engine — engine_inlabru","title":"Use inlabru as engine — engine_inlabru","text":"Model components specified general inputs mapping methods latent variables, predictors specified via general R expressions, separate expressions observation likelihood model multi-likelihood models. inlabru engine - similar engine_inla function acts wrapper INLA, albeit \"inlabru\" number convenience functions implemented make particular predictions new data much straight forward (e.g. via posterior simulation instead fitting). Since recent versions \"inlabru\" also supports addition multiple likelihoods, therefore allowing full integrated inference.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use inlabru as engine — engine_inlabru","text":"","code":"engine_inlabru( x, optional_mesh = NULL, max.edge = NULL, offset = NULL, cutoff = NULL, proj_stepsize = NULL, strategy = \"auto\", int.strategy = \"eb\", area = \"gpc2\", timeout = NULL, type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Use inlabru as engine — engine_inlabru","text":"https://inlabru-org.github.io/inlabru/articles/","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use inlabru as engine — engine_inlabru","text":"x distribution() (.e. BiodiversityDistribution) object. optional_mesh directly supplied \"INLA\" mesh (Default: NULL) max.edge largest allowed triangle edge length, must scale units coordinates. Default educated guess (Default: NULL). offset interpreted numeric factor relative approximate data diameter. Default educated guess (Default: NULL). cutoff minimum allowed distance points mesh. Default educated guess (Default: NULL). proj_stepsize stepsize coordinate units cells projection grid (Default: NULL) strategy approximation use joint posterior. Options \"auto\" (\"default\"), \"adaptative\", \"gaussian\", \"simplified.laplace\" & \"laplace\". int.strategy Integration strategy. Options \"auto\", \"grid\", \"eb\" (\"default\") & \"ccd\". area Accepts character denoting type area calculation done mesh (Default: 'gpc2'). timeout Specify timeout INLA models sec. Afterwards passed. type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default:\"response\"). ... variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use inlabru as engine — engine_inlabru","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use inlabru as engine — engine_inlabru","text":"INLA engines require specification mesh needs provided \"optional_mesh\" parameter. Otherwise mesh created based best guesses data spread. good mesh needs triangles regular possible size shape: equilateral. * \"max.edge\": largest allowed triangle edge length, must scale units coordinates Lower bounds affect density triangles * \"offset\": automatic extension distance mesh positive: scale units. negative, interpreted factor relative approximate data diameter .e., value -0.10 add 10% data diameter outer extension. * \"cutoff\": minimum allowed distance points, means points closer distance supplied value replaced single vertex. critical points close , either point locations domain boundary. * \"proj_stepsize\": stepsize spatial predictions, affects spatial grain outputs created. Priors can set via INLAPrior.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use inlabru as engine — engine_inlabru","text":"INLA Meshes generated, substantially influences prediction outcomes. See Dambly et al. (2023).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use inlabru as engine — engine_inlabru","text":"Bachl, F. E., Lindgren, F., Borchers, D. L., & Illian, J. B. (2019). inlabru: R package Bayesian spatial modelling ecological survey data. Methods Ecology Evolution, 10(6), 760-766. Simpson, Daniel, Janine B. Illian, S. H. Sørbye, Håvard Rue. 2016. “Going Grid: Computationally Efficient Inference Log-Gaussian Cox Processes.” Biometrika 1 (103): 49–70. Dambly, L. ., Isaac, N. J., Jones, K. E., Boughey, K. L., & O'Hara, R. B. (2023). Integrated species distribution models fitted INLA sensitive mesh parameterisation. Ecography, e06391.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_inlabru.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use inlabru as engine — engine_inlabru","text":"","code":"if (FALSE) { # \\dontrun{ # Add inlabru as an engine x <- distribution(background) |> engine_inlabru() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for process models using scampr — engine_scampr","title":"Engine for process models using scampr — engine_scampr","text":"Similar others, engine enables fitting prediction log-Gaussian Cox process (LGCP) Inhomogeneous Poisson process (IPP) processes. uses scampr package, uses maximum likelihood estimation fitted via TMB (Template Model Builder). also support addition spatial latent effects can added via Gaussian fields approximated 'FRK' (Fixed Rank Kriging) integrated using either variational Laplace approximation. main use case engine alternative engine_inlabru() engine_inla() fitting iSDMs, e.g. combining presence-presence-absence point occurrence data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for process models using scampr — engine_scampr","text":"","code":"engine_scampr(x, type = \"response\", dens = \"posterior\", maxit = 500, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for process models using scampr — engine_scampr","text":"x distribution() (.e. BiodiversityDistribution) object. type mode used creating (posterior prior) predictions. Either stting \"link\" \"response\" (Default: \"response\"). dens character predictions made, either \"posterior\" (Default) \"prior\". maxit numeric number iterations optimizer (Default: 500). ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for process models using scampr — engine_scampr","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for process models using scampr — engine_scampr","text":"engine may used predict one two datasets . supports presence-PPMs presence/absence Binary GLMs, 'IDM' (integrated data model).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Engine for process models using scampr — engine_scampr","text":"package can currently installed github directly \"ElliotDovers/scampr\" Presence-absence models SCAMPR currently support cloglog link functions!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for process models using scampr — engine_scampr","text":"Dovers, E., Popovic, G. C., & Warton, D. . (2024). fast method fitting integrated species distribution models. Methods Ecology Evolution, 15(1), 191-203. Dovers, E., Stoklosa, D., Warton D. . (2024). Fitting log-Gaussian Cox processes using generalized additive model software. American Statistician, 1-17.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_scampr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for process models using scampr — engine_scampr","text":"","code":"if (FALSE) { # \\dontrun{ # Load background background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Add GLM as an engine x <- distribution(background) |> engine_scampr() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":null,"dir":"Reference","previous_headings":"","what":"Use Stan as engine — engine_stan","title":"Use Stan as engine — engine_stan","text":"Stan probabilistic programming language can used specify types statistical linear non-linear regression models. Stan provides full Bayesian inference continuous-variable models Markov chain Monte Carlo methods -U-Turn sampler, adaptive form Hamiltonian Monte Carlo sampling. Stan code written separately function acts compiler build stan-model. Requires \"cmdstanr\" package installed!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use Stan as engine — engine_stan","text":"","code":"engine_stan( x, chains = 4, iter = 2000, warmup = floor(iter/2), init = \"random\", cores = getOption(\"ibis.nthread\"), algorithm = \"sampling\", control = list(adapt_delta = 0.95), type = \"response\", ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use Stan as engine — engine_stan","text":"x distribution() (.e. BiodiversityDistribution) object. chains positive integer specifying number Markov chains (Default: 4 chains). iter positive integer specifying number iterations chain (including warmup). (Default: 2000). warmup positive integer specifying number warmup (aka burnin) iterations per chain. step-size adaptation (Default: TRUE), also controls number iterations adaptation run (hence warmup samples used inference). number warmup iterations smaller iter default iter/2. init Initial values parameters (Default: 'random'). Can also specified list (see: \"rstan::stan\") cores set NULL take values specified ibis option getOption('ibis.nthread'). algorithm Mode used sample posterior. Available options \"sampling\", \"optimize\", \"variational\". See \"cmdstanr\" package details. (Default: \"sampling\"). control See \"rstan::stan\" details specifying controls. type mode used creating posterior predictions. Either summarizing linear \"predictor\" \"response\" (Default: \"response\"). ... variables","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use Stan as engine — engine_stan","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Use Stan as engine — engine_stan","text":"default posterior obtained sampling, however stan also supports approximate inference forms penalized maximum likelihood estimation (see Carpenter et al. 2017).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Use Stan as engine — engine_stan","text":"function obj$stancode() can used print stancode model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Use Stan as engine — engine_stan","text":"Jonah Gabry Rok Češnovar (2021). cmdstanr: R Interface 'CmdStan'. https://mc-stan.org/cmdstanr, https://discourse.mc-stan.org. Carpenter, B., Gelman, ., Hoffman, M. D., Lee, D., Goodrich, B., Betancourt, M., ... & Riddell, . (2017). Stan: probabilistic programming language. Journal statistical software, 76(1), 1-32. Piironen, J., & Vehtari, . (2017). Sparsity information regularization horseshoe shrinkage priors. Electronic Journal Statistics, 11(2), 5018-5051.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_stan.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use Stan as engine — engine_stan","text":"","code":"if (FALSE) { # \\dontrun{ # Add Stan as an engine x <- distribution(background) |> engine_stan(iter = 1000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":null,"dir":"Reference","previous_headings":"","what":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Allows estimate eXtreme gradient descent boosting tree-based linear boosting regressions. XGBoost engine flexible, yet powerful engine many customization options, supporting multiple options perform single multi-class regression classification tasks. full list options users advised look xgboost::xgb.train help file https://xgboost.readthedocs.io.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"","code":"engine_xgboost( x, booster = \"gbtree\", iter = 8000L, learning_rate = 0.001, gamma = 6, reg_lambda = 0, reg_alpha = 0, max_depth = 2, subsample = 0.75, colsample_bytree = 0.4, min_child_weight = 3, nthread = getOption(\"ibis.nthread\"), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"x distribution() (.e. BiodiversityDistribution) object. booster character booster use. Either \"gbtree\" \"gblinear\" (Default: gblinear) iter numeric value giving maximum number boosting iterations cross-validation (Default: 8e3L). learning_rate numeric value indicating learning rate (eta). Lower values generally better also computationally costly. (Default: 1e-3) gamma numeric regularization parameter model. Lower values better estimates (Default: 3). Also see \"reg_lambda\" parameter L2 regularization weights reg_lambda numeric L2 regularization term weights (Default: 0). reg_alpha numeric L1 regularization term weights (Default: 0). max_depth numeric Maximum depth tree (Default: 3). subsample numeric ratio used subsampling prevent overfitting. Also used creating random tresting dataset (Default: 0.75). colsample_bytree numeric Sub-sample ratio columns constructing tree (Default: 0.4). min_child_weight numeric Broadly related number instances necessary node (Default: 3). nthread numeric number CPU-threads use. ... none specified parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"default parameters set relatively conservative reduce overfitting. XGBoost supports specification monotonic constraints certain variables. Within ibis possible via XGBPrior. However constraints available \"gbtree\" baselearners.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"'Machine learning statistics minus checking models assumptions‘ ~ Brian D. Ripley, useR! 2004, Vienna","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"Tianqi Chen Carlos Guestrin, \"XGBoost: Scalable Tree Boosting System\", 22nd SIGKDD Conference Knowledge Discovery Data Mining, 2016, https://arxiv.org/abs/1603.02754","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/engine_xgboost.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Engine for extreme gradient boosting (XGBoost) — engine_xgboost","text":"","code":"if (FALSE) { # \\dontrun{ # Add xgboost as an engine x <- distribution(background) |> engine_xgboost(iter = 4000) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of multiple fitted models — ensemble","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Ensemble models calculated multiple models often shown outcompete single model comparative assessments (Valavi et al. 2022). function creates ensemble multiple provided distribution models fitted ibis.iSDM-package. model estimated predictions given method optional uncertainty form standard deviation similar. layer parameter can specified part prediction averaged ensemble. can instance mean prediction /standard deviation sd. See Details overview different methods. Also returns coefficient variation (cv) output ensemble, note interpreted measure model uncertainty capture parameter uncertainty individual models; rather reflects variation among predictions can due many factors including simply differences model complexity.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"","code":"ensemble( ..., method = \"mean\", weights = NULL, min.value = NULL, layer = \"mean\", normalize = FALSE, uncertainty = \"cv\", point = NULL, field_occurrence = \"observed\", apply_threshold = TRUE ) # S4 method for class 'ANY' ensemble( ..., method = \"mean\", weights = NULL, min.value = NULL, layer = \"mean\", normalize = FALSE, uncertainty = \"cv\", point = NULL, field_occurrence = \"observed\", apply_threshold = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"... Provided DistributionModel SpatRaster objects. method Approach ensemble created. See details available options (Default: 'mean'). weights (Optional) weights provided ensemble function weighted means constructed (Default: NULL). min.value optional numeric stating minimum value needs surpassed layer calculating ensemble (Default: NULL). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. normalize logical whether inputs ensemble normalized scale 0-1 (Default: FALSE). uncertainty character indicating uncertainty among models calculated. Available options include \"none\", standard deviation (\"sd\"), average PCA axes except first \"pca\", coefficient variation (\"cv\", Default) range lowest highest value (\"range\"). point sf object containing observational data used model training. Used method 'superlearner' (Default: NULL). field_occurrence character location biodiversity point records (Default: 'observed'). apply_threshold logical flag (Default: TRUE) specifying whether threshold values also created via \"method\". applies works DistributionModel thresholds found.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"SpatRaster object containing ensemble provided predictions specified method coefficient variation across models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions. 'max' - maximum value across predictions. 'min' - minimum value across predictions. 'mode' - mode/modal values commonly occurring value. 'weighted.mean' - Calculates weighted mean. Weights supplied separately (e.g. TSS). 'min.sd' - Ensemble created minimizing uncertainty among predictions. 'threshold.frequency' - Returns ensemble based threshold frequency (simple count). Requires thresholds computed. 'pca' - Calculates PCA predictions algorithm extract first axis (one explaining variation). 'superlearner' - Composites two predictions 'meta-model' fitted top (using glm default). Requires binomial data current Setup. addition different ensemble methods, minimal threshold (min.value) can set needs surpassed averaging. default option used (Default: NULL). Note default band layer parameter composited. supported model summary statistics posterior (e.g. 'sd') can specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. case \"normalize\" parameter set.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"Valavi, R., Guillera‐Arroita, G., Lahoz‐Monfort, J. J., & Elith, J. (2022). Predictive performance presence‐species distribution models: benchmark study reproducible code. Ecological Monographs, 92(1), e01486.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of multiple fitted models — ensemble","text":"","code":"# Method works for fitted models as well as as rasters r1 <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .1)) r2 <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .5)) names(r1) <- names(r2) <- \"mean\" # Assumes previously computed predictions ex <- ensemble(r1, r2, method = \"mean\") terra::plot(ex)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"Similar ensemble() function, function creates ensemble partial responses provided distribution models fitted ibis.iSDM-package. layer parameter can specified part partial prediction averaged ensemble (given). can instance mean prediction /standard deviation sd. Ensemble partial also called one input DistributionModel object provided partial. default ensemble partial responses created average across models uncertainty standard deviation responses.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"","code":"ensemble_partial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, normalize = TRUE ) # S4 method for class 'ANY' ensemble_partial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, normalize = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"... Provided DistributionModel objects partial responses can called. future provided data.frames might supported well. x.var character variable ensemble created. method Approach ensemble created. See details options (Default: 'mean'). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. newdata optional data.frame SpatRaster object supplied model (DefaultL NULL). object needs identical names original predictors. normalize logical whether inputs ensemble normalized scale 0-1 (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"data.frame combined partial effects supplied models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. default response functions model normalized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_partial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of partial effects from multiple models — ensemble_partial","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed models ex <- ensemble_partial(mod1, mod2, mod3, method = \"mean\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"Similar ensemble() function, function creates ensemble partial responses provided distribution models fitted ibis.iSDM-package. layer parameter can specified part partial prediction averaged ensemble (given). can instance mean prediction /standard deviation sd. Ensemble partial also called one input DistributionModel object provided partial. default ensemble partial responses created average across models uncertainty standard deviation responses.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"","code":"ensemble_spartial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, min.value = NULL, normalize = TRUE ) # S4 method for class 'ANY' ensemble_spartial( ..., x.var, method = \"mean\", layer = \"mean\", newdata = NULL, min.value = NULL, normalize = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"... Provided DistributionModel objects partial responses can called. future provided data.frames might supported well. x.var character variable ensemble created. method Approach ensemble created. See details options (Default: 'mean'). layer character layer taken prediction (Default: 'mean'). set NULL ignore layer names ensembles SpatRaster objects. newdata optional data.frame SpatRaster object supplied model (DefaultL NULL). object needs identical names original predictors. min.value optional numeric stating minimum value needs surpassed layer calculating ensemble (Default: NULL). normalize logical whether inputs ensemble normalized scale 0-1 (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"SpatRaster object combined partial effects supplied models.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"Possible options creating ensemble includes: 'mean' - Calculates mean several predictions. 'median' - Calculates median several predictions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"list supplied, assumed entry list fitted DistributionModel object. Take care create ensemble models constructed different link functions, e.g. logistic vs log. default response functions model normalized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ensemble_spartial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to create an ensemble of spartial effects from multiple models — ensemble_spartial","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed models ex <- ensemble_spartial(mod1, mod2, mod3, method = \"mean\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"function expects downscaled GLOBIOM output created BIOCLIMA project. Likely little use anyone outside IIASA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"","code":"formatGLOBIOM( fname, oftype = \"raster\", ignore = NULL, period = \"all\", template = NULL, shares_to_area = FALSE, use_gdalutils = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"fname filename character pointing GLOBIOM output netCDF format. oftype character denoting output type (Default: 'raster'). ignore vector variables ignored (Default: NULL). period character limiting period returned formatted data. Options include \"reference\" first entry, \"projection\" entries first, \"\" entries (Default: \"reference\"). template optional SpatRaster object towards projects transformed. shares_to_area logical whether shares corrected areas (identified). use_gdalutils (Deprecated) logical use gdalutils hack-around. verbose logical whether chatty.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"SpatRaster stack formatted GLOBIOM predictors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/formatGLOBIOM.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to format a prepared GLOBIOM netCDF file for use in Ibis.iSDM — formatGLOBIOM","text":"","code":"if (FALSE) { # \\dontrun{ # Expects a filename pointing to a netCDF file. covariates <- formatGLOBIOM(fname) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Small helper function to obtain predictions from an object — get_data","title":"Small helper function to obtain predictions from an object — get_data","text":"function short helper function return fitted data DistributionModel BiodiversityScenario object. can used easily obtain example estimated prediction model projected scenario scenario() object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Small helper function to obtain predictions from an object — get_data","text":"","code":"get_data(obj, what = NULL) # S4 method for class 'ANY' get_data(obj, what = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Small helper function to obtain predictions from an object — get_data","text":"obj Provided DistributionModel BiodiversityScenario object. character specific layer returned existing (Default: NULL).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Small helper function to obtain predictions from an object — get_data","text":"SpatRaster \"stars\" object depending input.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Small helper function to obtain predictions from an object — get_data","text":"function essentially identical querying internal function x$get_data() object. However attempt lazy character matching supplied.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_data.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Small helper function to obtain predictions from an object — get_data","text":"","code":"if (FALSE) { # \\dontrun{ # Assumes previously computed model get_data(fit) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"function performs nearest neighbour matching biodiversity observations independent predictors, operates directly provided data.frames. Note despite parallized function can rather slow large data volumes data!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"","code":"get_ngbvalue( coords, env, longlat = TRUE, field_space = c(\"x\", \"y\"), cheap = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"coords matrix, data.frame sf object. env data.frame object predictors. longlat logical variable indicating whether projection long-lat. field_space vector highlight columns coordinates extracted (Default: c('x','y')). cheap logical variable whether dataset considered large faster computation help. ... options.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"data.frame extracted covariate data provided data point.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"Nearest neighbour matching done via geodist R-package (geodist::geodist).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"multiple values equal distance nearest neighbour check, results default averaged.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"Mark Padgham Michael D. Sumner (2021). geodist: Fast, Dependency-Free Geodesic Distance Calculations. R package version 0.0.7. https://CRAN.R-project.org/package=geodist","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_ngbvalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to extract nearest neighbour predictor values of provided points — get_ngbvalue","text":"","code":"if (FALSE) { # \\dontrun{ # Create matchup table tab <- get_ngbvalue( coords = coords, # Coordinates env = env # Data.frame with covariates and coordinates ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Create priors from an existing distribution model — get_priors","title":"Create priors from an existing distribution model — get_priors","text":"Often can make sense fit additional model get grasp range values \"beta\" parameters can take. function takes existing BiodiversityDistribution object creates PriorList object . resulting object can used add instance priors new model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create priors from an existing distribution model — get_priors","text":"","code":"get_priors(mod, target_engine, ...) # S4 method for class 'ANY,character' get_priors(mod, target_engine, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create priors from an existing distribution model — get_priors","text":"mod fitted DistributionModel object. instead BiodiversityDistribution object passed function, simply returns contained priors used estimation (). target_engine character priors created. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create priors from an existing distribution model — get_priors","text":"engines support priors similar ways. See vignettes help pages topic!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create priors from an existing distribution model — get_priors","text":"","code":"if (FALSE) { # \\dontrun{ mod <- distribution(background) |> add_predictors(covariates) |> add_biodiversity_poipo(points) |> engine_inlabru() |> train() get_priors(mod, target_engine = \"BART\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to extract point values directly from a SpatRaster — get_rastervalue","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"function simply extracts values provided SpatRaster, SpatRasterDataset SpatRasterCollection object. points NA values extracted small buffer applied try obtain remaining values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"","code":"get_rastervalue(coords, env, ngb_fill = TRUE, rm.na = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"coords data.frame, matrix sf object. env SpatRaster object provided predictors. ngb_fill logical whether cells interpolated neighbouring values. rm.na logical parameter - set - removes rows missing data point (NA) result.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"data.frame extracted covariate data provided data point.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"essentially wrapper terra::extract.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/get_rastervalue.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to extract point values directly from a SpatRaster — get_rastervalue","text":"","code":"# Dummy raster: r <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .5,sd = .1)) # (dummy points) pp <- terra::spatSample(r,20,as.points = TRUE) |> sf::st_as_sf() # Extract values vals <- get_rastervalue(pp, r) head(vals) #> ID lyr.1 x y #> 1 1 0.6782599 1.225 -1.175 #> 2 2 0.6420574 -0.225 0.925 #> 3 3 0.5397701 0.075 -1.425 #> 4 4 0.4993814 0.975 0.775 #> 5 5 0.5545246 0.175 1.275 #> 6 6 0.4226162 0.625 0.625"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis.iSDM.html","id":null,"dir":"Reference","previous_headings":"","what":"ibis.iSDM — ibis.iSDM","title":"ibis.iSDM — ibis.iSDM","text":"Integrated framework modelling distribution species ecosystems suitability framing. package allows estimation integrated species distribution models (iSDM) based several sources evidence provided presence-presence-absence datasets. makes heavy use point-process models estimating habitat suitability allows include spatial latent effects priors estimation. 'ibis.iSDM' supports number engines Bayesian non-parametric machine learning estimation. , 'ibis.iSDM' specifically customized support spatial-temporal projections habitat suitability future.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis.iSDM.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"ibis.iSDM — ibis.iSDM","text":"Maintainer: Martin Jung jung@iiasa.ac.(ORCID) [copyright holder] contributors: Maximilian H.K. Hesselbarth hesselbarth@iiasa.ac.(ORCID) [contributor]","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":null,"dir":"Reference","previous_headings":"","what":"Install ibis dependencies — ibis_dependencies","title":"Install ibis dependencies — ibis_dependencies","text":"dependencies (R-Packages) ibis.iSDM relies intention added Description file keep number mandatory dependencies small enable package run even systems might libraries pre-installed. function provides convenience wrapper install missing dependencies needed. furthermore checks packages require updating updates needed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install ibis dependencies — ibis_dependencies","text":"","code":"ibis_dependencies(deps = getOption(\"ibis.dependencies\"), update = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install ibis dependencies — ibis_dependencies","text":"deps vector names packages installed (Default: \"ibis.dependencies\" ibis_options). update logical flag whether (installed) packages also checked updates (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Install ibis dependencies — ibis_dependencies","text":"Nothing. Packages installed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Install ibis dependencies — ibis_dependencies","text":"INLA handled special way available via cran.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_dependencies.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install ibis dependencies — ibis_dependencies","text":"","code":"if (FALSE) { # \\dontrun{ # Install and update all dependencies ibis_dependencies() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the parallel processing flag to TRUE — ibis_enable_parallel","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"Small helper function enable parallel processing. set TRUE, parallel inference (supported engines) projection enabled across package. enabling prediction support beyond sequential prediction see ibis_future function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"","code":"ibis_enable_parallel()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_enable_parallel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the parallel processing flag to TRUE — ibis_enable_parallel","text":"Invisible","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":null,"dir":"Reference","previous_headings":"","what":"Internal function to enable (a)synchronous parallel processing — ibis_future","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"function checks parallel processing can set enables . Ideally done user control! package parallelization usually used predictions projections, inference case parallel inference handled engine.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"","code":"ibis_future( plan_exists = FALSE, cores = getOption(\"ibis.nthread\", default = 2), strategy = getOption(\"ibis.futurestrategy\"), workers = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"plan_exists logical check whether existing future plan exists (Default: FALSE). cores numeric number stating number cores use. strategy character denoting strategy used future. See help future options. (Default: \"multisession\"). workers optional list remote machines workers, e.g. \"c(remote.server.org)\". Alternatively \"cluster\" object can provided.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"Currently supported strategies : \"sequential\" = Resolves futures sequentially current R process (Package default). \"multisession\" = Resolves futures asynchronously across 'cores' sessions. \"multicore\" = Resolves futures asynchronously across forked processes. works UNIX systems! \"cluster\" = Resolves futures asynchronously sessions machines. \"slurm\" = implemented: Slurm linkage via batchtools.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"'plan' set future exists function executed. aim parallize across many species, better done scripted solution. Make sure parallize predictions within existing clusters avoid --memory issues.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_future.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Internal function to enable (a)synchronous parallel processing — ibis_future","text":"","code":"if (FALSE) { # \\dontrun{ # Starts future job. F in this case is a prediction function. ibis_future(cores = 4, strategy = \"multisession\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":null,"dir":"Reference","previous_headings":"","what":"Print ibis options — ibis_options","title":"Print ibis options — ibis_options","text":"number hidden options can specified ibis.iSDM. Currently supported : 'ibis.runparallel' : logical value whether processing run parallel. 'ibis.nthread' : numeric value many cores used default. 'ibis.setupmessages' : logical value indicating whether message object creation shown (Default: NULL). 'ibis.engines' : Returns vector valid engines. 'ibis.use_future' : logical whether future package used parallel computing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print ibis options — ibis_options","text":"","code":"ibis_options()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print ibis options — ibis_options","text":"output getOptions ibis related variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_options.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print ibis options — ibis_options","text":"","code":"ibis_options() #> $ibis.cleannames #> [1] TRUE #> #> $ibis.corPred #> [1] 0.7 #> #> $ibis.dependencies #> [1] \"pdp\" \"scales\" \"biscale\" \"modEvA\" #> [5] \"dplyr\" \"geodist\" \"geosphere\" \"progress\" #> [9] \"glmnet\" \"glmnetUtils\" \"xgboost\" \"BoomSpikeSlab\" #> [13] \"INLA\" \"inlabru\" \"gnlm\" \"cubelyr\" #> [17] \"matrixStats\" \"Boruta\" \"abess\" \"gdalUtilities\" #> [21] \"dbarts\" \"mboost\" \"rstan\" \"cmdstanr\" #> [25] \"biscale\" \"poems\" \"BiocManager\" #> #> $ibis.engines #> [1] \"GDB-Model\" \"BART-Model\" \"INLABRU-Model\" \"BREG-Model\" #> [5] \"GLMNET-Model\" \"GLM-Model\" \"SCAMPR-Model\" \"INLA-Model\" #> [9] \"STAN-Model\" \"XGBOOST-Model\" #> #> $ibis.futurestrategy #> [1] \"sequential\" #> #> $ibis.nthread #> [1] 3 #> #> $ibis.priors #> [1] \"INLAPrior\" \"BARTPrior\" \"GDBPrior\" \"GLMNETPrior\" \"XGBPrior\" #> [6] \"BREGPrior\" \"STANPrior\" #> #> $ibis.pseudoabsence #> Background Settings: 5 parameters #> #> $ibis.runparallel #> [1] FALSE #> #> $ibis.seed #> [1] 12494 #> #> $ibis.setupmessages #> [1] TRUE #>"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the number of threads for parallel processing. — ibis_set_strategy","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Small helper function respecify strategy parallel processing (Default: 'sequential').","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"","code":"ibis_set_strategy(strategy = \"sequential\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"strategy character strategy.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Invisible","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_strategy.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set the number of threads for parallel processing. — ibis_set_strategy","text":"Currently supported strategies : \"sequential\" = Resolves futures sequentially current R process (Package default). \"multisession\" = Resolves futures asynchronously across 'cores' sessions. \"multicore\" = Resolves futures asynchronously across forked processes. works UNIX systems! \"cluster\" = Resolves futures asynchronously sessions machines. \"slurm\" = implemented: Slurm linkage via batchtools.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the threads for parallel processing. — ibis_set_threads","title":"Set the threads for parallel processing. — ibis_set_threads","text":"Small helper function respecify number threads parallel processing.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the threads for parallel processing. — ibis_set_threads","text":"","code":"ibis_set_threads(threads = 2)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the threads for parallel processing. — ibis_set_threads","text":"threads numeric greater thna 0.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/ibis_set_threads.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the threads for parallel processing. — ibis_set_threads","text":"Invisible","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":null,"dir":"Reference","previous_headings":"","what":"Approximate missing time steps between dates — interpolate_gaps","title":"Approximate missing time steps between dates — interpolate_gaps","text":"function linearly approximates shares time steps, gaps instance 2010 2020 filled data 2010, 2011, 2012, etc.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Approximate missing time steps between dates — interpolate_gaps","text":"","code":"interpolate_gaps(env, date_interpolation = \"annual\", method = \"linear\")"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Approximate missing time steps between dates — interpolate_gaps","text":"env stars object. date_interpolation character missing dates events interpolated. See project(). method character used method approximation, either \"linear\" (Default) \"constant\" step function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Approximate missing time steps between dates — interpolate_gaps","text":"logical indicating two SpatRaster objects ","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/interpolate_gaps.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Approximate missing time steps between dates — interpolate_gaps","text":"","code":"if (FALSE) { # \\dontrun{ # Interpolate stars stack sc <- interpolate_gaps( stack, \"annual\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":null,"dir":"Reference","previous_headings":"","what":"Check whether a provided object is truly of a specific type — is.Id","title":"Check whether a provided object is truly of a specific type — is.Id","text":"Check whether provided object truly specific type","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check whether a provided object is truly of a specific type — is.Id","text":"","code":"is.Id(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check whether a provided object is truly of a specific type — is.Id","text":"x provided Id object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Id.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check whether a provided object is truly of a specific type — is.Id","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Tests if an input is a SpatRaster object. — is.Raster","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"Tests input SpatRaster object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"","code":"is.Raster(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"x R Object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tests if an input is a SpatRaster object. — is.Raster","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":null,"dir":"Reference","previous_headings":"","what":"Is the provided object of type waiver? — is.Waiver","title":"Is the provided object of type waiver? — is.Waiver","text":"provided object type waiver?","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Is the provided object of type waiver? — is.Waiver","text":"","code":"is.Waiver(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Is the provided object of type waiver? — is.Waiver","text":"x provided Waiver object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.Waiver.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Is the provided object of type waiver? — is.Waiver","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":null,"dir":"Reference","previous_headings":"","what":"Check whether a formula is valid — is.formula","title":"Check whether a formula is valid — is.formula","text":"Check whether formula valid","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check whether a formula is valid — is.formula","text":"","code":"is.formula(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check whether a formula is valid — is.formula","text":"x character object","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.formula.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check whether a formula is valid — is.formula","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":null,"dir":"Reference","previous_headings":"","what":"Tests if an input is a stars object. — is.stars","title":"Tests if an input is a stars object. — is.stars","text":"Tests input stars object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Tests if an input is a stars object. — is.stars","text":"","code":"is.stars(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Tests if an input is a stars object. — is.stars","text":"x R Object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/is.stars.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tests if an input is a stars object. — is.stars","text":"Boolean evaluation logical output.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":null,"dir":"Reference","previous_headings":"","what":"Identify local limiting factor — limiting","title":"Identify local limiting factor — limiting","text":"Calculates SpatRaster locally limiting factors given projected model. calculate first spartial effect individual covariate model calculated. effect estimated variable responsible decreasing suitability cell. decrease suitability calculated, predictor turn, relative thesuitability achieved predictor took value equal mean predictor associated largest decrease suitability limiting factor.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identify local limiting factor — limiting","text":"","code":"limiting(mod, plot = TRUE) # S4 method for class 'ANY' limiting(mod, plot = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Identify local limiting factor — limiting","text":"mod fitted 'DistributionModel' object limited factors identified. plot result plotted? (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identify local limiting factor — limiting","text":"terra object important variable given grid cell.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Identify local limiting factor — limiting","text":"Elith, J., Kearney, M. Phillips, S. (2010), art modelling range-shifting species. Methods Ecology Evolution, 1: 330-342. doi: 10.1111/j.2041-210X.2010.00036.x","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/limiting.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identify local limiting factor — limiting","text":"","code":"if (FALSE) { # \\dontrun{ o <- limiting(fit) plot(o) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Load a pre-computed model — load_model","title":"Load a pre-computed model — load_model","text":"load_model function (opposed write_model) loads previous saved DistributionModel. essentially wrapper readRDS. models loaded, briefly checked validity presence necessary components.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Load a pre-computed model — load_model","text":"","code":"load_model(fname, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'character' load_model(fname, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Load a pre-computed model — load_model","text":"fname character depicting output filename. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Load a pre-computed model — load_model","text":"DistributionModel object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/load_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Load a pre-computed model — load_model","text":"","code":"if (FALSE) { # \\dontrun{ # Load model mod <- load_model(\"testmodel.rds\") summary(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":null,"dir":"Reference","previous_headings":"","what":"Mask data with an external layer — mask","title":"Mask data with an external layer — mask","text":"helper function takes existing object created ibis.iSDM package external layer, intersects . currently takes either DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario input. mask either sf SpatRaster object can chosen. mask converted internally depending object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Mask data with an external layer — mask","text":"","code":"mask.DistributionModel(x, mask, inverse = FALSE, ...) mask.BiodiversityDatasetCollection(x, mask, inverse = FALSE, ...) mask.PredictorDataset(x, mask, inverse = FALSE, ...) mask.BiodiversityScenario(x, mask, inverse = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Mask data with an external layer — mask","text":"x object belonging DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario. mask sf SpatRaster object. inverse logical flag whether take inverse mask instead (Default: FALSE). ... Passed arguments","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Mask data with an external layer — mask","text":"respective object input type.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/mask.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Mask data with an external layer — mask","text":"","code":"if (FALSE) { # \\dontrun{ # Build and train a model mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() # Constrain the prediction by another object mod <- mask(mod, speciesrange) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate the mode of a provided vector — modal","title":"Calculate the mode of a provided vector — modal","text":"Calculate mode provided vector","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate the mode of a provided vector — modal","text":"","code":"modal(x, na.rm = TRUE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate the mode of a provided vector — modal","text":"x vector values characters. na.rm logical whether NA values removed (Default: TRUE)","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate the mode of a provided vector — modal","text":"common (mode) estimate.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/modal.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate the mode of a provided vector — modal","text":"","code":"# Example modal(trees$Girth) #> Error: unable to find an inherited method for function ‘modal’ for signature ‘x = \"numeric\"’"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":null,"dir":"Reference","previous_headings":"","what":"Custom messaging function for scripts — myLog","title":"Custom messaging function for scripts — myLog","text":"functions prints message custom header colour.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Custom messaging function for scripts — myLog","text":"","code":"myLog(title = \"[Processing]\", col = \"green\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Custom messaging function for scripts — myLog","text":"title title log output col character indicating text colour used. Supported 'green' / 'yellow' / 'red' ... additional outputs words display","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/myLog.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Custom messaging function for scripts — myLog","text":"","code":"if (FALSE) { # \\dontrun{ myLog(\"[Setup]\", \"red\", \"Some error occurred during data preparation.\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":null,"dir":"Reference","previous_headings":"","what":"Identifier — new_id","title":"Identifier — new_id","text":"Generate new unique identifier.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Identifier — new_id","text":"","code":"new_id()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Identifier — new_id","text":"\"Id\" object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Identifier — new_id","text":"Identifiers made using uuid::UUIDgenerate().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_id.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Identifier — new_id","text":"","code":"# create new id i <- new_id() # print id print(i) #> id: 324d8e5b-6f61-4709-8f6a-a58af6f707a8 # convert to character as.character(i) #> [1] \"324d8e5b-6f61-4709-8f6a-a58af6f707a8\" # check if it is an Id object is.Id(i) #> [1] TRUE"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":null,"dir":"Reference","previous_headings":"","what":"Waiver — new_waiver","title":"Waiver — new_waiver","text":"Create waiver object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Waiver — new_waiver","text":"","code":"new_waiver()"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Waiver — new_waiver","text":"Object class Waiver.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Waiver — new_waiver","text":"object used represent user manually specified setting, defaults used. explicitly using new_waiver(), means NULL objects can valid setting. use \"waiver\" object inspired ggplot2 prioritizr package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Waiver — new_waiver","text":"","code":"# create new waiver object w <- new_waiver() # print object print(w) #> list() #> attr(,\"class\") #> [1] \"Waiver\" # is it a waiver object? is.Waiver(w) #> [1] TRUE"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Niche plot wrapper for distribution objects — nicheplot","title":"Niche plot wrapper for distribution objects — nicheplot","text":"suitability given area biodiversity feature can many instances complex non-linear. Visualizing obtained suitability predictions (e.g. train()) underlying predictors might help explain underlying gradients niche. Supported Inputs function either single trained ibis.iSDM DistributionModel objects alternatively set three SpatRaster objects. cases, users make sure \"xvar\" \"yvar\" set accordingly.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Niche plot wrapper for distribution objects — nicheplot","text":"","code":"nicheplot(mod, xvar, yvar, plot = TRUE, fname = NULL, title = NULL, ...) # S4 method for class 'ANY' nicheplot(mod, xvar, yvar, plot = TRUE, fname = NULL, title = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Niche plot wrapper for distribution objects — nicheplot","text":"mod trained DistributionModel alternatively SpatRaster object prediction model within. xvar character denoting predictor x-axis. Alternatively SpatRaster object can provided. yvar character denoting predictor y-axis. Alternatively SpatRaster object can provided. plot logical indication whether result plotted (Default: TRUE)? fname character specifying output file name created figure written . title Allows respecify title character (Default: NULL). ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Niche plot wrapper for distribution objects — nicheplot","text":"Saved niche plot 'fname' specified, otherwise plot.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Niche plot wrapper for distribution objects — nicheplot","text":"","code":"# Make quick prediction background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM'), 'points',quiet = TRUE) ll <- list.files(system.file('extdata/predictors/',package = 'ibis.iSDM',mustWork = TRUE),full.names = TRUE) # Load them as rasters predictors <- terra::rast(ll);names(predictors) <- tools::file_path_sans_ext(basename(ll)) # Add GLM as an engine and predict fit <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'Observed', name = 'Virtual points',docheck = FALSE) |> add_predictors(predictors, transform = 'none',derivates = 'none') |> engine_glm() |> train() #> [Setup] 2024-10-08 19:46:51.992958 | Creating distribution object... #> [Setup] 2024-10-08 19:46:51.993864 | Adding poipo dataset... #> [Setup] 2024-10-08 19:46:51.999134 | Adding predictors... #> [Estimation] 2024-10-08 19:46:52.162925 | Collecting input parameters. #> [Estimation] 2024-10-08 19:46:52.313465 | Adding engine-specific parameters. #> [Estimation] 2024-10-08 19:46:52.317446 | Engine setup. #> [Estimation] 2024-10-08 19:46:52.4751 | Starting fitting: Virtual points #> [Estimation] 2024-10-08 19:46:52.542199 | Starting prediction... #> [Done] 2024-10-08 19:46:52.665892 | Completed after 0.5 secs # Plot niche for prediction for temperature and forest cover nicheplot(fit, xvar = \"bio01_mean_50km\", yvar = \"CLC3_312_mean_50km\" )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtain partial effects of trained model — partial","title":"Obtain partial effects of trained model — partial","text":"Create partial response effect plot trained model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtain partial effects of trained model — partial","text":"","code":"partial( mod, x.var = NULL, constant = NULL, variable_length = 100, values = NULL, newdata = NULL, plot = FALSE, type = \"response\", ... ) # S4 method for class 'ANY' partial( mod, x.var = NULL, constant = NULL, variable_length = 100, values = NULL, newdata = NULL, plot = FALSE, type = \"response\", ... ) partial.DistributionModel(mod, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtain partial effects of trained model — partial","text":"mod trained DistributionModel object fit_best model within. x.var character indicating variable partial effect calculated. constant numeric constant inserted variables. Default calculates mean per variable. variable_length numeric interpolation depth (nr. points) used (Default: 100). values numeric Directly specified values compute partial effects . parameter set anything NULL, parameter \"variable_length\" ignored (Default: NULL). newdata optional data.frame provided data partial estimation (Default: NULL). plot logical indication whether result plotted? type specified type, either 'response' 'predictor'. Can missing. ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Obtain partial effects of trained model — partial","text":"data.frame created partial response.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Obtain partial effects of trained model — partial","text":"default mean calculated across parameters x.var. Instead constant can set (instance 0) applied output.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Obtain partial effects of trained model — partial","text":"","code":"if (FALSE) { # \\dontrun{ # Do a partial calculation of a trained model partial(fit, x.var = \"Forest.cover\", plot = TRUE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":null,"dir":"Reference","previous_headings":"","what":"Visualize the density of the data over the environmental data — partial_density","title":"Visualize the density of the data over the environmental data — partial_density","text":"Based fitted model, plot density observations estimated variable environmental space. Opposed partial spartial functions, rather low-level interfaces, function provides detail light data. also able contrast different variables show used data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Visualize the density of the data over the environmental data — partial_density","text":"","code":"partial_density(mod, x.var, df = FALSE, ...) # S4 method for class 'ANY,character' partial_density(mod, x.var, df = FALSE, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Visualize the density of the data over the environmental data — partial_density","text":"mod trained DistributionModel object. Requires fitted model inferred prediction. x.var character indicating variable investigated. Can vector length 1 2. df logical plotting data returned instead (Default: FALSE). ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Visualize the density of the data over the environmental data — partial_density","text":"ggplot2 object showing marginal response light data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Visualize the density of the data over the environmental data — partial_density","text":"functions calculates observed density presence absence points whole surface specific variable. can used visually inspect fit model data.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Visualize the density of the data over the environmental data — partial_density","text":"default variables x.var hold constant mean.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Visualize the density of the data over the environmental data — partial_density","text":"Warren, D.L., Matzke, N.J., Cardillo, M., Baumgartner, J.B., Beaumont, L.J., Turelli, M., Glor, R.E., Huron, N.., Simões, M., Iglesias, T.L. Piquet, J.C., Dinnage, R. 2021. ENMTools 1.0: R package comparative ecological biogeography. Ecography, 44(4), pp.504-511.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/partial_density.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Visualize the density of the data over the environmental data — partial_density","text":"","code":"if (FALSE) { # \\dontrun{ # Do a partial calculation of a trained model partial_density(fit, x.var = \"Forest.cover\") # Or with two variables partial_density(fit, x.var = c(\"Forest.cover\", \"bio01\")) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot wrappers — plot","title":"Plot wrappers — plot","text":"Plots information given object plotting object available.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot wrappers — plot","text":"","code":"# S3 method for class 'DistributionModel' plot(x, what = \"mean\", ...) # S3 method for class 'BiodiversityDatasetCollection' plot(x, ...) # S3 method for class 'PredictorDataset' plot(x, ...) # S3 method for class 'Engine' plot(x, ...) # S3 method for class 'BiodiversityScenario' plot(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot wrappers — plot","text":"x object belonging DistributionModel, BiodiversityDatasetCollection, PredictorDataset BiodiversityScenario. case SpatRaster supplied, parameter specifies layer shown (Default: \"mean\"). ... arguments passed x$plot.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot wrappers — plot","text":"Graphical output","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot wrappers — plot","text":"plotted outputs vary depending object plotted. example fitted DistributionModel output usually fitted spatial prediction (Default: 'mean').","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot wrappers — plot","text":"","code":"if (FALSE) { # \\dontrun{ # Build and train a model mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() # Plot the resulting model plot(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"function simulates posterior created stan model, therefore providing fast efficient way project coefficients obtained Bayesian models new/novel contexts.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"","code":"posterior_predict_stanfit( obj, form, newdata, type = \"predictor\", family = NULL, offset = NULL, draws = NULL )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"obj \"stanfit\" object (used rstan). form formula object created DistributionModel. newdata data.frame new data used prediction. type character whether linear predictor response summarized. family character giving family simulating linear response values (Default: NULL) offset vector optionally specified offset. draws numeric indicating whether specific number draws taken.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/posterior_predict_stanfit.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Create a posterior prediction from a rstanfit object — posterior_predict_stanfit","text":"https://medium.com/@alex.pavlakis/making-predictions--stan-models--r-3e349dfac1ed. brms R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":null,"dir":"Reference","previous_headings":"","what":"Create spatial derivative of raster stacks — predictor_derivate","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"function creates derivatives existing covariates returns Raster format. Derivative variables can machine learning literature commonly understood one aspect feature engineering. can particularly powerful introducing non-linearities otherwise linear models, example often done popular Maxent framework.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"","code":"predictor_derivate( env, option, nknots = 4, deriv = NULL, int_variables = NULL, method = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"env SpatRaster object. option vector stating whether predictors preprocessed way (Options: 'none', 'quadratic', 'hinge', 'thresh', 'bin'). nknots number knots used transformation (Default: 4). deriv vector character specific derivates create (Default: NULL). int_variables vector length greater equal 2 specifying covariates (Default: NULL). method 'option' intuitive method setting. Can left empty (case option set). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"Returns derived adjusted SpatRaster objects identical resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"Available options : 'none' - original layer(s) returned. 'quadratic' - quadratic transformation (\\(x^{2}\\)) created provided layers. 'hinge' - Creates hinge transformation covariates, set values lower set threshold 0 others range \\([0,1]\\). number thresholds thus new derivates specified via parameter 'nknots' (Default: 4). 'interaction' - Creates interactions variables. Target variables specified via \"int_variables\". 'thresh' - threshold transformation covariates, sets values lower set threshold 0 larger 1. number thresholds thus new derivates specified via parameter 'nknots' (Default: 4). 'bin' - Creates factor representation covariates cutting range covariates percentiles. number percentile cuts thus new derivates specified via parameter 'nknots' (Default: 4). 'kmeans' Creates factor representation covariates kmeans() clustering. number clusters specified via parameter 'nknots'.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_derivate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create spatial derivative of raster stacks — predictor_derivate","text":"","code":"# Dummy raster r_ori <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rpois(3600, 10)) # Create a hinge transformation with 4 knots of one or multiple SpatRaster. new <- predictor_derivate(r_ori, option = \"hinge\", knots = 4) terra::plot(new)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter a set of correlated predictors to fewer ones — predictor_filter","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"function helps remove highly correlated variables set predictors. supports multiple options require environmental predictors observations, others predictors. options require different packages pre-installed, ranger Boruta.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"","code":"predictor_filter(env, keep = NULL, method = \"pearson\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"env data.frame matrix extracted environmental covariates given species. keep vector variables keep regardless. usually variables prior information known. method method use constructing correlation matrix (Options: 'pearson' (Default), 'spearman'| 'kendal'), \"abess\", \"boruta\". ... options specific method","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"character vector variable names excluded. function fails due reason return NULL.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"Available options : \"none\" prior variable removal performed (Default). \"pearson\", \"spearman\" \"kendall\" Makes use pairwise comparisons identify remove highly collinear predictors (Pearson's r >= 0.7). \"abess\" -priori adaptive best subset selection covariates via abess package (see References). Note effectively fits separate generalized linear model reduce number covariates. \"boruta\" Uses Boruta package identify non-informative features.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"Using function predictors effectively means separate model fitted data assumptions come (e.g. linearity, appropriateness response, normality, etc).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_filter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter a set of correlated predictors to fewer ones — predictor_filter","text":"","code":"if (FALSE) { # \\dontrun{ # Remove highly correlated predictors env <- predictor_filter( env, option = \"pearson\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":null,"dir":"Reference","previous_headings":"","what":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"method allows homogenization missing data across set environmental predictors. default called predictors added BiodiversityDistribution object. grid cells NAs contain values raster layers homogenized. Additional parameters allow instead homogenization fill missing data neighbouring values","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"","code":"predictor_homogenize_na( env, fill = FALSE, fill_method = \"ngb\", return_na_cells = FALSE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"env SpatRaster object predictors. fill logical value indicating whether missing data filled (Default: FALSE). fill_method character method filling gaps used (Default: 'ngb'). return_na_cells logical value whether ids grid cells NA values returned instead (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"SpatRaster object number layers input.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_homogenize_na.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Homogenize NA values across a set of predictors. — predictor_homogenize_na","text":"","code":"if (FALSE) { # \\dontrun{ # Harmonize predictors env <- predictor_homogenize_na(env) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":null,"dir":"Reference","previous_headings":"","what":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"function allows transformation provided environmental predictors (SpatRaster format). common use case instance standardization (scaling) predictors prior model fitting. function works SpatRaster well stars objects.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"","code":"predictor_transform( env, option, windsor_props = c(0.05, 0.95), pca.var = 0.8, state = NULL, method = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"env SpatRaster stars object. option vector stating whether predictors preprocessed way (Options: 'none', 'scale', 'norm', 'windsor', 'windsor_thresh', 'percentile' 'pca', 'revjack'). See Details. windsor_props numeric vector specifying proportions clipped windsorization (Default: c(.05,.95)). pca.var numeric value >0 1 stating minimum amount variance covered (Default: 0.8). state matrix one value per variable (column) providing either ( stats::mean(), stats::sd() ) variable env option 'scale' range minimum maximum values option 'norm'. Effectively applies value range rescaling. (Default: NULL). method 'option' intuitive method setting. Can left empty (case option set). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"Returns adjusted SpatRaster object identical resolution.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"Available options : 'none' original layer(s) returned. 'scale' run scale() function default settings (1 Standard deviation) across predictors. sensible default model fitting. 'norm' normalizes predictors range 0-1. 'windsor' applies 'windsorization' existing raster layer setting lowest, respectively largest values value certain percentage level (e.g. 95%). can set via parameter \"windsor_props\". 'windsor_thresh' option 'windsor', however case values clamped thresholds rather certain percentages calculated data. 'percentile' converts bins values percentiles, e.g. top 10% lowest 10% values . 'pca' option runs principal component decomposition predictors (via prcomp()). returns new predictors resembling components order important ones. Can useful reduce collinearity, however note changes predictor names 'PCX', X number component. parameter 'pca.var' can modified specify minimum variance covered axes. 'revjack' Removes outliers supplied stack via reverse jackknife procedure. Identified outliers default set NA.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"future covariates rescaled normalized, highly recommended use statistical moments models trained variable transformations, also ensure variable ranges consistent among relative values.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/predictor_transform.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Spatial adjustment of environmental predictors and raster stacks — predictor_transform","text":"","code":"# Dummy raster r_ori <- terra::rast(nrows = 10, ncols = 10, res = 0.05, xmin = -1.5, xmax = 1.5, ymin = -1.5, ymax = 1.5, vals = rnorm(3600,mean = .01,sd = .1)) # Normalize r_norm <- predictor_transform(r_ori, option = 'norm') new <- c(r_ori, r_norm) names(new) <- c(\"original scale\", \"normalized units\") terra::plot(new)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":null,"dir":"Reference","previous_headings":"","what":"Print — print","title":"Print — print","text":"Display information object created ibis.iSDM R-package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print — print","text":"","code":"# S3 method for class 'distribution' print(x, ...) # S3 method for class 'BiodiversityDistribution' print(x, ...) # S3 method for class 'BiodiversityDatasetCollection' print(x, ...) # S3 method for class 'BiodiversityDataset' print(x, ...) # S3 method for class 'PredictorDataset' print(x, ...) # S3 method for class 'DistributionModel' print(x, ...) # S3 method for class 'BiodiversityScenario' print(x, ...) # S3 method for class 'Prior' print(x, ...) # S3 method for class 'PriorList' print(x, ...) # S3 method for class 'Engine' print(x, ...) # S3 method for class 'Settings' print(x, ...) # S3 method for class 'Log' print(x, ...) # S3 method for class 'Id' print(x, ...) # S4 method for class 'Id' print(x, ...) # S4 method for class 'tbl_df' print(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print — print","text":"x object created package. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print — print","text":"Object specific.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/print.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print — print","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is fitted object mod print(mod) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Creates a new PriorList object — priors","title":"Creates a new PriorList object — priors","text":"PriorList object essentially list contains individual Prior objects. order use priors engines, respective Prior identified (e.g. INLAPrior) embedded PriorList object. Afterwards objects can added distribution object add_priors function. PriorList object essentially list contains individual Prior objects. order use priors engines, respective Prior identified (e.g. INLAPrior) embedded PriorList object. Afterwards objects can added distribution object add_priors function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Creates a new PriorList object — priors","text":"","code":"priors(x, ...) # S4 method for class 'ANY' priors(x, ...) priors(x, ...) # S4 method for class 'ANY' priors(x, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Creates a new PriorList object — priors","text":"x Prior object added list. ... One multiple additional Prior object added list.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Creates a new PriorList object — priors","text":"PriorList object. PriorList object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Creates a new PriorList object — priors","text":"","code":"p1 <- GDBPrior(variable = \"Forest\", hyper = \"positive\") p2 <- GDBPrior(variable = \"Urban\", hyper = \"decreasing\") priors(p1, p2) #> Set priors: 2 if (FALSE) { # \\dontrun{ p1 <- INLAPrior(variable = \"Forest\",type = \"normal\", hyper = c(1,1e4)) p2 <- INLAPrior(variable = \"Urban\",type = \"normal\", hyper = c(0,1e-2)) priors(p1, p2) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":null,"dir":"Reference","previous_headings":"","what":"Project a fitted model to a new environment and covariates — project","title":"Project a fitted model to a new environment and covariates — project","text":"Equivalent train, function acts wrapper project model stored BiodiversityScenario object newly supplied (future) covariates. Supplied predictors usually spatial-temporal predictors prepared via add_predictors() (e.g. transformations derivates) way initial modelling distribution(). constrains specified scenario object applied projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Project a fitted model to a new environment and covariates — project","text":"","code":"project.BiodiversityScenario(x, ...) # S4 method for class 'BiodiversityScenario' project( x, date_interpolation = \"none\", stabilize = FALSE, stabilize_method = \"loess\", layer = \"mean\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Project a fitted model to a new environment and covariates — project","text":"x BiodiversityScenario object set predictors. Note constrains MigClim can still simulate future change without projections. ... passed parameters. date_interpolation character whether dates interpolated. Options include \"none\" (Default), \"annual\", \"monthly\", \"daily\". stabilize logical value indicating whether suitability projection stabilized (Default: FALSE). stabilize_method character stating stabilization method applied. Currently supported `loess`. layer character specifying layer projected (Default: \"mean\"). verbose Setting logical value TRUE prints information model fitting (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Project a fitted model to a new environment and covariates — project","text":"Saves stars objects obtained predictions mod.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Project a fitted model to a new environment and covariates — project","text":"background function x$project() respective model object called, x fitted model object. specifics constraints, see relevant constrain functions, respectively: add_constraint() generic wrapper add available constrains. add_constraint_dispersal() specifying dispersal constraint temporal projections step. add_constraint_MigClim() Using MigClim R-package simulate dispersal projections. add_constraint_connectivity() Apply connectivity constraint projection, instance adding barrier prevents migration. add_constraint_minsize() Adds constraint minimum area given thresholded patch , assuming smaller areas fact suitable. add_constraint_adaptability() Apply adaptability constraint projection, instance constraining speed species able adapt new conditions. add_constraint_boundary() artificially limit distribution change. Similar specifying projection limits, can used specifically constrain projection within certain area (e.g. species range island). Many constrains also requires thresholds calculated. Adding threshold() BiodiversityScenario object enables computation thresholds every step based threshold used main model (threshold values taken ). also possible make complementary simulation steps package, can provided via simulate_population_steps() BiodiversityScenario object. Similar thresholds, estimates values added outputs. Finally function also allows temporal stabilization across prediction steps via enabling parameter stabilize checking stablize_method argument. Stabilization can instance helpful situations environmental variables quite dynamic, changes projected suitability expected abruptly increase decrease. thus way smoothen outliers projection. Options far instance 'loess' fits loess() model per pixel time step. conducted processing steps thresholds recalculated afterwards.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/project.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Project a fitted model to a new environment and covariates — project","text":"","code":"if (FALSE) { # \\dontrun{ # Fit a model fit <- distribution(background) |> add_biodiversity_poipa(surveydata) |> add_predictors(env = predictors) |> engine_breg() |> train() # Fit a scenario sc <- scenario(fit) |> add_predictors(env = future_predictors) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":null,"dir":"Reference","previous_headings":"","what":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"function defines settings pseudo-absence sampling background. many engines points necessary model Poisson (Binomial) distributed point process data. Specifically call absence points Binomial (Bernoulli really) distributed responses 'pseudo-absence' absence data Poisson responses 'background' points. details read Renner et al. (2015). function 'add_pseudoabsence' allows add absence points sf object. See Details additional parameter description examples 'turn' presence-dataset presence-(pseudo-)absence.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"","code":"pseudoabs_settings( background = NULL, nrpoints = 10000, min_ratio = 0.25, method = \"random\", buffer_distance = 10000, inside = FALSE, layer = NULL, bias = NULL, ... ) # S4 method for class 'ANY' pseudoabs_settings( background = NULL, nrpoints = 10000, min_ratio = 0.25, method = \"random\", buffer_distance = 10000, inside = FALSE, layer = NULL, bias = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"background SpatRaster sf object background points can sampled. Default NULL (Default) background added sampling first called. nrpoints numeric given number absence points created. larger 0 normally points created excess number cells background (Default: 10000). min_ratio numeric minimum ratio background points relative presence points. Setting value 1 generates equal amount absence points relative presence points. Usually ignored unless ratio exceeds nrpoints parameters (Default: 0.25). method character denoting sampling done. See details options (Default: \"random\"). buffer_distance numeric distance observations pseudo-absence points generated. Note units follow units projection (e.g. m °). used method = \"buffer\". inside logical value whether absence points sampled outside (Default) inside minimum convex polygon range provided respective method chosen (parameter method = \"mcp\" method = \"range\"). layer sf SpatRaster (case method 'zones') object indicating range species. used method = \"range\" method = \"zones\" (Default: NULL). bias SpatRaster extent projection background. Absence points preferentially sampled areas higher (!) bias. (Default: NULL). ... settings added pseudoabs settings.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"multiple methods available sampling biased background layer. Possible parameters method : 'random' Absence points generated randomly background (Default), 'buffer' Absence points generated within buffered distance existing points. option requires specification parameter buffer_distance. 'mcp' Can used generate absence points within outside minimum convex polygon presence points. parameter inside specifies whether points sampled inside outside (Default) minimum convex polygon. 'range' Absence points created either inside outside provided additional layer indicates example range species (controlled parameter inside). 'zones' ratified (e.g. type factor) SpatRaster layer depicting zones absence points sampled. method checks points fall within zones samples absence points either within outside zones exclusively. 'layer' 'inside' set option. 'target' Make use target background sampling absence points. SpatRaster object provided parameter 'layer'. Absence points sampled exclusively within target areas grid cells non-zero values.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"Renner IW, Elith J, Baddeley , Fithian W, Hastie T, Phillips SJ, Popovic G, Warton DI. 2015. Point process models presence-analysis. Methods Ecology Evolution 6:366–379. DOI: 10.1111/2041-210X.12352. Renner, . W., & Warton, D. . (2013). Equivalence MAXENT Poisson point process models species distribution modeling ecology. Biometrics, 69(1), 274-281.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/pseudoabs_settings.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Settings for specifying pseudo-absence points within the model background — pseudoabs_settings","text":"","code":"if (FALSE) { # \\dontrun{ # This setting generates 10000 pseudo-absence points outside the # minimum convex polygon of presence points ass1 <- pseudoabs_settings(nrpoints = 10000, method = 'mcp', inside = FALSE) # This setting would match the number of presence-absence points directly. ass2 <- pseudoabs_settings(nrpoints = 0, min_ratio = 1) # These settings can then be used to add pseudo-absence data to a # presence-only dataset. This effectively adds these simulated absence # points to the resulting model all_my_points <- add_pseudoabsence( df = virtual_points, field_occurrence = 'observed', template = background, settings = ass1) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":null,"dir":"Reference","previous_headings":"","what":"render_html — render_html","title":"render_html — render_html","text":"Renders DistributionModel HTML","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"render_html — render_html","text":"","code":"render_html(mod, file, title = NULL, author = NULL, notes = \"-\", ...) # S4 method for class 'ANY' render_html(mod, file, title = NULL, author = NULL, notes = \"-\", ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"render_html — render_html","text":"mod object belonging DistributionModel file Character path file. title Character title document. author Character name author. notes Character notes added beginning document. ... Currently used","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"render_html — render_html","text":"Writes HTML file","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"render_html — render_html","text":"Renders HTML file several summaries trained DistributionModel. file paths must HTML file ending. functions creates temporary Rmd file gets renders HTML using file argument.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/render_html.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"render_html — render_html","text":"","code":"if (FALSE) { # \\dontrun{ mod <- distribution(background) |> add_biodiversity_poipo(species) |> add_predictors(predictors) |> engine_glmnet() |> train() render_html(mod, file = \"Test.html\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"Remove particular dataset () distribution object BiodiversityDatasetCollection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"","code":"rm_biodiversity(x, name, id) # S4 method for class 'BiodiversityDistribution' rm_biodiversity(x, name, id)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"x distribution() (.e. BiodiversityDistribution) object. name character name biodiversity dataset. id character id biodiversity dataset.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_biodiversity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove specific BiodiversityDataset from a distribution object — rm_biodiversity","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_biodiversity_poipa(species, \"Duckus communus\") rm_biodiversity(names = \"Duckus communus\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove control from an existing distribution object — rm_control","title":"Remove control from an existing distribution object — rm_control","text":"function allows remove set control obtions existing distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove control from an existing distribution object — rm_control","text":"","code":"rm_control(x) # S4 method for class 'BiodiversityDistribution' rm_control(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove control from an existing distribution object — rm_control","text":"x distribution (.e. BiodiversityDistribution) object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_control.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove control from an existing distribution object — rm_control","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_control_bias(method = \"proximity\") x <- x |> rm_control() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to remove a latent effect — rm_latent","title":"Function to remove a latent effect — rm_latent","text":"just wrapper function removing specified offsets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to remove a latent effect — rm_latent","text":"","code":"rm_latent(x) # S4 method for class 'BiodiversityDistribution' rm_latent(x) # S4 method for class 'BiodiversityScenario' rm_latent(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to remove a latent effect — rm_latent","text":"x distribution() (.e. BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to remove a latent effect — rm_latent","text":"Removes latent spatial effect distribution object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_latent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to remove a latent effect — rm_latent","text":"","code":"if (FALSE) { # \\dontrun{ rm_latent(model) -> model } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove limits from an existing distribution object — rm_limits","title":"Remove limits from an existing distribution object — rm_limits","text":"function allows remove set limits existing distribution object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove limits from an existing distribution object — rm_limits","text":"","code":"rm_limits(x) # S4 method for class 'BiodiversityDistribution' rm_limits(x)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove limits from an existing distribution object — rm_limits","text":"x distribution (.e. BiodiversityDistribution) object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_limits.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove limits from an existing distribution object — rm_limits","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_predictors(covariates) |> add_limits_extrapolation(method = \"zones\", layer = zones) x <- x |> rm_limits() x } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to remove an offset — rm_offset","title":"Function to remove an offset — rm_offset","text":"just wrapper function removing specified offsets BiodiversityDistribution) object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to remove an offset — rm_offset","text":"","code":"rm_offset(x, layer = NULL) # S4 method for class 'BiodiversityDistribution' rm_offset(x, layer = NULL)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to remove an offset — rm_offset","text":"x distribution() (.e. BiodiversityDistribution) object. layer character pointing specific layer removed. set NULL, offsets removed object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Function to remove an offset — rm_offset","text":"Removes offset distribution object.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_offset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to remove an offset — rm_offset","text":"","code":"if (FALSE) { # \\dontrun{ rm_offset(model) -> model } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove specific predictors from a distribution object — rm_predictors","title":"Remove specific predictors from a distribution object — rm_predictors","text":"Remove particular variable distribution object PredictorDataset. See Examples.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove specific predictors from a distribution object — rm_predictors","text":"","code":"rm_predictors(x, names) # S4 method for class 'BiodiversityDistribution,character' rm_predictors(x, names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove specific predictors from a distribution object — rm_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. names vector Vector character names describing environmental stack.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove specific predictors from a distribution object — rm_predictors","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictors(my_covariates) |> rm_predictors(names = \"Urban\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove existing priors from an existing distribution object — rm_priors","title":"Remove existing priors from an existing distribution object — rm_priors","text":"function allows remove priors existing distribution object. order remove set prior, name prior specified.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove existing priors from an existing distribution object — rm_priors","text":"","code":"rm_priors(x, names = NULL, ...) # S4 method for class 'BiodiversityDistribution' rm_priors(x, names = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove existing priors from an existing distribution object — rm_priors","text":"x distribution (.e. BiodiversityDistribution) object. names vector character object priors removed. ... parameters passed ","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/rm_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove existing priors from an existing distribution object — rm_priors","text":"","code":"if (FALSE) { # \\dontrun{ # Add prior pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) # Remove again x <- x |> rm_priors(\"forest\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":null,"dir":"Reference","previous_headings":"","what":"Parallel computation of function — run_parallel","title":"Parallel computation of function — run_parallel","text":"computations take considerable amount time execute. function provides helper wrapper running functions apply family specified outputs.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parallel computation of function — run_parallel","text":"","code":"run_parallel( X, FUN, cores = 1, approach = \"future\", export_packages = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parallel computation of function — run_parallel","text":"X list, data.frame matrix object fed single core parallel apply call. FUN function passed computation. cores numeric number cores use (Default: 1). approach character parallelization approach taken (Options: \"parallel\" \"future\"). export_packages vector packages export use parallel nodes (Default: NULL). ... parameter passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Parallel computation of function — run_parallel","text":"default, parallel package used parallel computation, however option exists use future package instead.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_parallel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Parallel computation of function — run_parallel","text":"","code":"if (FALSE) { # \\dontrun{ run_parallel(list, mean, cores = 4) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":null,"dir":"Reference","previous_headings":"","what":"Fit cmdstanr model and convert to rstan object — run_stan","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"function fits stan model using light-weight interface provided cmdstanr. code adapted McElreath rethinking package.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"","code":"run_stan( model_code, data = list(), algorithm = \"sampling\", chains = 4, cores = getOption(\"ibis.nthread\"), threads = 1, iter = 1000, warmup = floor(iter/2), control = list(adapt_delta = 0.95), cpp_options = list(), force = FALSE, path = base::getwd(), save_warmup = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"model_code character pointing stan modelling code. data list parameters required run model_code stan. algorithm character giving algorithm use. Either 'sampling' (Default), 'optimize' 'variational' penalized likelihood estimation. chains numeric indicating number chains use estimation. cores Number threads sampling. Default set 'getOption(\"ibis.nthread\")'. See ibis_options(). threads numeric giving number threads run per chain. specified accordance cores. iter numeric value giving number MCMC samples generate. warmup numeric number warm-samples MCMC. Default set 1/2 iter. control list control options stan. cpp_options list options Cpp compiling. force logical indication whether force recompile model (Default: FALSE). path character indicating path made available stan compiler. save_warmup logical flag whether save warmup samples. ... non-specified parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/run_stan.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fit cmdstanr model and convert to rstan object — run_stan","text":"rstan object","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Sanitize variable names — sanitize_names","title":"Sanitize variable names — sanitize_names","text":"Prepared covariates often special characters variable names can can used formulas cause errors certain engines. function converts special characters variable names format","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sanitize variable names — sanitize_names","text":"","code":"sanitize_names(names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sanitize variable names — sanitize_names","text":"names vector character vectors sanitized.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Sanitize variable names — sanitize_names","text":"vector sanitized character.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sanitize_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sanitize variable names — sanitize_names","text":"","code":"# Correct variable names vars <- c(\"Climate-temperature2015\", \"Elevation__sealevel\", \"Landuse.forest..meanshare\") sanitize_names(vars) #> [1] \"Climate_temperature2015\" \"Elevation_sealevel\" #> [3] \"Landuse.forest..meanshare\""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new scenario based on trained model parameters — scenario","title":"Create a new scenario based on trained model parameters — scenario","text":"function creates new BiodiversityScenario object contains projections model.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new scenario based on trained model parameters — scenario","text":"","code":"scenario(fit, limits = NULL, reuse_limits = FALSE, copy_model = FALSE) # S4 method for class 'ANY' scenario(fit, limits = NULL, reuse_limits = FALSE, copy_model = FALSE)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new scenario based on trained model parameters — scenario","text":"fit BiodiversityDistribution object containing trained model. limits SpatRaster sf object limits projection surface intersected prediction data (Default: NULL). can instance set expert-delineated constrain limit spatial projections. reuse_limits logical whether reuse limits found trained BiodiversityDistribution object (Default: FALSE). See also notes! copy_model logical whether model object copied scenario object. Note setting option TRUE can increase required amount memory (Default: FALSE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Create a new scenario based on trained model parameters — scenario","text":"limit defined already train(), example adding extrapolation limit add_limits_extrapolation(), zonal layer can reused projections. Note: effectively fixes projections certain areas.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new scenario based on trained model parameters — scenario","text":"","code":"if (FALSE) { # \\dontrun{ scenario(fit, limits = island_area) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":null,"dir":"Reference","previous_headings":"","what":"Select specific predictors from a distribution object — sel_predictors","title":"Select specific predictors from a distribution object — sel_predictors","text":"function allows - character vector names already added PredictorDataset object - select particular set predictors. See Examples.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Select specific predictors from a distribution object — sel_predictors","text":"","code":"sel_predictors(x, names) # S4 method for class 'BiodiversityDistribution,character' sel_predictors(x, names)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Select specific predictors from a distribution object — sel_predictors","text":"x distribution() (.e. BiodiversityDistribution) object. names vector Vector character names describing environmental stack.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/sel_predictors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Select specific predictors from a distribution object — sel_predictors","text":"","code":"if (FALSE) { # \\dontrun{ distribution(background) |> add_predictors(my_covariates) |> sel_predictors(names = c(\"Forest\", \"Elevation\")) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"","code":"# S4 method for class 'BiodiversityDistribution' set_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors-BiodiversityDistribution-method.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — set_priors,BiodiversityDistribution-method","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":null,"dir":"Reference","previous_headings":"","what":"Add priors to an existing distribution object — set_priors","title":"Add priors to an existing distribution object — set_priors","text":"function simply allows add priors existing distribution object. supplied priors must PriorList object created calling priors.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add priors to an existing distribution object — set_priors","text":"","code":"set_priors(x, priors = NULL, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add priors to an existing distribution object — set_priors","text":"x distribution (.e. BiodiversityDistribution) object. priors PriorList object containing multiple priors. ... parameters passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Add priors to an existing distribution object — set_priors","text":"Alternatively priors environmental predictors can also directly added parameter via add_predictors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/set_priors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add priors to an existing distribution object — set_priors","text":"","code":"if (FALSE) { # \\dontrun{ pp <- GLMNETPrior(\"forest\") x <- distribution(background) |> add_priors(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate environmental similarity of reference datasets to predictors. — similarity","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"Calculate environmental similarity provided covariates respect reference dataset. Currently supported Multivariate Environmental Similarity index multivariate combination novelty index (NT2) based Mahalanobis divergence (see references).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"","code":"similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... ) # S4 method for class 'BiodiversityDistribution' similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... ) # S4 method for class 'SpatRaster' similarity( obj, ref, ref_type = \"poipo\", method = \"mess\", predictor_names = NULL, full = FALSE, plot = TRUE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"obj BiodiversityDistribution, DistributionModel alternatively SpatRaster object. ref BiodiversityDistribution, DistributionModel alternatively data.frame extracted values (corresponding given obj). ref_type character specifying type biodiversity use obj BiodiversityDistribution. method specifc method similarity calculation. Currently supported: 'mess', 'nt'. predictor_names optional character specifying covariates used (Default: NULL). full similarity values returned variables (Default:FALSE)? plot result plotted? Otherwise return output list (Default: TRUE). ... options (Non specified).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"function returns list containing: similarity: SpatRaster object multiple layers giving environmental similarities variable x (included \"full=TRUE\"); mis: SpatRaster layer giving minimum similarity value across variables location (.e. MESS); exip: SpatRaster layer indicating whether model interpolate extrapolate location based environmental surface; mod: factor SpatRaster layer indicating variable dissimilar reference range (.e. MoD map, Elith et al. 2010); mos: factor SpatRaster layer indicating variable similar reference range.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"similarity implements MESS algorithm described Appendix S3 Elith et al. (2010) well Mahalanobis dissimilarity described Mesgaran et al. (2014).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"Elith, J., Kearney, M., Phillips, S. (2010) \"art modelling range-shifting species\". Methods Ecology Evolution, 1: 330-342. https://doi.org/10.1111/j.2041-210X.2010.00036.x Mesgaran, M.B., Cousens, R.D. Webber, B.L. (2014) \"dragons: tool quantifying novelty due covariate range correlation change projecting species distribution models\". Diversity Distributions, 20: 1147-1159. https://doi.org/10.1111/ddi.12209","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/similarity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate environmental similarity of reference datasets to predictors. — similarity","text":"","code":"if (FALSE) { # \\dontrun{ plot( similarity(x) # Where x is a distribution or Raster object ) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":null,"dir":"Reference","previous_headings":"","what":"Simulate population dynamics following the steps approach — simulate_population_steps","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"function adds flag BiodiversityScenario object indicate species abundances simulated based expected habitat suitability, well demography, density-dependence dispersal information. simulation done using steps package (Visintin et al. 2020) conducted habitat suitability projection created. steps spatially explicit population models coded mostly R. detailed description steps parameters, please see respective reference help files. Default assumptions underlying wrapper presented details","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"","code":"simulate_population_steps( mod, vital_rates, replicates = 1, carrying_capacity = NULL, initial = NULL, dispersal = NULL, density_dependence = NULL, include_suitability = TRUE ) # S4 method for class 'BiodiversityScenario,matrix' simulate_population_steps( mod, vital_rates, replicates = 1, carrying_capacity = NULL, initial = NULL, dispersal = NULL, density_dependence = NULL, include_suitability = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"mod BiodiversityScenario object specified predictors. vital_rates symmetrical demographic matrix. column row names equivalent vital stages estimated. replicates numeric vector number replicates (Default: 1). carrying_capacity Either SpatRaster numeric estimate maximum carrying capacity, e.g. many adult individual likely occur per grid cell. set numeric, carrying capacity estimated maximum set (Note: clever way use species-area relationship scaling. yet implemented). initial SpatRaster giving initial population size. provided, initial populations guessed (see details) projected suitability rasters (Default: NULL). dispersal dispersal object defined steps package (Default: NULL). density_dependence Specification density dependence defined steps package (Default: NULL). include_suitability logical flag whether projected suitability estimates used (Default: TRUE) initial conditions set first time step.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"Adds flag BiodiversityScenario object indicate simulations added projection.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"order function work steps package installed separately. Instructions can found github. initial population lifestages provided, estimated assuming linear scaling suitability, 50:50 split sexes 1:3 ratio adults juveniles. provision different parameters highly encouraged!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"steps package multiple options simulating species population possible options represented wrapper. Furthermore, package still makes use raster package much internal data processing. Since ibis.iSDM switched terra ago, can efficiency problems layers need translated packages.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"Visintin, C., Briscoe, N. J., Woolley, S. N., Lentini, P. E., Tingley, R., Wintle, B. ., & Golding, N. (2020). steps: Software spatially temporally explicit population simulations. Methods Ecology Evolution, 11(4), 596-603. https://doi.org/10.1111/2041-210X.13354","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/simulate_population_steps.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Simulate population dynamics following the steps approach — simulate_population_steps","text":"","code":"if (FALSE) { # \\dontrun{ # Define vital rates vt <- matrix(c(0.0,0.5,0.75, 0.5,0.2,0.0, 0.0,0.5,0.9), nrow = 3, ncol = 3, byrow = TRUE) colnames(vt) <- rownames(vt) <- c('juvenile','subadult','adult') # Assumes that a trained 'model' object exists mod <- scenario(model) |> add_predictors(env = predictors, transform = 'scale', derivates = \"none\") |> # Use Vital rates here, but note the other parameters! simulate_population_steps(vital_rates = vt) |> project() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":null,"dir":"Reference","previous_headings":"","what":"Obtain spatial partial effects of trained model — spartial","title":"Obtain spatial partial effects of trained model — spartial","text":"Similar partial function calculates partial response trained model given variable. Differently partial space. However result SpatRaster showing spatial magnitude partial response.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Obtain spatial partial effects of trained model — spartial","text":"","code":"spartial(mod, x.var, constant = NULL, newdata = NULL, plot = FALSE, ...) # S4 method for class 'ANY,character' spartial(mod, x.var, constant = NULL, newdata = NULL, plot = FALSE, ...) spartial.DistributionModel(mod, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Obtain spatial partial effects of trained model — spartial","text":"mod DistributionModel object trained model. x.var character indicating variable partial effect calculated. constant numeric constant inserted variables. Default calculates mean per variable. newdata data.frame calculate spartial . Can example created raster file (Default: NULL). plot logical indication whether result plotted? ... engine specific parameters.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Obtain spatial partial effects of trained model — spartial","text":"SpatRaster containing mapped partial response variable.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Obtain spatial partial effects of trained model — spartial","text":"default mean calculated across parameters x.var. Instead constant can set (instance 0) applied output.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/spartial.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Obtain spatial partial effects of trained model — spartial","text":"","code":"if (FALSE) { # \\dontrun{ # Create and visualize the spartial effect spartial(fit, x.var = \"Forest.cover\", plot = TRUE) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":null,"dir":"Reference","previous_headings":"","what":"Show the stan code from a trained model — stancode","title":"Show the stan code from a trained model — stancode","text":"helper function shows code trained DistributionModel using engine_stan. function emulated similar functionality brms R-package. works models inferred stan!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Show the stan code from a trained model — stancode","text":"","code":"stancode(obj, ...) stancode.DistributionModel(obj, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Show the stan code from a trained model — stancode","text":"obj prepared object. ... used.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/stancode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Show the stan code from a trained model — stancode","text":"None.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Summarises a trained model or predictor object — summary","title":"Summarises a trained model or predictor object — summary","text":"helper function summarizes given object, including DistributionModel, PredictorDataset PriorList objects others. can helpful way summarize contained within values specified models objects. unsure, usually good strategy run summary object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Summarises a trained model or predictor object — summary","text":"","code":"# S3 method for class 'distribution' summary(object, ...) # S3 method for class 'DistributionModel' summary(object, ...) # S3 method for class 'PredictorDataset' summary(object, ...) # S3 method for class 'BiodiversityScenario' summary(object, ...) # S3 method for class 'PriorList' summary(object, ...) # S3 method for class 'Settings' summary(object, ...)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Summarises a trained model or predictor object — summary","text":"object prepared object. ... used.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/summary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Summarises a trained model or predictor object — summary","text":"","code":"if (FALSE) { # \\dontrun{ # Example with a trained model x <- distribution(background) |> # Presence-absence data add_biodiversity_poipa(surveydata) |> # Add predictors and scale them add_predictors(env = predictors) |> # Use glmnet and lasso regression for estimation engine_glmnet(alpha = 1) # Train the model mod <- train(x) summary(mod) # Example with a prior object p1 <- BREGPrior(variable = \"forest\", hyper = 2, ip = NULL) p2 <- BREGPrior(variable = \"cropland\", hyper = NULL, ip = 1) pp <- priors(p1,p2) summary(pp) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":null,"dir":"Reference","previous_headings":"","what":"Functionality for geographic and environmental thinning — thin_observations","title":"Functionality for geographic and environmental thinning — thin_observations","text":"species distribution modelling approaches assumed occurrence records unbiased, rarely case. model-based control can alleviate effects sampling bias, can often desirable account sampling biases spatial thinning (Aiello‐Lammens et al. 2015). approach based assumption -sampled grid cells contribute little bias, rather strengthening environmental responses. function provides methods apply spatial thinning approaches. Note effectively removes data prior estimation use considered care (see also Steen et al. 2021).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Functionality for geographic and environmental thinning — thin_observations","text":"","code":"thin_observations( data, background, env = NULL, method = \"random\", remainpoints = 10, mindistance = NULL, zones = NULL, probs = 0.75, global = TRUE, centers = NULL, verbose = TRUE )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Functionality for geographic and environmental thinning — thin_observations","text":"data sf object observed occurrence points. methods threat presence-presence-absence occurrence points equally. background SpatRaster object background study region. Use assessing point density. env SpatRaster object environmental covariates. Needed method set \"environmental\" \"bias\" (Default: NULL). method character method applied (Default: \"random\"). remainpoints numeric giving number data points minimum remain (Default: 10). mindistance numeric minimum distance neighbouring observations (Default: NULL). zones SpatRaster supplied option \"zones\" chosen (Default: NULL). probs numeric used quantile threshold \"bias\" method. (Default: 0.75). global logical \"bias\" method global (entire env raster) local (extracted point locations) bias values used quantile threshold. (Default: TRUE). centers numeric used number centers \"environmental\" method. (Default: NULL). set, automatically set three nlayers - 1 (whatever bigger). verbose logical whether print statistics thinning outcome (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Functionality for geographic and environmental thinning — thin_observations","text":"methods remove points \"-sampled\" grid cells/areas. defined cells/areas either points remainpoints points global minimum point count per cell/area (whichever larger). Currently implemented thinning methods: \"random\": Samples random across -sampled grid cells returning \"remainpoints\" -sampled cells. account spatial environmental distance observations. \"bias\": option removes explicitly points considered biased (based \"env\"). Points thinned grid cells bias quantile (larger values equals greater bias). Thins observations returning \"remainpoints\" -sampled biased cell. \"zones\": Thins observations zone -sampled threshold returns \"remainpoints\" zone. Careful: zones relatively wide can remove quite observations. \"environmental\": approach creates observation-wide clustering (k-means) assumption full environmental niche comprehensively sampled covered provided covariates env. -sampled cluster, obtain (\"remainpoints\") thinning points. \"spatial\": Calculates spatial distance observations. points removed iteratively minimum distance points crossed. \"mindistance\" parameter set function work.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Functionality for geographic and environmental thinning — thin_observations","text":"Aiello‐Lammens, M. E., Boria, R. ., Radosavljevic, ., Vilela, B., & Anderson, R. P. (2015). spThin: R package spatial thinning species occurrence records use ecological niche models. Ecography, 38(5), 541-545. Steen, V. ., Tingley, M. W., Paton, P. W., & Elphick, C. S. (2021). Spatial thinning class balancing: Key choices lead variation performance species distribution models citizen science data. Methods Ecology Evolution, 12(2), 216-226.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/thin_observations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Functionality for geographic and environmental thinning — thin_observations","text":"","code":"if (FALSE) { # \\dontrun{ # Thin a certain number of observations # At random thin_points <- thin_observations(points, background, method = \"random\") # using a bias layer thin_points <- thin_observations(points, background, method = \"bias\", env = bias) } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":null,"dir":"Reference","previous_headings":"","what":"Threshold a continuous prediction to a categorical layer — threshold","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"common many applications species distribution modelling estimated continuous suitability surfaces converted discrete representations suitable habitat might might exist. called threshold'ing can done various ways described details. case SpatRaster provided input function obj, furthermore necessary provide sf object validation DistributionModel read information . Note: course also allows estimate threshold based withheld data, instance created -priori cross-validation procedure. BiodiversityScenario objects, adding function processing pipeline stores threshold attribute created scenario object. BiodiversityScenario objects set threshold() simply indicates projection create use thresholds part results. threshold values either taken provided model optional provide parameter value. instead aim apply thresholds step suitability projection, see add_constraint_threshold().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"","code":"threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... ) # S4 method for class 'ANY' threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... ) # S4 method for class 'SpatRaster' threshold( obj, method = \"fixed\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE ) # S4 method for class 'BiodiversityScenario' threshold( obj, method = \"mtp\", value = NULL, point = NULL, field_occurrence = \"observed\", format = \"binary\", return_threshold = FALSE, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"obj BiodiversityScenario object existing threshold added. method specifc method thresholding. See details available options. value numeric value specifying specific threshold scenarios (Default: NULL Grab object). point sf object containing observational data used model training. field_occurrence character location biodiversity point records. format character indication whether \"binary\", \"normalize\" \"percentile\" formatted thresholds created (Default: \"binary\"). Also see Muscatello et al. (2021). return_threshold threshold value returned instead (Default: FALSE) ... parameter. Used fetch value set somehow.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"SpatRaster SpatRaster object input. Otherwise threshold added respective DistributionModel BiodiversityScenario object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"following options currently implemented: 'fixed' = applies single pre-determined threshold. Requires value set. 'mtp' = minimum training presence used find set lowest predicted suitability occurrence point. 'percentile' = percentile threshold. value parameter set . 'min.cv' = Threshold raster minimize coefficient variation (cv) posterior. Uses lowest tercile cv space. feasible Bayesian engines. 'TSS' = Determines optimal TSS (True Skill Statistic). Requires \"modEvA\" package installed. 'kappa' = Determines optimal kappa value (Kappa). Requires \"modEvA\" package installed. 'F1score' = Determines optimal F1score (also known Sorensen similarity). Requires \"modEvA\" package installed. 'F1score' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'Sensitivity' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'Specificity' = Determines optimal sensitivity presence records. Requires \"modEvA\" package installed. 'AUC' = Determines optimal AUC presence records. Requires \"modEvA\" package installed. 'kmeans' = Determines threshold based 2 cluster k-means clustering. presence class assumed cluster larger mean.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"Lawson, C.R., Hodgson, J.., Wilson, R.J., Richards, S.., 2014. Prevalence, thresholds performance presence-absence models. Methods Ecol. Evol. 5, 54–64. https://doi.org/10.1111/2041-210X.12123 Liu, C., White, M., Newell, G., 2013. Selecting thresholds prediction species occurrence presence-data. J. Biogeogr. 40, 778–789. https://doi.org/10.1111/jbi.12058 Muscatello, ., Elith, J., Kujala, H., 2021. decisions fitting species distribution models affect conservation outcomes. Conserv. Biol. 35, 1309–1320. https://doi.org/10.1111/cobi.13669","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/threshold.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Threshold a continuous prediction to a categorical layer — threshold","text":"","code":"if (FALSE) { # \\dontrun{ # Where mod is an estimated DistributionModel tr <- threshold(mod) tr$plot_threshold() } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":null,"dir":"Reference","previous_headings":"","what":"Train the model from a given engine — train","title":"Train the model from a given engine — train","text":"function trains distribution() model specified engine furthermore generic options apply engines (regardless type). See Details regards options. Users advised check help files individual engines advice estimation done.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Train the model from a given engine — train","text":"","code":"train( x, runname, filter_predictors = \"none\", optim_hyperparam = FALSE, inference_only = FALSE, only_linear = TRUE, method_integration = \"predictor\", keep_models = TRUE, aggregate_observations = TRUE, clamp = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'BiodiversityDistribution' train( x, runname, filter_predictors = \"none\", optim_hyperparam = FALSE, inference_only = FALSE, only_linear = TRUE, method_integration = \"predictor\", keep_models = TRUE, aggregate_observations = TRUE, clamp = TRUE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Train the model from a given engine — train","text":"x distribution() (.e. BiodiversityDistribution) object). runname character name trained run. filter_predictors character defining highly correlated predictors removed prior model estimation. Available options : \"none\" prior variable removal performed (Default). \"pearson\", \"spearman\" \"kendall\" Makes use pairwise comparisons identify remove highly collinear predictors (Pearson's r >= 0.7). \"abess\" -priori adaptive best subset selection covariates via \"abess\" package (see References). Note effectively fits separate generalized linear model reduce number covariates. \"boruta\" Uses \"Boruta\" package identify non-informative features. optim_hyperparam Parameter tune model iterating input parameters selection predictors included iteration. Can set TRUE extra precision needed (Default: FALSE). inference_only default engine used create spatial prediction suitability surface, can take time. inferences strength relationship covariates observations required, parameter can set TRUE ignore spatial projection (Default: FALSE). only_linear Fit model linear baselearners functions. Depending engine setting option FALSE result non-linear relationships observations covariates, often increasing processing time (Default: TRUE). non-linearity captured depends used engine. method_integration character type integration applied one BiodiversityDataset object provided x. Particular relevant engines support integration one dataset. Integration methods generally sensitive order added BiodiversityDistribution object. Available options : \"predictor\" predicted output first (previously fitted) models added predictor stack thus predictors subsequent models (Default). \"offset\" predicted output first (previously fitted) models added spatial offsets subsequent models. Offsets back-transformed depending model family. option might supported every Engine. \"interaction\" Instead fitting several separate models, observations dataset combined incorporated prediction factor interaction \"weaker\" data source partialed prediction. first dataset added determines reference level (see Leung et al. 2019 description). \"prior\" option make use coefficients previous model define priors used next model. Might work engine! \"weight\" option works multiple biodiversity datasets type (e.g. \"poipo\"). Individual weight multipliers can determined setting model (Note: Default 1). Datasets combined estimation weighted respectively, thus giving example presence-records less weight survey records. Note parameter ignored engines support joint likelihood estimation. keep_models logical true method_integration = \"predictor\", models stored .internal list model object. aggregate_observations logical whether observations covering grid cell aggregated (Default: TRUE). clamp logical whether predictions clamped range predictor values observed model fitting (Default: FALSE). verbose Setting logical value TRUE prints information model fitting (Default: FALSE). ... arguments passed .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Train the model from a given engine — train","text":"DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Train the model from a given engine — train","text":"function acts generic training function - based provided BiodiversityDistribution object creates new distribution model. resulting object contains \"fit_best\" object estimated model , inference_only FALSE SpatRaster object named \"prediction\" contains spatial prediction model. objects can requested via object$get_data(\"fit_best\"). parameters function: \"filter_predictors\" parameter can set various options remove highly correlated variables little additional information gain model prior estimation. Available options \"none\" (Default) \"pearson\" applying 0.7 correlation cutoff, \"abess\" regularization framework Zhu et al. (2020), \"RF\" \"randomforest\" removing least important variables according randomForest model. Note: function applied predictors prior provided (e.g. potentially non-informative ones). \"optim_hyperparam\" option allows make use hyper-parameter search several models, can improve prediction accuracy although substantial increase computational cost. \"method_integration\" relevant one BiodiversityDataset supplied engine support joint integration likelihoods. See also Miller et al. (2019) references details different types integration. course, users want control aspect, another option fit separate models make use add_offset, add_offset_range ensemble functionalities. \"clamp\" Boolean parameter support clamping projection predictors range values observed model training.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Train the model from a given engine — train","text":"silver bullets (correlative) species distribution modelling model analyst understand objective, workflow parameters can used modify outcomes. Different predictions can obtained data parameters necessarily make sense useful.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Train the model from a given engine — train","text":"Miller, D..W., Pacifici, K., Sanderlin, J.S., Reich, B.J., 2019. recent past promising future data integration methods estimate species’ distributions. Methods Ecol. Evol. 10, 22–37. https://doi.org/10.1111/2041-210X.13110 Zhu, J., Wen, C., Zhu, J., Zhang, H., & Wang, X. (2020). polynomial algorithm best-subset selection problem. Proceedings National Academy Sciences, 117(52), 33117-33123. Leung, B., Hudgins, E. J., Potapova, . & Ruiz‐Jaen, M. C. new baseline countrywide α‐diversity species distributions: illustration using >6,000 plant species Panama. Ecol. Appl. 29, 1–13 (2019).","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/train.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Train the model from a given engine — train","text":"","code":"# Load example data background <- terra::rast(system.file('extdata/europegrid_50km.tif', package='ibis.iSDM',mustWork = TRUE)) # Get test species virtual_points <- sf::st_read(system.file('extdata/input_data.gpkg', package='ibis.iSDM',mustWork = TRUE),'points',quiet = TRUE) # Get list of test predictors ll <- list.files(system.file('extdata/predictors/', package = 'ibis.iSDM', mustWork = TRUE),full.names = TRUE) # Load them as rasters predictors <- terra::rast(ll);names(predictors) <- tools::file_path_sans_ext(basename(ll)) # Use a basic GLM to fit a SDM x <- distribution(background) |> # Presence-only data add_biodiversity_poipo(virtual_points, field_occurrence = \"Observed\") |> # Add predictors and scale them add_predictors(env = predictors, transform = \"scale\", derivates = \"none\") |> # Use GLM as engine engine_glm() #> [Setup] 2024-10-08 19:46:59.767894 | Creating distribution object... #> [Setup] 2024-10-08 19:46:59.768788 | Adding poipo dataset... #> [Setup] 2024-10-08 19:46:59.847214 | Adding predictors... #> [Setup] 2024-10-08 19:46:59.852389 | Transforming predictors... # Train the model, Also filter out co-linear predictors using a pearson threshold mod <- train(x, only_linear = TRUE, filter_predictors = 'pearson') #> [Estimation] 2024-10-08 19:46:59.891953 | Collecting input parameters. #> [Estimation] 2024-10-08 19:46:59.930851 | Filtering predictors via pearson... #> [Estimation] 2024-10-08 19:46:59.936484 | Adding engine-specific parameters. #> [Estimation] 2024-10-08 19:46:59.941496 | Engine setup. #> [Estimation] 2024-10-08 19:47:00.064427 | Starting fitting: 9c042b64 #> [Estimation] 2024-10-08 19:47:00.101275 | Starting prediction... #> [Done] 2024-10-08 19:47:00.165675 | Completed after 0.27 secs mod #> Trained GLM-Model (Unnamed run) #> Strongest summary effects: #> Positive: CLC3_112_mean_50km, CLC3_132_mean_50km, CLC3_211_mean_50km, ... (7) #> Negative: aspect_mean_50km, bio03_mean_50km, slope_mean_50km (3) #> Prediction fitted: yes"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Unwrap a model for later use — unwrap_model","title":"Unwrap a model for later use — unwrap_model","text":"unwrap_model function uses terra::unwrap() easier ship DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unwrap a model for later use — unwrap_model","text":"","code":"unwrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'ANY' unwrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unwrap a model for later use — unwrap_model","text":"mod Provided DistributionModel object. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unwrap a model for later use — unwrap_model","text":"DistributionModel unwrapped raster layers","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/unwrap_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unwrap a model for later use — unwrap_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) |> wrap_model() unwrap_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":null,"dir":"Reference","previous_headings":"","what":"Validation of a fitted distribution object — validate","title":"Validation of a fitted distribution object — validate","text":"function conducts model evaluation based either fitted point data supplied independent. Currently supporting point datasets. validation integrated models work needed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Validation of a fitted distribution object — validate","text":"","code":"validate( mod, method = \"continuous\", layer = \"mean\", point = NULL, point_column = \"observed\", field_occurrence = NULL, ... ) # S4 method for class 'ANY' validate( mod, method = \"continuous\", layer = \"mean\", point = NULL, point_column = \"observed\", field_occurrence = NULL, ... ) # S4 method for class 'SpatRaster' validate( mod, method = \"continuous\", layer = NULL, point = NULL, point_column = \"observed\", field_occurrence = NULL, ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Validation of a fitted distribution object — validate","text":"mod fitted BiodiversityDistribution object set predictors. Alternatively one can also provide directly SpatRaster, however case point layer also needs provided. method validation conducted continious prediction (previously calculated) thresholded layer binary format? Note depending method different metrics can computed. See Details. layer case multiple layers exist, one use? (Default: 'mean'). point sf object type POINT MULTIPOINT. point_column character vector name column containing independent observations. (Default: 'observed'). field_occurrence (Deprectated) character field pointing name independent observations. Identical \"point_column\" ... parameters passed . Currently unused.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Validation of a fitted distribution object — validate","text":"Return tidy tibble validation results.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Validation of a fitted distribution object — validate","text":"'validate' function calculates different validation metrics depending output type. output metrics type defined follows: (TP stands true positive, TN true negative, FP false positive FN false negative) Continuous: 'n' = Number observations. 'rmse' = Root Mean Square Error, $$ \\sqrt {\\frac{1}{N} \\sum_{=1}^{N} (\\hat{y_{}} - y_{})^2} $$ 'mae' = Mean Absolute Error, $$ \\frac{ \\sum_{=1}^{N} y_{} - x_{} }{n} $$ 'logloss' = Log loss, TBD 'normgini' = Normalized Gini index, TBD 'cont.boyce' = Continuous Boyce index, Ratio predicted expected frequency calculated moving window: $$\\frac{P_{}}{E_{}}$$, $$ P_{} = \\frac{p_{}}{\\sum{j=1}^{b} p_{j}} $$ $$ E_{} = \\frac{a_{}}{\\sum{j=1}^{b} a_{j}} $$ Discrete: 'n' = Number observations. 'auc' = Area curve, e.g. integral function relating True positive rate false positive rate. 'overall.accuracy' = Overall Accuracy, Average positives,$$ \\frac{TP + TN}{n} $$ 'true.presence.ratio' = True presence ratio Jaccard index, $$ \\frac{TP}{TP+TN+FP+FN} $$ 'precision' = Precision, positive detection rate $$ \\frac{TP}{TP+FP} $$ 'sensitivity' = Sensitivity, Ratio True positives positives, $$ \\frac{TP}{TP+FP} $$ 'specificity' = Specifivity, Ratio True negatives negatives, $$ \\frac{TN}{TN+FN} $$ 'tss' = True Skill Statistics, sensitivity + specificity – 1 * 'f1' = F1 Score Positive predictive value, $$ \\frac{2TP}{2TP + FP + FN} $$ 'logloss' = Log loss, TBD 'expected.accuracy' = Expected Accuracy, $$ \\frac{TP + FP}{N} x \\frac{TP + FN}{N} + \\frac{TN + FN}{N} x \\frac{TN + FP}{N} $$ 'kappa' = Kappa value, $$ \\frac{2 (TP x TN - FN x FP)}{(TP + FP) x (FP + TN) + (TP + FN) x (FN + TN) } $$, 'brier.score' = Brier score, $$ \\frac{ \\sum_{=1}^{N} (y_{} - x_{})^{2} }{n} $$, $$y_{}$$ predicted presence absence $$x_{}$$ observed.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Validation of a fitted distribution object — validate","text":"use Boyce Index, please cite original Hirzel et al. (2006) paper.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Validation of a fitted distribution object — validate","text":"Allouche O., Tsoar ., Kadmon R., (2006). Assessing accuracy species distribution models: prevalence, kappa true skill statistic (TSS). Journal Applied Ecology, 43(6), 1223–1232. Liu, C., White, M., Newell, G., 2013. Selecting thresholds prediction species occurrence presence-data. J. Biogeogr. 40, 778–789. https://doi.org/10.1111/jbi.12058 Hirzel, . H., Le Lay, G., Helfer, V., Randin, C., & Guisan, . (2006). Evaluating ability habitat suitability models predict species presences. Ecological modelling, 199(2), 142-152.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/validate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Validation of a fitted distribution object — validate","text":"","code":"if (FALSE) { # \\dontrun{ # Assuming that mod is a distribution object and has a thresholded layer mod <- threshold(mod, method = \"TSS\") validate(mod, method = \"discrete\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Wrap a model for later use — wrap_model","title":"Wrap a model for later use — wrap_model","text":"wrap_model function uses terra::wrap() easier ship DistributionModel object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wrap a model for later use — wrap_model","text":"","code":"wrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE)) # S4 method for class 'ANY' wrap_model(mod, verbose = getOption(\"ibis.setupmessages\", default = TRUE))"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Wrap a model for later use — wrap_model","text":"mod Provided DistributionModel object. verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Wrap a model for later use — wrap_model","text":"DistributionModel wrapped raster layers","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Wrap a model for later use — wrap_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) wrap_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":null,"dir":"Reference","previous_headings":"","what":"Wrap a list with stan model code — wrap_stanmodel","title":"Wrap a list with stan model code — wrap_stanmodel","text":"engine_stan builds list stan model code. function concatenates together.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wrap a list with stan model code — wrap_stanmodel","text":"","code":"wrap_stanmodel(sm_code)"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Wrap a list with stan model code — wrap_stanmodel","text":"sm_code list object exactly 7 entries.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/wrap_stanmodel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Wrap a list with stan model code — wrap_stanmodel","text":"character object.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":null,"dir":"Reference","previous_headings":"","what":"Save a model for later use — write_model","title":"Save a model for later use — write_model","text":"write_model function (opposed write_output) generic wrapper writing DistributionModel disk. essentially wrapper saveRDS. Models can loaded via load_model function.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Save a model for later use — write_model","text":"","code":"write_model( mod, fname, slim = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) ) # S4 method for class 'ANY' write_model( mod, fname, slim = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE) )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Save a model for later use — write_model","text":"mod Provided DistributionModel object. fname character depicting output filename. slim logical option whether unnecessary entries model object deleted. deletes example predictions non-model content object (Default: FALSE). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Save a model for later use — write_model","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Save a model for later use — write_model","text":"default output files overwritten already existing!","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_model.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Save a model for later use — write_model","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_model(x, \"testmodel.rds\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":null,"dir":"Reference","previous_headings":"","what":"Generic function to write spatial outputs — write_output","title":"Generic function to write spatial outputs — write_output","text":"write_output function generic wrapper writing output files (e.g. projections) created ibis.iSDM-package. possible write outputs fitted DistributionModel, BiodiversityScenario individual terra stars objects. case data.frame supplied, output written csv file. creating summaries distribution scenario parameters performance, see write_summary()","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generic function to write spatial outputs — write_output","text":"","code":"write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'ANY,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'BiodiversityScenario,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'SpatRaster,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'data.frame,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'stars,character' write_output( mod, fname, dt = \"FLT4S\", verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generic function to write spatial outputs — write_output","text":"mod Provided DistributionModel, BiodiversityScenario, terra stars object. fname character depicting output filename. dt character output datatype. Following terra::writeRaster options (Default: 'FLT4S'). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE). ... arguments passed individual functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generic function to write spatial outputs — write_output","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Generic function to write spatial outputs — write_output","text":"default output files overwritten already existing!","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_output.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generic function to write spatial outputs — write_output","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_output(x, \"testmodel.tif\") } # }"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Generic function to write summary outputs from created models. — write_summary","title":"Generic function to write summary outputs from created models. — write_summary","text":"write_summary function wrapper function create summaries fitted DistributionModel BiodiversityScenario objects. function extract parameters statistics used data input object writes output either 'rds' 'rdata' file. Alternative, open file formats consideration.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generic function to write summary outputs from created models. — write_summary","text":"","code":"write_summary( mod, fname, partial = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... ) # S4 method for class 'ANY,character' write_summary( mod, fname, partial = FALSE, verbose = getOption(\"ibis.setupmessages\", default = TRUE), ... )"},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Generic function to write summary outputs from created models. — write_summary","text":"mod Provided DistributionModel BiodiversityScenario object. fname character depicting output filename. suffix determines file type output (Options: 'rds', 'rdata'). partial logical value determining whether partial variable contributions calculated added model summary. Note can rather slow (Default: FALSE). verbose logical indicating whether messages shown. Overwrites getOption(\"ibis.setupmessages\") (Default: TRUE). ... arguments passed individual functions.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Generic function to write summary outputs from created models. — write_summary","text":"R-output created. file written target direction.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Generic function to write summary outputs from created models. — write_summary","text":"predictions tabular data saved function. Use write_output() save .","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/reference/write_summary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Generic function to write summary outputs from created models. — write_summary","text":"","code":"if (FALSE) { # \\dontrun{ x <- distribution(background) |> add_biodiversity_poipo(virtual_points, field_occurrence = 'observed', name = 'Virtual points') |> add_predictors(pred_current, transform = 'scale',derivates = 'none') |> engine_xgboost(nrounds = 2000) |> train(varsel = FALSE, only_linear = TRUE) write_summary(x, \"testmodel.rds\") } # }"},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-5","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.5 (current dev branch)","text":"New visualization function nicheplot() visualize suitability across 2 axes Support ‘modal’ value calculations ensemble(). Support ‘superlearner’ ensemble(). Support ‘kmeans’ derived threshold calculation threshold() predictor_derivate(). Support future processing streamlined. See FAQ section instructions #18.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-5","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.5 (current dev branch)","text":"Now overwriting temporary data default predictor_transform() similar functions. Minor 🐛 fix related misaligned thresholds negative exponential kernels. 🔥 🐛 fix scenario projections use different grain sizes inference.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-4","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.4","text":"Support carnying latent spatial effects (add_latent_spatial()) scenario() projections. Convenience functions remove limits controls rm_limits()/rm_control() #121 🔥 Enable stars multi-temporal SpatRaster zones scenario() distribution() #121","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-4","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.4","text":"🐛 fix support factor x continuous variable interaction #131 Renamed add_control_extrapolation add_limits_extrapolation(). 🐛 fix engine_gdb also support non-linear smooth functions (). Small fix support deprecated field_occurrence field validate convenience. 🐛 fix prevented BART models saved/loaded disk #127. 🐛 fixes related factor handling engines. 🐛 fixes related is_comparable_raster add_predictors/add_predictors_range #130 🐛 fix related partial engine_gdb priors","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-3","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.3","text":"Add functions creates HTML file base DistributionModel. Added new engine engine_scampr() model-based integration. Allow projection models using method_integration = \"predictor\"","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-3","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.3","text":"Small fixes ensure boruta filtering works ()? Small fix parameter train() #102 @jeffreyhanson Small helper function combining 2 different formula objects combine_formulas() Small bug fixes dealing scenario() projections limits, plus unit tests #104 Bug fixes adding predictor_derivate() scenario predictors added unit tests #106 Several fixes related different engines priors. Changed default output netcdf files multidimensional arrays #109 🔥 hot fixes scenario scaling normalization issue #113 🐛 fix projection works different extents used inference.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-2","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.2","text":"Switched object structure R6 throughout improved data memory handling #44 Implemented convenience function ro remove biodiversity datasets (rm_biodiversity()).","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-2","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.2","text":"Added logical parameter ensemble() enabling compositing thresholds set #84 Support multi-band rasters ensemble() convenience. Fix bug threshold() supplied point data improved error messages. Cleaner docs structure Adding wrap_model/unwrap_model functions Added default parameters ibis specific options #90 Changing behaviour weights engine_inlabru() #93","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-1","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.1","text":"Added default engine_glm() dependency-free inference projection. Harmonized controls settings added option contrain extrapolation add_control_extrapolation() Adding function temporal interpolation predictors #52","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-1","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.1","text":"Minor corrective fixes additions add_offset(). Switch engine_glm() many unittests better coverage. Several bug fixes improvements thin_observations() global, probs, centers argument better control thin_observations() Harmonization parameters spartial() addressing #80","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-1-0","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.1.0","text":"Added small convenience wrapper add model outputs another model add_predictors_model() Started adding mechanistic SDM vignette #67 Wrapper steps implemented via simulate_population_steps() #68","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-1-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.1.0","text":"Added R-universe installation option alternative github #38 Minor bug fixes scenario() object, MigClim Kissmig wrappers. Bug fix related CRS classes sp sf Bug fix related blas.num.threads Bug fix crashed write_summary() outputs prediction made. Bug fix related CRS engine_inla() Bug fix engine_stan() related background layer Class biodiversity data identical PO PA Bug fix built_formula_glmnet() response Bug fix built_formula_gdb() response model$biodiversity stores predictors current ID Bug fix built_formula_inla() INLABRU","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-9","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.9","text":"Added new vignette available functions data preparation #67 Addition small mask() function emulates terra.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-9","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.9","text":"Small fix ensemble() ensembles future scenarios use correct standardization. Small fix threshold() now returning threshold values correctly. Bug fix error catching distribution() ensemble_partial(),ensemble_spartial() checks added check() #45 Small fix alignRasters(). Small fix harmonize field_column throughout. Improved error messages handling formula’s.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-8","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.8","text":"Implemented min size constraint (add_constraint_minsize()) #56 Added function estimating partial effects ensembles ensemble_spartial().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-8","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.8","text":"Added warnings checks missing crs supplied layers #65 Smaller bug code harmonizations ensemble_partial(), partial() spartial(). Smaller bug fixes threshold() scenario() projections. Improved error messages several functions. documentation fixes towards CRAN submission #38 Allow specify location biodiversity point records threshold().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-7","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.7","text":"Added method proximity add_control_bias() place lower weights points closer another. Added helper functions get_data() option apply threshold() directly BiodiversityScenarios. Added centroid function BiodiversityScenarios DistributionModels #29","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-7","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.7","text":"Add Error message background data different units easier understand. Added warning message threshold creation use independent data possible. Fixed min.cv bug threshold() introduced #17 Fixed add_offset() function now also allowing sf objects input. Fixed bug writing outputs write_output() Fixed bug prediction limits work correctly (distribution(...,lim = x))","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-6","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.6","text":"partial_density() function implemented #57 Re-specification limits implementation minimum convex polygon limits distribution(). Added check() function assessing assumptions fits various objects #45 Added minor internal helper functions duplicate stars objects via st_rep. Implemented local limiting factor function (limiting()) #37","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-6","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.6","text":"smaller documentation fixes towards CRAN submission #38 Bug fix method buffer pseudo-absence settings. Minor bug fixes ensemble() uncertainty calculations.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-5","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.5","text":"Addition 5 parameter logistic curve offsets parameter search add_offset().","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-5","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.5","text":"smaller documentation fixes towards CRAN submission #38 Bug write_model(), now converting terra objects data.frame import/export. Smaller bug fixes, example similarity(), addition variable name sanitization predictors default.","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-4","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.4","text":"Smaller bug fixes regards writing outputs adding pseudo-absences. Added short convenience function convert prediction outputs #48 Converted raster terra #17 Updated added unit checks tests","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"new-features-0-0-3","dir":"Changelog","previous_headings":"","what":"New features","title":"ibis.iSDM 0.0.3","text":"Aded Boruta iterative feature selection predictor variables.","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-3","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.3","text":"Removed Magittr dependency #41 Smaller improvements documentation removing CRAN preventing function calls. Made separation hyperparameter search functions clearer added new option filter highly correlated covariates via train().","code":""},{"path":[]},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"minor-improvements-and-bug-fixes-0-0-2","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"ibis.iSDM 0.0.2","text":"Smaller documentation fixes, including make sure examples returns exported function documentations. Preparation cran release #38, including fixing common issues checks. smaller bug fixes validate() make Boyce robust. Change logo. Thanks @elliwoto Added warning validate call users aware non-independent validation. fixes github actions tests @mhesselbarth","code":""},{"path":"https://iiasa.github.io/ibis.iSDM/news/index.html","id":"ibisisdm-001","dir":"Changelog","previous_headings":"","what":"ibis.iSDM 0.0.1","title":"ibis.iSDM 0.0.1","text":"Initial public release version! Finding fixing bugs…","code":""}] diff --git a/sitemap.xml b/sitemap.xml index 8e2edc96..7273ea31 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -114,6 +114,7 @@ https://iiasa.github.io/ibis.iSDM/reference/myLog.html https://iiasa.github.io/ibis.iSDM/reference/new_id.html https://iiasa.github.io/ibis.iSDM/reference/new_waiver.html +https://iiasa.github.io/ibis.iSDM/reference/nicheplot.html https://iiasa.github.io/ibis.iSDM/reference/partial.html https://iiasa.github.io/ibis.iSDM/reference/partial_density.html https://iiasa.github.io/ibis.iSDM/reference/plot.html