knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This document shows how to take the output from doEstimationForAllStrata() and format it into the InterCatch format. This is done by using the function exportEstimationResultsToInterCatchFormat() in the RDBEScore package.
library(RDBEScore)
# load an example dataset # H1 directory dirH1 <- "../tests/testthat/h1_v_20250211/" fixProbs <- function(myH1RawObject){ # Edit our data so that we have SRSWOR on each level and calculate the probs myH1RawObject[["VS"]]$VSselectMeth <- "SRSWOR" myH1RawObject[["VS"]]$VSincProb <- myH1RawObject[["VS"]]$VSnumSamp / myH1RawObject[["VS"]]$VSnumTotal myH1RawObject[["VS"]]$VSselProb <- 1/myH1RawObject[["VS"]]$VSnumTotal myH1RawObject[["FT"]]$FTselectMeth <- "SRSWOR" myH1RawObject[["FT"]]$FTincProb <- myH1RawObject[["FT"]]$FTnumSamp / myH1RawObject[["FT"]]$FTnumTotal myH1RawObject[["FT"]]$FTselProb <- 1/myH1RawObject[["FT"]]$FTnumTotal myH1RawObject[["FO"]]$FOselectMeth <- "SRSWOR" myH1RawObject[["FO"]]$FOincProb <- myH1RawObject[["FO"]]$FOnumSamp / myH1RawObject[["FO"]]$FOnumTotal myH1RawObject[["FO"]]$FOselProb <- 1/myH1RawObject[["FO"]]$FOnumTotal myH1RawObject[["SS"]]$SSselectMeth <- "SRSWOR" myH1RawObject[["SS"]]$SSincProb <- myH1RawObject[["SS"]]$SSnumSamp / myH1RawObject[["SS"]]$SSnumTotal myH1RawObject[["SS"]]$SSselProb <- 1/myH1RawObject[["SS"]]$SSnumTotal myH1RawObject[["SA"]]$SAselectMeth <- "SRSWOR" myH1RawObject[["SA"]]$SAincProb <- myH1RawObject[["SA"]]$SAnumSamp / myH1RawObject[["SA"]]$SAnumTotal myH1RawObject[["SA"]]$SAselProb <- 1/myH1RawObject[["SA"]]$SAnumTotal # Update our test data with some random sample measurements (it didn't include these) # set the random seed set.seed(1234) myH1RawObject[['SA']]$SAsampWtLive <- round(runif(n=nrow(myH1RawObject[['SA']]),min = 1, max = 100)) myH1RawObject[['SA']]$SAsampWtMes <- round(runif(n=nrow(myH1RawObject[['SA']]),min = 1, max = 100)) myH1RawObject } ## Step 1) load and prepare some test data myH1RawObject <- createRDBESDataObject(input = dirH1) #Filter our data for WGRDBES-EST TEST 1, 1965, H1 myCatchFraction <- "Lan" mySpecies <- 1019159 myFields <- c("DEyear","DEhierarchy","DEsampScheme","DEstratumName","SAspeCode","SScatchFra") myValues <- c(1965,1,"National Routine","DE_stratum1_H1",mySpecies,myCatchFraction) myH1RawObject <- filterRDBESDataObject(myH1RawObject, fieldsToFilter = myFields, valuesToFilter = myValues ) myH1RawObject <- findAndKillOrphans(myH1RawObject) myH1 <- fixProbs(myH1RawObject)
myTestData <- createRDBESEstObject(myH1, 1, stopTable = "SA") # Get rid of rows that don't have an SA row myTestData <- myTestData[!is.na(myTestData$SAid),] # Estimate using the data myStrataResults <- doEstimationForAllStrata(myTestData, "SAsampWtLive")
# Get our estimated values for the PSU psuEstimates <- myStrataResults[myStrataResults$recType == "VS",] # This is the data we will export to IC format dataToOutput <- data.frame(Country = myH1[["SD"]]$SDctry, Year = myH1[["DE"]]$DEyear, SeasonType = NA, Season = NA, Fleet= NA, AreaType = "Stratum", FishingArea = psuEstimates$stratumName, DepthRange = "NA", Species = mySpecies , Stock = mySpecies, CatchCategory = substr(myCatchFraction, 1, 1), ReportingCategory = "A", Usage = "H", SamplesOrigin = "O", UnitCATON = "kg", CATON = psuEstimates$est.total/1000.0, varCATON = psuEstimates$var.total/1000000.0, Sex = "NA", PlusGroup = "NA", MeanWeight = -9, unitMeanWeight = "kg", unitCANUM = "n", UnitAgeOrLength = "year", NumberCaught = -9, MeanWeight = -9, CANUMtype = "Age", AgeLength = c(1,1,1,2,2,2,3,3,3), NumSamplesAge = c(300,300,300,200,200,200,100,100,100)) tempIC <- exportEstimationResultsToInterCatchFormat(dataToOutput) print(tempIC)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.