You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current version of depletion() uses vectors of catch and effort as the first two arguments. While this may be useful if catch and effort were entered into separate stand-alone vectors it is cumbersome if catch and effort data are in a data.frame (see examples with SMBassLS). Alternatively, it may be more useful to have a formula version that uses data=. For backward compatibility, the current use of vectors should be maintained (I think this is the case with catchCurve(), so check that code for an example).
This stems from a question from Keane Flynn about wanting to do something like group_by()|>depletion() to efficiently perform the analysis for multiple groups of data. A current hacky work-around for that situation is below (probably could have used split() and lapply() here as well). Adding the formula notation with data= should make this easier.
## Dummy example data (grp="A" is SMBassLS example ... just FYI)
tmpdf <- data.frame(ct=c(131,69,99,78,56,76,49,42,63,47,
117,75,87,67,58,67,42),
ft=c(7,7,7,7,7,7,7,7,7,7,
5,7,5,5,4,6,5),
grp=as.factor(c("A","A","A","A","A","A","A","A","A","A",
"B","B","B","B","B","B","B")))
str(tmpdf)
## Initialize a results data.frame
res <- data.frame("grp"=factor(),
"No"=double(),"No.se"=double(),
"q"=double(),"q.se"=double())
## Use a loop to process groups individually
for (i in levels(tmpdf$grp)) {
tmp <- dplyr::filter(tmpdf,grp==i)
tmpres <- FSA::depletion(tmp$ct,tmp$ft,method="Leslie")
res <- dplyr::add_row(res,"grp"=i,
No=tmpres$est["No","Estimate"],
No.se=tmpres$est["No","Std. Err."],
q=tmpres$est["q","Estimate"],
q.se=tmpres$est["q","Std. Err."])
}
## See the result
res
The text was updated successfully, but these errors were encountered:
The current version of
depletion()
uses vectors of catch and effort as the first two arguments. While this may be useful if catch and effort were entered into separate stand-alone vectors it is cumbersome if catch and effort data are in a data.frame (see examples withSMBassLS
). Alternatively, it may be more useful to have a formula version that usesdata=
. For backward compatibility, the current use of vectors should be maintained (I think this is the case withcatchCurve()
, so check that code for an example).This stems from a question from Keane Flynn about wanting to do something like
group_by()
|>
depletion()
to efficiently perform the analysis for multiple groups of data. A current hacky work-around for that situation is below (probably could have usedsplit()
andlapply()
here as well). Adding the formula notation withdata=
should make this easier.The text was updated successfully, but these errors were encountered: