% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/BFM.R
\name{BFM}
\alias{BFM}
\title{The BFM function is to generate Beta Factor Models data.}
\usage{
BFM(n, p, m, mub, phib, distribution_type)
}
\arguments{
\item{n}{Sample size.}

\item{p}{Sample dimensionality.}

\item{m}{Number of factors.}

\item{mub}{Mean parameter for Beta distribution (numeric vector or scalar, 0 < mub < 1).}

\item{phib}{Precision parameter for Beta distribution (positive numeric vector or scalar).}

\item{distribution_type}{Type of Beta distribution.}
}
\value{
A list containing:
\item{data}{Generated BFM data matrix (n rows, p columns).}
\item{A}{A matrix representing the factor loadings.}
\item{D}{Diagonal matrix of unique variances.}
\item{kmo}{Kaiser-Meyer-Olkin sampling adequacy measure.}
\item{bartlett}{Bartlett's test of sphericity.}
}
\description{
The function supports various distribution types for generating the data.
}
\examples{
n <- 1000
p <- 10
m <- 5
mub <- runif(p, 0.2, 0.8)
phib <- runif(p, 5, 30)
dist_type <- "Elliptical Distribution"
X <- BFM(n, p, m, mub, phib, dist_type)

}
