pierucci / heemod Goto Github PK
View Code? Open in Web Editor NEW:chart_with_upwards_trend:Markov Models for Health Economic Evaluations
Home Page: https://pierucci.org/heemod/
License: Other
:chart_with_upwards_trend:Markov Models for Health Economic Evaluations
Home Page: https://pierucci.org/heemod/
License: Other
This package should respect lazyeval
expected behaviour.
This is necessary to interface with shiny
in the future.
Mostly useless and dangerous. The BEFORE
workaround is confusing for the user. Automatic sorting of parameter or state values definition will be a mess.
Now that the package is more or less complete, vignettes should be reorganized to be more to the point.
I want to believe.
Right now it's the bare minimum.
Usually, we measure number of people being in a state.
So we should not start with only one person.
Investigate.
magrittr
is a good starting point. Silly pipe pictures not allowed though.
Should be based on the newdata framework.
Because people are lazy.
Heterogeneity, interpretation and incertitude.
Functions from dplyr
and ggplot2
use non-standard evaluation. This causes R CMD check
to complain. globalVariables()
are used to avoid that problem, but I'd rather keep those to a minimum.
Calls to globalVariables()
must be audited and alternative solutions must be found whenever possible.
Separate help?
Use invoke_rows()
instead.
The parallelisation should mostly occur where models are run iteratively in run_model_newdata()
.
Should include:
Bottlenecks significantly reduce the speed of iterative functions for heterogeneity and probabilistic analysis. They should be identified and improvements should be suggested.
Should be avoided and that step should be inside define_model; and simplified like that
mod_standard <- define_model(
parameters = param_standard,
transition_matrix = mat_trans,
state A,
state B,
state C,
...
)
age <- floor(age/10-.5)*10+5
merge(data.frame(age = age, sex = sex), death_prob)$mr
by death_prob[death_prob$age == age & death_prob$sex == sex, "mr"]
(more intuitive)And move it to a new repo.
Because it's easier to visualize.
Right now the code is pretty messy and unoptimized.
Need the following steps:
Should be replaced by its abstract value (although being an equation probably difficult to solve).
For instance
for this line : C 0.202 * rr 0.067 * rr 0.01 * rr
C should be output like 0.721rr
Mainly for check_matrix
.
The code of define_resample()
works, but is incredibly messy and probably too complex for what it does.
This is a recipe for bugs and headaches. This part of the package should be refactored.
No named state -> generating names
: we should show this warning at define_matrix() function and not afte
One dataframe instead of a list of dataframes.
Follow classic file hierarchy style. See magrittr
or dplyr
github repo for reference.
The values do not depend on state and are added to state values for all individuals.
Should support:
Which method should be left by default is open to debate.
summary function shouldn't output .cost, .effect and .icer when there is no comparison between several strategies. Or replace values with NA
Same remark for the less costly strategy
An unevaluated state with 2 values
: The term "unevaluated" leads to confusion and I think we should remove it.
It seems to be a step which could be inside run_model.
run_model(
transition_matrix = mat_trans,
state_A,
state_B,
cycles = 10,
cost = cost,
effect = utility
)
All parameters and state value names starting by .
should be forbidden.
res_mod_1
## 1 Markov model, run for 10 cycles.
##
## Model name:
##
## A
Perhaps we could replace that output by the summary function output?
Could be fixed by tweaking diagram::plotmat()
parameters.
Writing 1-(standardRR+mr) could be avoided, as it is the complement of the other states; I propose to use an alias for that (could be letter C)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.