Version 0.6.0
New Features
distance()
and all other individual information theory functions
receive a new argument epsilon
with default value epsilon = 0.00001
to treat cases where in individual distance or similarity computations
yield x / 0
or 0 / 0
. Instead of a hard coded epsilon, users can now set epsilon
according to their input vectors. (Many thanks to Joshua McNeill #26 for this great question).
- three new functions
dist_one_one()
, dist_one_many()
, dist_many_many()
are added. They are fairly flexible intermediaries between distance()
and single distance functions. dist_one_one()
expects two vectors (probability density functions) and returns a single value. dist_one_many()
expects one vector (a probability density function) and one matrix (a set of probability density functions), and returns a vector of values. dist_many_many()
expects two matrices (two sets of probability density functions), and returns a matrix of values. (Many thanks to
Jakub Nowosad, see #27, #28, and New Vignette Many_Distance)
Updates
- a new Vignette Comparing many probability density functions (Many thanks to
Jakub Nowosad)
dplyr
package dependency was removed and replaced by the poorman
due to the heavy dependency burden of dplyr
, since philentropy
only used dplyr::between()
which is now poorman::between()
(Many thanks to Patrice Kiener for this suggestion)
distance(..., as.dist.obj = TRUE)
now returns the same values as stats::dist()
when working with 2 dimensional input matrices (2 vector inputs) (see #29) (Many thanks to
Jakub Nowosad (@Nowosad))
Example:
library(philentropy)
m1 = matrix(c(1, 2), ncol = 1)
dist(m1)
#> 1
#> 2 1
distance(m1, as.dist.obj = TRUE)
#> Metric: 'euclidean'; comparing: 2 vectors.
#> 1
#> 2 1