# ANOVA.TFNs-package: One-Way Analysis of Variance Based on Triangular Fuzzy... In ANOVA.TFNs: One-Way Analysis of Variance Based on Triangular Fuzzy Numbers

## Description

Long formulas and complex computations are two major disadvantages of the extended ANOVA approaches for fuzzy data. The applied users/practitioners of fuzzy ANOVA can overcome to these challenges/disadvantages, by using package `ANOVA.TFNs` when the observed data for ANOVA test are triangular fuzzy numbers. The most important functions in package `ANOVA.TFNs` is `FANOVA`. Using `FANOVA` is easy since after import fuzzy observation (with format `FANOVA.Data`), the `FANOVA` function easily export: (1) draw separately the membership functions of TFNs for each population in one figure, (2) FANOVA Table (which include details of fuzzy ANOVA based on Triangular fuzzy data, (3) the observed value of the FANOVA test statistics, (4) the p-value of FANOVA test, and (5) FANOVA test result at the considered significance level.

## Details

The inputted data for FANOVA test must be in a special format which we named it `FANOVA.Data` format and some of inputted parameters in several functions of this package (such as `means.vec`, `FANOVA`, `plotTFNs`, `crisp.Data`, `f.fuzzy` and ...) must be in `FANOVA.Data` format. In fact, the `FANOVA.Data` is a matrix with dim=c(n,4) which can be created/simulated by following two steps:

Step 1 (saving/creating TFNs of i-th population in a matrix with dim=c(n_i,3)): Save Triangular Fuzzy Numbers (TFNs) for FANOVA test in length(n) matrix and input each TFN in one row of them such that: 1st column is for Cores of TFNs (with `col.name="C"`), 2nd column is for Left spreads of TFNs (with `col.name="L"`), and 3nd column is for Right spreads of TFNs (with `col.name="R"`).

Step 2 (Combine all population data in a matrix with dim=c(n,4)): Put The created matrixes in Step 1, top of each other to create a matrix with dim=c(n,4) such that: n=sum(n_i), its 1st column is the Core of TFNs (with `col.name="C"`), its 2nd and 3nd columns are the Left and Right spreads of TFNs (with `col.name="L"` and `col.name="R"`) respectively, and its 4nd column is the factor which shows the population number for each row (with `col.name="factor"`).

See Example 1 in bellow.

Abbas Parchami

## References

Gagolewski, M., Caha, J. (2015) FuzzyNumbers Package: Tools to deal with fuzzy numbers in R. R package version 0.4-1, https://cran.r-project.org/web/packages=FuzzyNumbers

A. Parchami, M.R. Nourbakhsh, M. Mashinchi (2017) Analysis of Variance in Uncertain Environments, Complex & Intelligent Systems, Volume 3, Number 3, 189-196, DOI: 10.1007/s40747-017-0046-8

A. Parchami, M. Mashinchi, C. Kahraman (2018) An Implication of Fuzzy ANOVA in Vehicle Battery Manufacturing, Journal of Enterprise Information Management, Preprint.

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ```## Example 1 (input TFNs in \code{FANOVA.Data} format) data(Data) head(Data) Data[,"R"] Data[,"C"][Data[,"factor"]==2] # Or Data[,"C"][Data[,4]==2] ## Example 2: FANOVA( Data, m=2, sig.level=0.1 ) ## Example 3: t <- 20 f <-p <- c() for(i in 1:t){ f[i] <- FANOVA(Data, m=i, fig=FALSE)\$f_ob p[i] <- FANOVA(Data, m=i, fig=FALSE)\$p_value } par(mfcol=c(2,1)) plot(1:t, f, main="FANOVA test statistics (f) v.s m (1:20)") plot(1:t, p, main="p-value v.s m (1:20)") par(mfcol=c(1,1)) ```