| Type: | Package | 
| Title: | Functions Based on Entropic Statistics | 
| Version: | 0.1.3 | 
| Depends: | R (≥ 4.1.0) | 
| Description: | Methods for data analysis from an entropic perspective. These methods are nonparametric and perform well on non-ordinal data. Currently includes 'HeatMap()' for visualizing distributional characteristics among multiple populations (groups). | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| Imports: | ggplot2, dplyr, tidyr, tibble, rlang | 
| Suggests: | testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| RoxygenNote: | 7.3.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-09-29 20:44:49 UTC; jz505 | 
| Author: | Jialin Zhang [aut, cph, cre] | 
| Maintainer: | Jialin Zhang <jzhang@math.msstate.edu> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-09-29 21:50:02 UTC | 
Heat Map for Distribution Visualization
Description
Return a heat map that displays distributional characteristics for selected groups.
Usage
HeatMap(
  data_frequency_list,
  orders = seq(0.5, 3, by = 0.01),
  selection = 1:length(data_frequency_list),
  plot_order = selection,
  RowNames = names(data_frequency_list)[plot_order],
  title = "HeatMap",
  x_ticks = round(stats::quantile(orders, c(0, 0.25, 0.5, 0.75, 1)), 2),
  plot_margin = ggplot2::margin(0.5, 0.2, 0.2, 1, "cm"),
  text_face = 1,
  fill_colors = c("blue4", "white", "red3"),
  title_text_size = 25,
  label_text_size = 25
)
Arguments
| data_frequency_list | A  | 
| orders | Numeric vector of generalized Shannon entropy orders to evaluate. | 
| selection | Integer indices selecting which elements of  | 
| plot_order | Integer indices giving the order (bottom to top) of the selected groups. | 
| RowNames | Character vector of row labels for the selected groups
(default:  | 
| title | Character string, plot title. | 
| x_ticks | Numeric vector of x-axis tick locations; values must be present in  | 
| plot_margin | Plot margin, a  | 
| text_face | Integer font face in the plot:  | 
| fill_colors | Character vector of three colors for low, mid, and high values. | 
| title_text_size | Numeric size of the title text. | 
| label_text_size | Numeric size of axis text. | 
Details
Provides a quick, nonparametric view of distributional differences across multiple groups simultaneously, using generalized Shannon entropy over a range of orders. Input vectors should be nonnegative counts. Zero-probability categories are handled internally.
Value
A ggplot object representing the heat map.
References
Zhang, J. and Shi, J. (2024). Nonparametric clustering of discrete probability distributions with generalized Shannon's entropy and heatmap. Statistics & Probability Letters. doi:10.1016/j.spl.2024.110070
See Also
Examples
set.seed(1)
binom_n <- 10
sample_size <- 400
sample_1 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.1))
sample_2 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.2))
sample_3 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.3))
sample_4 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.4))
sample_5 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.5))
sample_6 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.6))
sample_7 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.7))
sample_8 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.8))
sample_9 <- table(stats::rbinom(n = sample_size, size = binom_n, prob = 0.9))
poisson_1 <- table(stats::rpois(n = sample_size, lambda = 1))
poisson_2 <- table(stats::rpois(n = sample_size, lambda = 2))
poisson_3 <- table(stats::rpois(n = sample_size, lambda = 3))
poisson_4 <- table(stats::rpois(n = sample_size, lambda = 4))
poisson_5 <- table(stats::rpois(n = sample_size, lambda = 5))
poisson_6 <- table(stats::rpois(n = sample_size, lambda = 6))
poisson_7 <- table(stats::rpois(n = sample_size, lambda = 7))
poisson_8 <- table(stats::rpois(n = sample_size, lambda = 8))
poisson_9 <- table(stats::rpois(n = sample_size, lambda = 9))
data_samples <- list(
  binom_0.1 = sample_1, binom_0.2 = sample_2, binom_0.3 = sample_3,
  binom_0.4 = sample_4, binom_0.5 = sample_5, binom_0.6 = sample_6,
  binom_0.7 = sample_7, binom_0.8 = sample_8, binom_0.9 = sample_9,
  Poisson_1 = poisson_1, Poisson_2 = poisson_2, Poisson_3 = poisson_3,
  Poisson_4 = poisson_4, Poisson_5 = poisson_5, Poisson_6 = poisson_6,
  Poisson_7 = poisson_7, Poisson_8 = poisson_8, Poisson_9 = poisson_9
)
HeatMap(data_samples)
HeatMap(data_samples, selection = sample(seq_along(data_samples), 6))
HeatMap(data_samples, selection = 1:9)
HeatMap(data_samples, selection = 10:13)
HeatMap(data_samples, selection = 14:18)