ml
is an R package to fit R expression based Maximum Likelihood
models.
It is designed to be simple but flexible.
library(ml)
library(tibble)
# the R expression is currently passed as unparsed text
# it should evaluate to the log likelihood
expr <- "sum(dnorm(len, mu, b[1,1] + b[1,2], log = TRUE))"
# the list of starting can include arrays and matrices
# the values are the initial values (NAs are fixed at 0)
start <- list(mu = 20, b = matrix(c(8, NA), ncol = 2))
# data can be a data.frame or list of numeric atomic objects
data <- datasets::ToothGrowth
# perform the analysis
analysis <- ml_fit(expr, start = start, data = data)
# glance at the analysis
glance(analysis)
#> # A tibble: 1 x 4
#> df logLik AIC converged
#> <int> <dbl> <dbl> <lgl>
#> 1 2 -207. 417. TRUE
# the coefficient table includes svalues (in place of pvalues)
tidy(analysis)
#> # A tibble: 2 x 6
#> term estimate sd lower upper svalue
#> <term> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 mu 18.8 0.979 16.9 20.7 271.
#> 2 b[1,1] 7.59 0.692 6.23 8.94 90.4
To install the developmental version from GitHub
# install.packages("remotes")
remotes::install_github("poissonconsulting/ml")
To install the latest developmental release from the Poisson drat repository
# install.packages("drat")
drat::addRepo("poissonconsulting")
install.packages("ml")
Please report any issues.
Pull requests are always welcome.
Please note that the ml project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.