Releases: drostlab/philentropy
Releases · drostlab/philentropy
v0.8.0
Version 0.8.0
Updates
Fixing warning on Debian systems:
Result: WARN
Found the following significant warnings:
RcppExports.cpp:865:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
RcppExports.cpp:899:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
RcppExports.cpp:933:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
RcppExports.cpp:967:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
See ‘/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/philentropy.Rcheck/00install.out’ for details.
* used C++ compiler: ‘Debian clang version 17.0.5 (1)’
- The solution was to implement this quick fix by reinstalling
Rcpp v1.0.11.6
viadevtools::install_github("https://github.com/RcppCore/Rcpp")
and rerunRcpp::compileAttributes()
.
v0.7.0
Updates
- the Distances vignette now has a fixed documentation for the benchmarking of low-level distance functions. Many thanks to (@Nowosad) #30
- in ../src/correlation.h adjustment of use of logical operators rather than Wbitwise (| -> or) which otherwises raises warnings in clang14
- vector element limit is now extended to long vectors for all distance measures by declaring R_xlen_t instead of int during indexing.
Update Release
Version 0.6.0
New Features
distance()
and all other individual information theory functions
receive a new argumentepsilon
with default valueepsilon = 0.00001
to treat cases where in individual distance or similarity computations
yieldx / 0
or0 / 0
. Instead of a hard coded epsilon, users can now setepsilon
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 betweendistance()
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 thepoorman
due to the heavy dependency burden ofdplyr
, sincephilentropy
only useddplyr::between()
which is nowpoorman::between()
(Many thanks to Patrice Kiener for this suggestion)distance(..., as.dist.obj = TRUE)
now returns the same values asstats::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