% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/entropy_trivar.R
\name{entropy_trivar}
\alias{entropy_trivar}
\title{Trivariate Entropy}
\usage{
entropy_trivar(dat)
}
\arguments{
\item{dat}{dataframe with rows as observations and columns as variables.
Variables must all be observed or transformed categorical with finite range spaces.}
}
\value{
Dataframe with the first three columns representing possible triples
of variables (\code{X}, \code{Y}, \code{Z}) and the fourth column giving
trivariate entropies \code{H(X,Y,Z)}.
}
\description{
Computes trivariate entropies of all triples of discrete
variables in a multivariate data set.
}
\details{
Trivariate entropies can be used to check for functional relationships
and stochastic independence between triples of variables.

The trivariate entropy \emph{H(X,Y,Z)} of three discrete random variables
\emph{X}, \emph{Y}, and \emph{Z} is bounded according to
\deqn{H(X,Y) <= H(X,Y,Z) <= H(X,Z) + H(Y,Z) - H(Z).}

The increment between the trivariate entropy and its lower bound is equal to
the expected conditional entropy.
}
\examples{
# use internal data set
data(lawdata)
df_att <- lawdata[[4]]

# data editing:
# 1. categorize variables 'years' and 'age' into approximately
# equally sized groups
# 2. recode selected variables so categories start at 0
att_var <- data.frame(
  status    = df_att$status - 1,
  gender    = df_att$gender,
  office    = df_att$office - 1,
  years     = ifelse(df_att$years <= 3, 0,
                ifelse(df_att$years <= 13, 1, 2)),
  age       = ifelse(df_att$age <= 35, 0,
                ifelse(df_att$age <= 45, 1, 2)),
  practice  = df_att$practice,
  lawschool = df_att$lawschool - 1
)

# calculate trivariate entropies
h_trivar <- entropy_trivar(att_var)
}
\references{
Frank, O., & Shafie, T. (2016). Multivariate entropy analysis of network data.
\emph{Bulletin of Sociological Methodology/Bulletin de Méthodologie Sociologique}, 129(1), 45-63.
}
\seealso{
\code{\link{entropy_bivar}}, \code{\link{prediction_power}}
}
\author{
Termeh Shafie
}
