FactoMineR MFA for fuzzy-coded trait proportions: use "s" or "f"?

8 views
Skip to first unread message

Birte Leutelt

unread,
Jun 4, 2026, 7:38:53 AM (5 days ago) Jun 4
to FactoMineR users

Hello,

I am conducting a Multiple Factor Analysis (MFA) on functional trait composition data and I am unsure about the most appropriate variable type to specify in FactoMineR.

My dataset consists of samples (rows) and functional trait modalities (columns). The trait information originates from fuzzy-coded traits, where species can have affinities to multiple modalities within a trait. These species-level trait affinities were combined with species abundances (cover percentages) to calculate community-weighted trait proportions for each sample.

For each trait, there are several modalities, and the values represent community-weighted proportions ranging from 0 to 1. Within each trait group, the modality values always sum to 1.

For example, a trait such as "feeding mode" may contain the modalities:

  • Suspension feeder = 0.40

  • Deposit feeder = 0.30

  • Predator = 0.20

  • Parasite = 0.10

which sum to 1 for each sample. The same structure applies to all trait groups.

I would like to use MFA because the modalities are naturally grouped into traits (feeding mode, mobility, life habit, larval development, etc.), and I want each trait group to contribute equally to the analysis.

My questions are:

  1. Is MFA an appropriate method for this type of fuzzy-coded, compositional trait data?

  2. Since the variables within each trait group are constrained to sum to 1, should these groups be specified as:

    • "s" (scaled quantitative variables),

    • "f" (frequencies),

    • or another data type in FactoMineR?

  3. Are there any specific transformations or compositional data approaches that should be applied before performing MFA?

Any advice, methodological recommendations, or references would be greatly appreciated.

Best, Birte

Franck TORRE

unread,
Jun 5, 2026, 2:25:46 AM (5 days ago) Jun 5
to FactoMineR users

Hello Birte,

I am a daily user of FactoMineR.

For fuzzy multiple analyses (either principal component analysis or correspondence analysis), I usually rely on the ade4 package:

library(ade4)

prep.fuzzy.var(df, col.blocks, row.w = rep(1, nrow(df))) # description of the column structure

dudi.fca(df, scannf = TRUE, nf = 2) # fuzzy correspondence analysis

# alternatively:
dudi.fpca(df, scannf = TRUE, nf = 2) # fuzzy principal component analysis

I would suggest comparing the results obtained with ade4 (as a reference implementation) and then trying to reproduce or match them in FactoMineR.

The outcome of such a comparison would be very helpful to me, and I believe it could also benefit other users interested in fuzzy data analysis.

Best regards,

Fr.

Reply all
Reply to author
Forward
0 new messages