Memuat paket tambahan yang digunakan, yaitu "LBSPR"
.
library("LBSPR")
Membuat obyek baru untuk analisis spawning potential ratio (SPR).
# membuat obyek LB_pars baru
mypars <- new("LB_pars", verbose=FALSE)
# melihat elemen/slot yang ada pada obyek
slotNames(mypars)
## [1] "Species" "MK" "M" "Linf" "L_units"
## [6] "CVLinf" "L50" "L95" "Walpha" "Walpha_units"
## [11] "Wbeta" "FecB" "Steepness" "Mpow" "R0"
## [16] "SL50" "SL95" "MLL" "sdLegal" "fDisc"
## [21] "FM" "SPR" "BinMin" "BinMax" "BinWidth"
Obyek LB_pars memiliki 25 slot. Namun, tidak semua parameter perlu ditetapkan untuk model simulasi. Parameter minimum yang diperlukan untuk model simulasi adalah: 1). Panjang asimptotik von Bertalanffy (Linf), 2). Rasio M/K, 3). Panjang pada kematangan 50% (L50/Lm), 4). Panjang pada kematangan 95% (L95), 5). Panjang pada selektivitas 50% (SL50), 6). Panjang pada selektivitas 95% (SL95), 7). Rasio F/M (FM) atau SPR (SPR). Jika Anda menentukan keduanya, nilai F/M akan diabaikan, dan 8). Lebar kelas (BinWidth)
Cara menghitung nilai parameter dapat dilihat di sini, perhitungan juga dapat dilakukan dengan aplikasi lain.
mypars@Species <- "Scarus fasciatus"
mypars@Linf <- 31.33 #panjang asimptotik von Bertalanffy (Linf)
mypars@L50 <- 13.38 #panjang pada kematangan 50% (L50/Lm)
mypars@L95 <- 15.63 #panjang pada kematangan 95% (L95)
mypars@MK <- 0.51500000/0.39000000 #rasio M/K
mypars@FM <- 0.67 #rasio F/M
mypars@BinWidth <- 1.5 #lebar kelas (BinWidth)
Setelah parameter minimum yang dibutuhkan sudah dimasukan, langkah selanjutnya adalah membuat model dengan nilai yang ada.
# memuat data untuk model
lengths <- new("LB_lengths", "S. fasciatus_LBSPR.csv", LB_pars=mypars, dataType="raw",
header = TRUE, verbose = FALSE)
# model
yr <- 1 #data tahun pertama
model <- LBSPRfit(mypars, lengths, verbose = FALSE)
# plot
plotSize(model)
model@Ests
plotMat(model)
plotSPRCirc(model, texcex=1, labcex=1)
# masukan nilai sesuai dengan hasil model
mypars@SL50 <- model@SL50[yr]
mypars@SL95 <- model@SL95[yr]
mypars@FM <- model@FM[yr]
mypars@SPR <- model@SPR[yr]
# plot frekuensi panjang berdasarkan hasil SPR
plotTarg(mypars, lengths, yr=yr)
## Both SPR and F/M have been specified. Using SPR and ignoring F/M
# plot frekuensi panjang berdasarkan target SPR
mypars@SPR <- 0.6 #target SPR
plotTarg(mypars, lengths, yr=yr)
## Both SPR and F/M have been specified. Using SPR and ignoring F/M
Simulasi model LBSPR dengan nilai paramter yang didapatkan.
# sesuaikan nilai parameter yang lain
mypars@SPR <- model@SPR[yr] #SPR berdasarkan hasil
mypars@BinMax <- 35 #batas atas
mypars@BinMin <- 10 #batas bawah
mypars@L_units <- "cm" #ubah satuan unit panjang (default mm)
# model
mysim <- LBSPRsim(mypars)
## Both SPR and F/M have been specified. Using SPR and ignoring F/M
# hasil
mysim@SPR
## [1] 0.29
mysim@FM
## [1] 1.21
plotSim(mysim, lf.type="catch")
# alterasi plot
plotSim(mysim, lf.type="pop")
Nilai parameter dapat diganti untuk melihat perubahan hasil simulasi model yang didapatkan. Hal ini dapat dilakukan untuk rekomendasi kebijakan berdasarkan hasil simulasi model.
Beberapa parameter yang dapat diubah adalah:
mypars@SPR <- numeric() #hapus nilai SPR sebelumnya
mypars@FM <- 0.5 #tentukan nilai FM
# ulangi simulasi
mysim <- LBSPRsim(mypars)
round(mysim@SPR, 2)
## [1] 0.54
mypars@MK <- 1.5
mypars@SL50 <- 15
mypars@SL95 <- 25
# ulangi simulasi
mysim <- LBSPRsim(mypars)
round(mysim@SPR, 2)
## [1] 0.58
Secara default model LBSPR menggunakan Growth-Type-Group model (Hordyk et al. 2016). Argumen kontrol dapat diubah menjadi Age-Structured model (Hordyk et al. 2015):
mysim <- LBSPRsim(mypars, Control=list(modtype="GTG")) #Growth-Type-Group (default)
round(mysim@SPR, 2)
## [1] 0.58
mysim <- LBSPRsim(mypars, Control=list(modtype="absel")) #Age-Structured
round(mysim@SPR, 2)
## [1] 0.59
Setelah merubah beberapa parameter, hasil dapat dibandingkan dengan membuat plot.
plotSim(mysim, lf.type="catch")
# alterasi plot
plotSim(mysim, lf.type="pop")
## R version 4.3.2 (2023-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19045)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=English_United States.utf8
## [2] LC_CTYPE=English_United States.utf8
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.utf8
##
## time zone: Asia/Jakarta
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] LBSPR_0.1.6
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.4 jsonlite_1.8.8 highr_0.10 dplyr_1.1.4
## [5] compiler_4.3.2 plotrix_3.8-4 tidyselect_1.2.0 Rcpp_1.0.12
## [9] gridExtra_2.3 tidyr_1.3.1 jquerylib_0.1.4 scales_1.3.0
## [13] yaml_2.3.8 fastmap_1.1.1 ggplot2_3.5.0 R6_2.5.1
## [17] labeling_0.4.3 generics_0.1.3 knitr_1.45 tibble_3.2.1
## [21] munsell_0.5.0 bslib_0.6.1 pillar_1.9.0 RColorBrewer_1.1-3
## [25] rlang_1.1.3 utf8_1.2.4 cachem_1.0.8 xfun_0.42
## [29] sass_0.4.8 cli_3.6.2 withr_3.0.0 magrittr_2.0.3
## [33] digest_0.6.34 grid_4.3.2 rstudioapi_0.15.0 lifecycle_1.0.4
## [37] vctrs_0.6.5 evaluate_0.23 glue_1.7.0 farver_2.1.1
## [41] fansi_1.0.6 colorspace_2.1-0 rmarkdown_2.25 purrr_1.0.2
## [45] tools_4.3.2 pkgconfig_2.0.3 htmltools_0.5.7