# ENFA specialization values

2 messages
Open this post in threaded view
|

## ENFA specialization values

 Hello, I am running an ENFA analysis and am having trouble interpreting the specialization values. Do the specialization values correspond to each ecogeographical variable? If so they don't make sense in terms of what I am seeing for the marginality values, i.e. marginality value for water is high and displays a long arrow on the biplot. Therefore, I would think that the specialization value for water would be high, but if the vector of specialization values corresponds to each ecogeographical variable then this is not the case. Am I missing a line of code? An explanation of how to interpret the specialization values from the code and output below would be much appreciated. slot(maps,"data")[,1:9] <- sqrt(slot(maps,"data")[,1:9]) hist(maps, type = "l") ## Prepare the data for the ENFA tab <- slot(maps, "data") pr <- slot(count.points(pipl, maps), "data")[,1] ## Perform the PCA before the ENFA pc <- dudi.pca(tab, scannf = FALSE) pc (enfa1 <- enfa(pc, pr,scannf = FALSE)) enfa1\$s #gives specialization values enfa1\$mar#gives marginality values ##OUTPUT## > (enfa1 <- enfa(pc, pr,scannf = FALSE)) ENFA \$call: enfa(dudi = pc, pr = pr, scannf = FALSE) marginality: 1.731 eigen values of specialization: 6.61 2.583 1.924 1.49 1.153 ... \$nf: 1 axis of specialization saved   vector length mode    content 1 \$pr    385923 numeric vector of presence 2 \$lw    385923 numeric row weights 3 \$cw    10     numeric column weights 4 \$mar   10     numeric coordinates of the marginality vector 5 \$s     9      numeric eigen values of specialization   data.frame nrow   ncol content 1 \$tab       385923 10   modified array 2 \$li        385923 2    row coordinates 3 \$co        10     2    column coordinates > enfa1\$s  #gives specialization values [1] 6.6101077 2.5830759 1.9242150 1.4895781 1.1533000 1.0651184 0.8456433 0.7114272 0.4710257 > enfa1\$mar #gives marginality values            Annual         Perennial         Grassland         Deciduous        Coniferous        0.38442513        0.33468805        0.62931566       -0.31320996       -0.55314134             Mixed             Water           Wetland             Shrub Distance_to_Roads       -0.53532160        0.55172030       -0.25751795        0.02533396       -0.11602451 Thank you ~Ruth         [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list [hidden email] https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Open this post in threaded view
|

## Re: ENFA specialization values

 Hi Ruth, I had some experience with ENFA 5 years ago. Based on what I wrote back then, I didn’t interpret the specialization values as is, but instead they were aggregated into the overall (global) specialization index and then converted into the tolerance value by simply inverted it (x becomes 1/x). However, the absolute values are the ones that matter in interpreting the specialization coefficient of each EGV: “the higher the absolute value, the more restricted is the range of the focal species on the corresponding variable” Hirzel’s original paper (2002) page 2031 right below the equation (10). Hope this helps a bit. Adrian From: [hidden email]Sent: Monday, March 23, 2020 8:36 AMTo: [hidden email]Subject: [R-sig-Geo] ENFA specialization values Hello, I am running an ENFA analysis and am having trouble interpreting the specialization values. Do the specialization values correspond to each ecogeographical variable? If so they don't make sense in terms of what I am seeing for the marginality values, i.e. marginality value for water is high and displays a long arrow on the biplot. Therefore, I would think that the specialization value for water would be high, but if the vector of specialization values corresponds to each ecogeographical variable then this is not the case. Am I missing a line of code? An explanation of how to interpret the specialization values from the code and output below would be much appreciated.  slot(maps,"data")[,1:9] <- sqrt(slot(maps,"data")[,1:9])hist(maps, type = "l") ## Prepare the data for the ENFAtab <- slot(maps, "data")pr <- slot(count.points(pipl, maps), "data")[,1]  ## Perform the PCA before the ENFApc <- dudi.pca(tab, scannf = FALSE)pc (enfa1 <- enfa(pc, pr,scannf = FALSE)) enfa1\$s #gives specialization valuesenfa1\$mar#gives marginality values ##OUTPUT## > (enfa1 <- enfa(pc, pr,scannf = FALSE))ENFA\$call: enfa(dudi = pc, pr = pr, scannf = FALSE) marginality: 1.731eigen values of specialization: 6.61 2.583 1.924 1.49 1.153 ...\$nf: 1 axis of specialization saved   vector length mode    content1 \$pr    385923 numeric vector of presence2 \$lw    385923 numeric row weights3 \$cw    10     numeric column weights4 \$mar   10     numeric coordinates of the marginality vector5 \$s     9      numeric eigen values of specialization   data.frame nrow   ncol content1 \$tab       385923 10   modified array2 \$li        385923 2    row coordinates3 \$co        10     2    column coordinates > enfa1\$s  #gives specialization values[1] 6.6101077 2.5830759 1.9242150 1.4895781 1.1533000 1.0651184 0.8456433 0.7114272 0.4710257 > enfa1\$mar #gives marginality values           Annual         Perennial         Grassland         Deciduous        Coniferous       0.38442513        0.33468805        0.62931566       -0.31320996       -0.55314134            Mixed             Water           Wetland             Shrub Distance_to_Roads      -0.53532160        0.55172030       -0.25751795        0.02533396       -0.11602451 Thank you~Ruth                        [[alternative HTML version deleted]] _______________________________________________R-sig-Geo mailing list[hidden email]https://stat.ethz.ch/mailman/listinfo/r-sig-geo  _______________________________________________ R-sig-Geo mailing list [hidden email] https://stat.ethz.ch/mailman/listinfo/r-sig-geo