Learn R Programming

dlookr (version 0.5.0)

kld: Kullback-Leibler Divergence

Description

Computes the Kullback-Leibler divergence between two probability distributions.

Usage

kld(p, q, base = c("log", "log2", "log10"), margin = FALSE)

Arguments

p

numeric. probability distributions.

q

numeric. probability distributions.

base

character. log bases. "log", "log2", "log10". default is "log"

margin

logical. Choose whether to return individual values or totals. The default value is FALSE, which returns individual values.

Value

numeric. Kullback-Leibler divergence of probability distributions p and q.

See Also

jsd.

Examples

Run this code
# NOT RUN {
# Sample data for probability distributions p.
event <- c(115, 76, 61, 39, 55, 10, 1)
no_event <- c(3, 3, 7, 10, 28, 44, 117)

p <- event / sum(event)
q <- no_event / sum(no_event)

kld(p, q)
kld(p, q, base = "log2")
kld(p, q, margin = TRUE)

# }

Run the code above in your browser using DataLab