The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

nakagami

R build status Project Status: Active – The project has reached a stable, usable state and is being actively developed. CRAN_Status_Badge

Overview

An R-package for the Nakagami distribution.

Installation

Use the following command from inside R:

# install.packages("devtools")
devtools::install_github("JonasMoss/nakagami")

Usage

The density function is dnaka, the probability distribution is pnaka, the quantile function is qnaka and random deviate generator is rnaka. Use them just like the *gamma functions in the stats package.

set.seed(313)
x = seq(0, 3, by = 0.01)
hist(nakagami::rnaka(10^5, shape = 4, scale = 2), freq = FALSE, breaks = "FD")
lines(x, nakagami::dnaka(x, shape = 4, scale = 2), type = "l", lwd = 2)

Note

All of these functions are implemented in the R package VGAM. As of VGAM version 1.1-2, the implementations in nakagami are faster, more thoroughly tested, and use a standardized set of arguments following the template of dgamma et cetera.

The rnaka of nakagami is much faster than the rnaka of VGAM:

#install.packages("VGAM")

microbenchmark::microbenchmark(nakagami::rnaka(100, 2, 4), 
                               VGAM::rnaka(100, 4, 2))
#> Unit: microseconds
#>                        expr    min     lq     mean  median     uq      max
#>  nakagami::rnaka(100, 2, 4)  182.7  219.7 2374.957  302.05  428.3 154306.4
#>      VGAM::rnaka(100, 4, 2) 1319.7 1670.6 9874.742 1901.20 2569.0 772334.0
#>  neval
#>    100
#>    100

And the quantile function of nakagami is slightly faster.

p = 1:10/11
microbenchmark::microbenchmark(nakagami::qnaka(0.01, 10, 4), 
                               VGAM::qnaka(0.01, 4, 10))
#> Unit: microseconds
#>                          expr   min     lq    mean median     uq    max neval
#>  nakagami::qnaka(0.01, 10, 4) 184.1 196.00 317.706 223.05 336.80 2665.5   100
#>      VGAM::qnaka(0.01, 4, 10) 277.5 301.95 482.844 323.00 520.75 2979.1   100

Moreover, VGAM::qnaka fails to implement the standard argument log.p and VGAM::rnaka uses the non-standard arguments Smallno and ....

How to Contribute or Get Help

If you encounter a bug, have a feature request or need some help, open a Github issue.

This project follows a Contributor Code of Conduct.

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.