-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conscious uncoupling round #1 #49
Conversation
…s to allow punctuation; also change default title to NULL, and add 'stages' argument for custom stage class labels
@levisc8 do you have any ideas for this build error? Looks like some builds are failing on the Part of the issue is that we've recently added a dependency on |
I have no idea about the travis builds. The appveyor builds seem to be failing because it can't find the Fortran compiler to install Is there any way to avoid the DiagrammeR dependency? Or do we have to use it for |
Cool, thanks for checking. Ya, DiagrammeR is just used in plotLifeCycle. There are other packages for plotting graphs, like ggraph, but it has lots of dependencies too. Do you know if there's an elegant way to make DiagrammeR a Suggest rather than Depend? Perhaps use testthat::skip_if_not_installed() for the unit tests, and modify the function to fail with a helpful message if DiagrammeR isn't installed? We do something like this for tidyverse functions in Rcompadre, though maybe that's a bit different because they're S3 methods. I'm assuming Suggests aren't installed during the CI checks, though I'm not actually positive on that. Edit: it seems Suggests are in fact installed for the CI checks, so this strategy wouldn't help anyway. |
Yea, I think you could add something like I'm not sure how you'd do it with |
^^That won’t solve the CI problem, but I don’t think we can do much about that other than wait.
… On 14. Feb 2019, at 14:45, Patrick Barks ***@***.***> wrote:
Cool, thanks for checking. Ya, DiagrammeR is just used in plotLifeCycle. There are other packages for plotting graphs, like ggraph, but it has lots of dependencies too.
Do you know if there's an elegant way to make DiagrammeR a Suggest rather than Depend? Perhaps use testthat::skip_if_not_installed() for the unit tests, and modify the function to fail with a helpful message if DiagrammeR isn't installed? We do something like this for tidyverse functions in Rcompadre, though maybe that's a bit different because they're S3 methods.
I'm assuming Suggests aren't installed during the CI checks, though I'm not actually positive on that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Updates to close #20, close #41, close #42, and make progress toward #48. Though I think we should revamp our naming scheme as described in #48, I'm not attached to any specific name/prefix, so suggestions for alternatives are encouraged.
(1.) Add functions to convert among survivorship (lx), survival (px), and mortality hazard (hx)
lx_to_px
,lx_to_hx
px_to_lx
,px_to_hx
hx_to_lx
,hx_to_px
(2.) Rename
ageSpecific-
fns tompm_to_
, and add to-survival and to-hazard fnsmpm_to_lx
,mpm_to_px
,mpm_to_hx
,mpm_to_mx
(3.) Update
plotLifeCycle
to close #42NULL
stages
arg for custom stage names (rather than using matrix dimnames)(4.) Break apart
lifeTimeRepEvents
to close #20mature_prob
,mature_age
,mature_life_expect
each return a single numeric value(5.) Break apart
vitalRates
as described in #20(6.) Break apart perturbation functions as described in #20
matrixElementPerturbation
->perturb_trans
vitalRatePerturbation
->perturb_vr
perturb_matrix
returns a full sensitvity or elasticity matrixtype
(7.) Add functionality to distinguish between structural zeros and sampled zeros
vr_
andvr_vec_
fns, andperturb_trans
posU
/posF
/posC
posU = matU > 0
,posF = matF > 0
, etc., which effectively assumes that all zeros are structuralNA
, and/or excluded from subsequent calculation, whereas transtions that are 0 but still 'possible' (i.e. sampled zeros) are included in further caculationsperturb_vr
, but this will be more difficult(8.) Add functions to calculate stochastic elasticities
perturb_stochastic()
calculates stochastic elasticities given a list of matA and corresponding population vectorspop_vectors()
derives a series of population vectors via recursive projection (assuming some starting point, with various options)