% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ComputePermutation.R
\name{MImat2vecPermu}
\alias{MImat2vecPermu}
\title{Permuted Normalized Mutual Information Between Matrix and Vector}
\usage{
MImat2vecPermu(
  mat,
  vec,
  bin = NULL,
  sp_order = NULL,
  bulkIdx = 0,
  permutationTimes = 1000,
  seedNum = 99999999
)
}
\arguments{
\item{mat}{A numeric matrix. For example, each row represents a gene and each column represents a sample.}

\item{vec}{A numeric vector, with length equal to the number of columns in `mat`.}

\item{bin}{An integer specifying the number of bins. Default is NULL.}

\item{sp_order}{An integer specifying the spline order. Must be less than `bin`. Default is NULL.}

\item{bulkIdx}{Index to divide the task when processing many permutations. Default is 0.}

\item{permutationTimes}{Number of permutations for sampling. Default is 1000.}

\item{seedNum}{Seed for random number generation. Default is 99999999.}
}
\value{
A numeric vector of normalized mutual information (MI) values for each permutation.
}
\description{
Computes the mutual information (MI) between a random vector sampled from a matrix and a vector,
normalized by the mutual information of the vector with itself. The sampling is done multiple times to generate a distribution.
}
\examples{
mat <- matrix(rnorm(10000), nrow = 100, ncol = 100)
vec <- rnorm(100)
MImat2vecPermu(mat, vec)

}
