#6.Indicators
p = bio.lobster::load.environment()
p$lfas = c("27", "28", "29", "30", "31A", "31B", "32", "33") # specify lfas for data summary
p$subareas = c("27N","27S", "28", "29", "30", "31A", "31B", "32", "33E", "33W") # specify lfas for data summary
assessment.year = p$current.assessment.year -1 ########### check the year ############### !!!!!!!!!!!
require(bio.lobster)
require(bio.utilities)
require(PBSmapping)
la()
#mid seseason indicators - median and max size; new recruits
#LOADS of DATA handling....sorry :(
sl = lobster.db('seasonal.landings')
al = lobster.db('annual.landings')
sl = rename.df(sl,'SYEAR','YR')
sl$YR = as.numeric(substr(sl$YR,6,9))
sl = subset(sl,YR>=1980)
al = subset(al,YR>=1980)
al = reshape(al,idvar='YR',varying=list(2:ncol(al)),direction='long',times=names(al)[2:ncol(al)])
al$LFA = substr(al$time,4,8)
ad = c(27,28,29,30,'31A','31B',32)
al = subset(al,LFA %in% ad, select=c(YR,LFA27,LFA))
al = rename.df(al,'LFA27','Landings')
sl = sl[,c('YR','LFA33')]
sl$LFA = '33'
sl = rename.df(sl,'LFA33','Landings')
pp = rbind(al,sl)
#CPUE raw data
#load(file=file.path(project.datadirectory('bio.lobster'),'outputs','rawcpueIndicators27-33B.rdata'))
CPUE.data<-CPUEModelData(p,redo=T)
cpueData= CPUEplot(CPUE.data,lfa= p$lfas,yrs=1981:2018,graphic='R')$annual.data
hq = rename.df(cpueData,'YEAR','YR')
pp = merge(hq[,c("LFA","YR","CPUE")],pp,all=T)
pp$Effort = pp$Landings * 1000 / pp$CPUE
load(file.path(project.datadirectory('bio.lobster'),'outputs','atSeaIndicatorsNumbersLandedLFA27-33.rdata'))
aS = out
aS = rename.df(aS,'YEAR','YR')
df = c('LFA','YR','N','expl')
aS = aS[,df]
names(aS)[3:ncol(aS)] = paste('AtSea',names(aS)[3:ncol(aS)],sep="." )
load(file = file.path(project.datadirectory('bio.lobster'),'outputs','SummaryatSeaIndicatorsDataLFA27-33.rdata')) #at Sea
aSS = outS
aSS = rename.df(aSS,'Year','YR')
aSS = rename.df(aSS,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "prop.female" , "PropMating" ,"EggProduction" )
aSS = aSS[,df]
load(file = file.path(project.datadirectory('bio.lobster'),'outputs','SubsetWksSummaryatSeaIndicatorsDataLFA27-33.rdata')) #at Sea
aSSS = outS
aSSS = rename.df(aSSS,'Year','YR')
aSSS = rename.df(aSSS,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "median", "max" ,"new.rec" ,"prop.berried")
aSSS = aSSS[,df]
aSS = merge(as.data.frame(aSS),aSSS,all=T)
names(aSS)[3:ncol(aSS)] = paste('AtSea',names(aSS)[3:ncol(aSS)],sep="." )
aS = merge(aSS,aS,by=c('YR','LFA'),all=T)
#FSRS Commercial
load(file.path(project.datadirectory('bio.lobster'),'outputs','fsrsNumbersLanded33.rdata'))
fS = out
fS = rename.df(fS,'YEAR','YR')
df = c('LFA','YR','N','expl')
fS = fS[,df]
names(fS)[3:ncol(fS)] = paste('FSRSComm',names(fS)[3:ncol(fS)],sep="." )
load(file = file.path(project.datadirectory('bio.lobster'),'outputs','SummaryfsrsCommercialSamplesLanded33.rdata'))
fSS = outS
fSS = rename.df(fSS,'Year','YR')
fSS = rename.df(fSS,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "median", "max" , "prop.female" , "prop.berried" , "new.rec" )
fSS = fSS[,df]
names(fSS)[3:ncol(fSS)] = paste('FSRSComm',names(fSS)[3:ncol(fSS)],sep="." )
fS = merge(fSS,fS,by=c('YR','LFA'),all=T)
#Port Samples
load(file.path(project.datadirectory('bio.lobster'),'outputs','portNumbersLanded27-33.rdata'))
pS = out
pS = rename.df(pS,'YEAR','YR')
df = c('LFA','YR','N','expl')
pS = pS[,df]
names(pS)[3:ncol(pS)] = paste('Port',names(pS)[3:ncol(pS)],sep="." )
load(file.path(project.datadirectory('bio.lobster'),'outputs','portSummaryLFA27-33.rdata'))
pSS = outS
pSS = rename.df(pSS,'Year','YR')
pSS = rename.df(pSS,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "prop.female" , 'PropMating','EggProduction')
pSS = pSS[,df]
load(file.path(project.datadirectory('bio.lobster'),'outputs','subsetweeksportSummaryLFA27-33.rdata'))
pSSS = outS
pSSS = rename.df(pSSS,'Year','YR')
pSSS = rename.df(pSSS,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "median", "max" ,"new.rec" )
pSSS = pSSS[,df]
pSS = merge(pSS,pSSS,all=T)
names(pSS)[3:ncol(pSS)] = paste('Port',names(pSS)[3:ncol(pSS)],sep="." )
pS = merge(pSS,pS,by=c('YR','LFA'),all=T)
#Fsrs recruitment
load(file = file.path(project.datadirectory('bio.lobster'),'outputs','SummaryfsrsrecruitmentSamplesLanded27-33.rdata'))
fR = outS
fR = rename.df(fR,'Year','YR')
fR = rename.df(fR,c('YEAR','quants.50%','quants.97.5%'),c('YR','median','max'))
df = c( "LFA", "YR", "median", "max" , "prop.female" , "prop.berried" )
fR = fR[,df]
names(fR)[3:ncol(fR)] = paste('FSRSRec',names(fR)[3:ncol(fR)],sep="." )
#Merge data sets
# mls = read.csv(file=file.path(project.datadirectory('bio.lobster'),'data','inputs',paste0('MLS.Changes.all.LFA',assessment.year,'.csv')))
# mls = rename.df(mls,'Year','YR')
# mls = mls[,c('YR','LFA','MLS_MM')]
# mls = subset(mls, LFA %in% c(27,28,29,30,'31A','31B',32,33))
load(file=file.path(project.datadirectory('bio.lobster'),'outputs','EstimatedRecruitBiomassLFA27-33.rdata'))
aa = aa[,c('YEAR','LFA','RecB')]
aa = rename.df(aa,c("YEAR",'RecB'),c('YR','RecruitmentBiomass'))
load(file=file.path(project.datadirectory('bio.lobster'),'outputs','ccir','summary','compiledExploitationCCIR33.rdata'))
oi=oo
oi$LFA <- "33"
load(file=file.path(project.datadirectory('bio.lobster'),'outputs','ccir','summary','compiledExploitationCCIR2732.rdata'))
oi = rbind(oo,oi)
oi = rename.df(oi,'Yr','YR')
oi = oi[grep('LFA',oi$LFA,invert=T),]
oi = subset(oi,ERfl>0,select=c(YR,LFA,ERfm))
oi = rename.df(oi,'ERfm','CCIR.Exploitation')
allS = Reduce(function(...) merge(...,all=T),list(aS,fS,pS,fR,pp,aa,oi))
#FSRS temperature
load(file.path(project.datadirectory('bio.lobster'),'Temperature Data','tempIndicators.rdata'))
tempData = rename.df(tempData,c('area','year','t'),c('LFA','YR','Temperature'))
tempData$t.sd = NULL
allS = merge(allS,tempData,all=T)
#FSRS models
lF=list()
rF=list()
sF=list()
for(i in c("27", "29", "30", "31A", "31B", "32","33")){
load(file=file.path(project.datadirectory('bio.lobster'),'outputs',paste0('fsrsModelIndicators',i,'.rdata')))
Fl = rename.df(legals,c('YEAR','Area','mu'),c('YR','LFA','FSRS.Legal.CPUE'))
lF[[i]] = Fl[,c('YR','LFA','FSRS.Legal.CPUE')]
Fr = rename.df(recruit,c('YEAR','Area','mu'),c('YR','LFA','FSRS.Recruit.CPUE'))
rF[[i]] = Fr[,c('YR','LFA','FSRS.Recruit.CPUE')]
Fs = rename.df(shorts,c('YEAR','Area','mu'),c('YR','LFA','FSRS.Shorts.CPUE'))
sF[[i]] = Fs[,c('YR','LFA','FSRS.Shorts.CPUE')]
}
lF = do.call("rbind",lF)
rF = do.call("rbind",rF)
sF = do.call("rbind",sF)
allS = Reduce(function(...) merge(...,all=T),list(allS,lF,rF,sF))
#
allS = subset(allS,YR<assessment.year+1)
old = c('YR','LFA','AtSea.prop.female','AtSea.PropMating','AtSea.EggProduction','AtSea.median','AtSea.max','AtSea.new.rec','AtSea.prop.berried','AtSea.N','AtSea.expl','FSRSComm.median','FSRSComm.max','FSRSComm.prop.female','FSRSComm.prop.berried','FSRSComm.new.rec','FSRSComm.N','FSRSComm.expl','Port.prop.female','Port.PropMating','Port.EggProduction','Port.median','Port.max','Port.new.rec','Port.N','Port.expl','FSRSRec.median','FSRSRec.max','FSRSRec.prop.female','FSRSRec.prop.berried','Landings','RecruitmentBiomass','CCIR.Exploitation','Temperature')
new = c('YR','LFA','At.Sea.SexRatio','At.Sea.Prop.Mature','At.Sea.Reprod.Pot','At.Sea.Median.CL','At.Sea.Max.CL','At.Sea.Prop.NewRec','At.Sea.Prop.Berried','At.Sea.Landed.Abund.','At.Sea.CA.Exploit','FSRS.Comm.Median.CL','FSRS.Comm.Max.CL','FSRS.Comm.SexRatio','FSRS.Comm.Prop.Berried','FSRS.Comm.Prop.NewRec','FSRS.Comm.Landed.Abund','FSRS.Comm.CA.Exploit','Port.SexRatio','Port.Prop.Mature','Port.Reprod.Pot','Port.Median.CL','Port.Max.CL','Port.Prop.NewRec','Port.Landed.Abund','Port.CA.Exploit','FSRS.Rec.Median.CL','FSRS.Rec.Max.CL','FSRS.Rec.SexRatio','FSRS.Rec.Prop.Berried','Landings.Wt','BiomassRecruits','ExploitationCCIR','Temperature')
allS = rename.df(allS,old,new)
save(allS, file=file.path(project.datadirectory('bio.lobster'),'outputs','CompiledIndicatorsLFA2732assessment.rdata'))
load(file=file.path(project.datadirectory('bio.lobster'),'outputs','CompiledIndicatorsLFA2732assessment.rdata'))
#id the variables for log trans
re = c()
re=c(re,grep('Reprod',names(allS)))
#re=c(re,grep('Abund',names(allS)))
re=c(re,grep('Land',names(allS)))
re=c(re,grep('Bio',names(allS)))
allS[,re] <- log(allS[,re]+1)
allS = allS[,-grep('CA',names(allS))] # remove cohort analysis
#loop through LFAs
lfa = unique(allS$LFA)
#lfa = 33
colorfun = colorRampPalette ( RColorBrewer::brewer.pal(11,"RdYlBu"))
for(i in lfa[1:7]) {
dd = subset(allS,LFA==i)
t0 = 1980
t1 = assessment.year
rownames(dd) = t0:t1
dd$LFA = dd$YR = NULL
iu = apply(dd,2,function(x) sum(is.na(x)*1)/length(x)<1-5/35)
dd = dd[,names(iu)[iu]] # removing all indicators with less than 5 values
iu=c()
iu = c(iu,which(names(dd)=='FSRS.Rec.Max.CL'))
iu = c(iu,which(names(dd)=='FSRS.Rec.Median.CL'))
iu = c(iu,grep('Sex',names(dd)))
if(i==33) {
iu = c(iu,which(names(dd)=='FSRS.Comm.MaxCL'))
iu = c(iu,which(names(dd)=='FSRS.Comm.MedianCL'))
}
dd = dd[,-iu]
fname = file.path(project.datadirectory("bio.lobster"),"figures","Assessment","Indicators")
dir.create(fname)
Y = pcaAnalyseData(dd, t0, t1,fname=fname,OFN = paste('OrdinationLFA',i,sep=""), colscheme=colorfun,addscores=F,wd=c(15,10),ht=c(6,8),labs=F,margins=c(1, 1, 0.3, 1))
vtable = read.csv(file.path(fname,"fname.csv"))
vartable = merge(Y$var.table,vtable,all.x=T)
vartable = vartable[order(vartable$Rank),c("Rank","Variable","PCA1","PCA2","Description")]
write.csv(vartable,file.path(fname, paste0("vtable",i,".csv")),row.names=F)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.