Synoptic tables are a tool for the visualization and interpretation of previously defined plant species groups (clusters), e.g. from cluster analysis, classification methods or pre-defined categories, e.g. spatial distribution units. They help to determine characteristic patterning of species occurrences in plant communities by calculating cluster-wise percentage or absolute frequencies, mean/median cover values, fidelity (phi) or differential species character.

syntable function calculates an unordered synoptic table for plant community analysis, using an input species-sample data frame and a vector of cluster identity input. The unordered output table can be sorted automatically with synsort function in this package.

syntable(matrix, cluster, abund = "percentage", type = "percfreq", digits = 0)

Arguments

matrix

Species matrix or data frame with species in columns and samples in rows. Missing values (NA) will be transformed to 0. If non-numeric abundance values are present, the matrix will be transformed to presence/absence with all non-zero values defined as 1. Species and sample names must be defined as column- and row names, respectively.

cluster

Integer or character vector/factor with classification cluster identity. Ensure matching order of cluster identity and samples in matrix for correct allocation of cluster numbers to samples.

abund

Type of abundances. Define whether input species matrix or data frame is percentage cover (abund = "percentage", default) or presence/absence data (abund = "pa", with values 0/1). You may use function cov2per to transform cover-abundance values from different scales into percentage cover.

type

Type of synoptic table output type = c("percfreq", "totalfreq", "mean", "median", "diffspec", "phi"). See Details.

digits

Integer indicating the number of decimal places to be displayed in result tables (default 0)

Value

The function returns an (invisible) list of result components.

$syntable

unordered synoptic table for given species and clusters

$samplesize

total number of samples per cluster

Additionally for differential species character calculation:

$onlydiff

Synoptic table only with differential species

$others

List of non-differential species

$differentials

Lists differential species for each cluster

Details

For synoptic table calculation, six types are available.

  • type = "percfreq" Creates a percentage frequency table (default)

  • type = "totalfreq" Creates an absolute frequency table

  • type = "mean" Calculates mean of species values given in matrix per cluster

  • type = "median" Calculates median of species values given in matrix per cluster

  • type = "diffspec" Calculates differential character of species according to Tsiripidis et al. 2009, with resulting character p = positive, n = negative, pn = positive- negative or no differential character (-). Consider that differential character is always restricted to some and not necessarily all of the other units, thus considering percentage frequency is essential for correct interpretation of the diagnostic species character. This calculation needs at least three groups.

  • type = "phi" Calculates fidelity measure phi (algorithm basing on Sokal & Rohlf 1995, Bruelheide 2000). Values are ranging between -1 and 1 with high values near 1 indicating high fidelity.

For sorting the output synoptic table, use synsort function, providing several options.

References

Bruelheide, H. (2000): A new measure of fidelity and its application to defining species groups. Journal of Vegetation Science 11: 167-178. doi:10.2307/3236796

Chytry, M., Tichy, L., Holt, J., Botta-Dukat, Z. (2002): Determination of diagnostic species with statistical fidelity measures. Journal of Vegetation Science 13: 79-90. doi:10.1111/j.1654-1103.2002.tb02025.x

Sokal, R.R. & Rohlf, F.J. (1995): Biometry. 3rd edition Freemann, New York.

Tsiripidis, I., Bergmeier, E., Fotiadis, G. & Dimopoulos, P. (2009): A new algorithm for the determination of differential taxa. Journal of Vegetation Science 20: 233-240. doi:10.1111/j.1654-1103.2009.05273.x

See also

Author

Jenny Schellenberg (jschell@gwdg.de) and Friedemann von Lampe

Examples

## Synoptic table of Scheden vegetation data
library(cluster)
pam1 <- pam(schedenveg, 4)  # PAM clustering with 4 clusters output

## 1) Unordered synoptic percentage frequency table
percfreq <- syntable(schedenveg, pam1$clustering, abund = "percentage",
                         type = "percfreq")
                         percfreq                   # view results
#> $syntable
#>           1   2   3   4
#> AceCamp   0  10   0   0
#> AchMill   0  30  55  25
#> AgrEupa   0   0  36   0
#> AjuGene   0   0   9   0
#> AjuRept   0   0   0  25
#> AllVine   0  20   0  25
#> AloPrat  67  50   0   0
#> AntDioi   0   0   9   0
#> AntOdor  33  60   9  50
#> AntSylv   0  20   0   0
#> AntVuln   0   0  18   0
#> AraThal   0   0   0  25
#> AreSerp   0   0   9   0
#> ArrElat  67 100  55  75
#> AstGlyc   0   0   9   0
#> BelPere   0  20   0   0
#> BetPend   0   0   9   0
#> BriMedi   0  20  82   0
#> BroErec  33 100 100  75
#> BroHord  67  20   9  25
#> BroSter   0  10   0  25
#> CalSepi   0  10   0   0
#> CamGlom   0  10   0   0
#> CarPrat  33   0   0  25
#> CarCary   0  10  45   0
#> CarFlac   0  10  73   0
#> CarBetu   0  10  18   0
#> CenJace   0  10  36   0
#> CenScab   0   0  27   0
#> CenEryt   0   0   9   0
#> CerArve   0   0   0  25
#> CerGlom  33  30  18  50
#> CerHolo  33  80   9  75
#> CirAcau   0  10  55   0
#> CirArve  33   0   0   0
#> CirVulg  33   0   0  25
#> ConArve   0  40  18  25
#> CorSang   0  10  18   0
#> CorAvel   0  10   0   0
#> CraLaev   0  20  27   0
#> CraMono   0   0   9   0
#> CraSpec   0   0  27   0
#> CreBien   0  40  27  50
#> CynCris  33  30   9  25
#> DacGlom 100 100  64 100
#> DauCaro  67  20  36  25
#> EupCypa   0   0  27   0
#> EupSpec   0   0   9   0
#> FesOvin   0  10  36   0
#> FesPrat 100  60  27  75
#> FesRubr  67  70  27 100
#> FraVesc   0   0   0  25
#> FraViri   0  10  55   0
#> FraExce   0  10   0   0
#> GalAlbu 100  90  64 100
#> GalPumi   0   0   9   0
#> GalVeru   0   0  45   0
#> GenTinc   0  10  27   0
#> GerDiss   0  20   0   0
#> GerMoll   0  10   0   0
#> GeuUrba   0   0   0  25
#> GleHede  67  30  27   0
#> GymCono   0   0  18   0
#> HelNumm   0   0   9   0
#> HelPube  67  40  27  50
#> HerSpho   0  20  27   0
#> HieMuro   0   0  18   0
#> HipComo   0   0  55   0
#> HolLana 100  70  36  75
#> HypMacu   0   0   9   0
#> HypPerf   0   0  45  75
#> JunComm   0   0   9   0
#> KnaArve  33  70  73  50
#> KoePyra   0   0  18   0
#> LatPrat  33  40  18  50
#> LeoAutu   0   0   9   0
#> LeoHisp   0   0  27   0
#> LeuIrcu  33  40  73  50
#> LinCath   0   0  36  25
#> LisOvat   0   0  18   0
#> LolPere  67  80  27   0
#> LotCorn   0  30  55  50
#> LuzCamp   0  40  45  25
#> LuzMult   0   0   0  25
#> LysNumm   0   0   9   0
#> MedFalc   0   0   9   0
#> MedLupu  33  50  73  25
#> MyoArve  33  20   0  50
#> OnoVici   0   0   9   0
#> OnoRepe   0  10  27   0
#> OphInse   0   0   9   0
#> OrcMasc   0   0   9   0
#> PhlPrat  67  10   9   0
#> PilOffi   0  10  36   0
#> PimMajo   0  10   0  50
#> PimSaxi   0  50  55  50
#> PinSpec   0   0   9   0
#> PlaLaet   0   0   9   0
#> PlaLanc  67 100 100 100
#> PlaMajo   0  10   9   0
#> PlaMedi   0   0  55  25
#> PoaAngu   0  50  18  25
#> PoaPrat  33  90  64  75
#> PoaTriv 100  70  18  75
#> PolComo   0   0  45   0
#> PotAnse   0   0   9   0
#> PotRept   0  10   0   0
#> PotVern   0   0  36   0
#> PriVeri   0  60  73  75
#> PruGran   0   0   9   0
#> PruAviu   0  20  55   0
#> PruSpin   0   0  45   0
#> QueRobu   0  30  27   0
#> QueSpec   0   0  18   0
#> RanAcri  67  30  27  75
#> RanBulb  33  80 100  25
#> RanRepe  33  10   0   0
#> RanSpec   0  10   0   0
#> RhiMino  33  40  27  25
#> RosCani   0   0   9   0
#> RosSpec   0  30  18  25
#> RubFrut   0   0   0  25
#> RubIdae   0   0   9   0
#> RumAcet  33  90  36 100
#> RumObtu   0   0   9   0
#> SalPrat   0  10  27   0
#> SanMino   0  20  91  50
#> ScaColu   0   0  27   0
#> SedSexa   0   0   9   0
#> SenJaco   0  10  36   0
#> SilNuta   0  10  18   0
#> SilPusi   0   0   9   0
#> SteGram   0  10   0   0
#> TarEryt   0  10   0   0
#> TarRude  67  70  55  75
#> ThlPerf   0   0   9  25
#> ThyPule   0   0  27   0
#> TraPrat   0  40  27  25
#> TriCamp   0   0   9   0
#> TriDubi   0  50  36  50
#> TriPrat  67  70  64  75
#> TriRepe  67  50  27  50
#> TriFlav 100 100  82  75
#> UrtDioi   0   0   0  25
#> ValCari   0   0   0  25
#> ValLocu   0  20   9  25
#> VerArve  33  30  18  25
#> VerCham  67  40  36 100
#> VerHede  33   0   0   0
#> VerTeuc   0   0  27   0
#> VibOpul   0   0   9   0
#> VicAngu   0  40  45  50
#> VicCrac   0  20  18   0
#> VicSepi   0  20  18  50
#> VioHirt   0  20  55  50
#> 
#> $samplesize
#>  1  2  3  4 
#>  3 10 11  4 
#> 

## 2) Differential species analysis
differential <- syntable(schedenveg, pam1$clustering, abund = "percentage",
                             type = "diffspec")
#> 
  |                                                                            
  |===                                                                   |   5%
  |                                                                            
  |======                                                                |   9%
  |                                                                            
  |==========                                                            |  14%
  |                                                                            
  |=============                                                         |  18%
  |                                                                            
  |================                                                      |  23%
  |                                                                            
  |===================                                                   |  27%
  |                                                                            
  |======================                                                |  32%
  |                                                                            
  |=========================                                             |  36%
  |                                                                            
  |=============================                                         |  41%
  |                                                                            
  |================================                                      |  45%
  |                                                                            
  |===================================                                   |  50%
  |                                                                            
  |======================================                                |  55%
  |                                                                            
  |=========================================                             |  59%
  |                                                                            
  |=============================================                         |  64%
  |                                                                            
  |================================================                      |  68%
  |                                                                            
  |===================================================                   |  73%
  |                                                                            
  |======================================================                |  77%
  |                                                                            
  |=========================================================             |  82%
  |                                                                            
  |============================================================          |  86%
  |                                                                            
  |================================================================      |  91%
  |                                                                            
  |===================================================================   |  95%
  |                                                                            
  |======================================================================| 100%
# show complete table with differential character of species
differential$syntable
#>         1  2 3 4
#> AceCamp -  - - -
#> AchMill n  p p p
#> AgrEupa n  n p n
#> AjuGene -  - - -
#> AjuRept n  n n p
#> AllVine n  p n p
#> AloPrat p  p n n
#> AntDioi -  - - -
#> AntOdor -  p n p
#> AntSylv n  p n n
#> AntVuln -  - - -
#> AraThal n  n n p
#> AreSerp -  - - -
#> ArrElat -  - - -
#> AstGlyc -  - - -
#> BelPere n  p n n
#> BetPend -  - - -
#> BriMedi n pn p n
#> BroErec n  p p -
#> BroHord p  n n -
#> BroSter n  - n p
#> CalSepi -  - - -
#> CamGlom -  - - -
#> CarPrat p  n n p
#> CarCary n  n p n
#> CarFlac n  n p n
#> CarBetu -  - - -
#> CenJace n  - p n
#> CenScab n  n p n
#> CenEryt -  - - -
#> CerArve n  n n p
#> CerGlom -  - - -
#> CerHolo -  p n p
#> CirAcau n  n p n
#> CirArve p  n n n
#> CirVulg p  n n p
#> ConArve n  p - p
#> CorSang -  - - -
#> CorAvel -  - - -
#> CraLaev n  p p n
#> CraMono -  - - -
#> CraSpec n  n p n
#> CreBien n  p p p
#> CynCris -  - - -
#> DacGlom -  - - -
#> DauCaro p  n - -
#> EupCypa n  n p n
#> EupSpec -  - - -
#> FesOvin n  - p n
#> FesPrat p  - n p
#> FesRubr -  - n p
#> FraVesc n  n n p
#> FraViri n  n p n
#> FraExce -  - - -
#> GalAlbu -  - - -
#> GalPumi -  - - -
#> GalVeru n  n p n
#> GenTinc n  - p n
#> GerDiss n  p n n
#> GerMoll -  - - -
#> GeuUrba n  n n p
#> GleHede p  p p n
#> GymCono -  - - -
#> HelNumm -  - - -
#> HelPube -  - - -
#> HerSpho n  p p n
#> HieMuro -  - - -
#> HipComo n  n p n
#> HolLana p  - n -
#> HypMacu -  - - -
#> HypPerf n  n p p
#> JunComm -  - - -
#> KnaArve -  - - -
#> KoePyra -  - - -
#> LatPrat -  - - -
#> LeoAutu -  - - -
#> LeoHisp n  n p n
#> LeuIrcu -  - - -
#> LinCath n  n p p
#> LisOvat -  - - -
#> LolPere p  p p n
#> LotCorn n  p p p
#> LuzCamp n  p p p
#> LuzMult n  n n p
#> LysNumm -  - - -
#> MedFalc -  - - -
#> MedLupu -  - p n
#> MyoArve p  p n p
#> OnoVici -  - - -
#> OnoRepe n  - p n
#> OphInse -  - - -
#> OrcMasc -  - - -
#> PhlPrat p  n n n
#> PilOffi n  - p n
#> PimMajo n  n n p
#> PimSaxi n  p p p
#> PinSpec -  - - -
#> PlaLaet -  - - -
#> PlaLanc -  - - -
#> PlaMajo -  - - -
#> PlaMedi n  n p p
#> PoaAngu n  p - p
#> PoaPrat n  p - -
#> PoaTriv p  p n p
#> PolComo n  n p n
#> PotAnse -  - - -
#> PotRept -  - - -
#> PotVern n  n p n
#> PriVeri n  p p p
#> PruGran -  - - -
#> PruAviu n  p p n
#> PruSpin n  n p n
#> QueRobu n  p p n
#> QueSpec -  - - -
#> RanAcri -  - n p
#> RanBulb n  p p n
#> RanRepe p  - n n
#> RanSpec -  - - -
#> RhiMino -  - - -
#> RosCani -  - - -
#> RosSpec n  p - p
#> RubFrut n  n n p
#> RubIdae -  - - -
#> RumAcet n  p n p
#> RumObtu -  - - -
#> SalPrat n  - p n
#> SanMino n pn p p
#> ScaColu n  n p n
#> SedSexa -  - - -
#> SenJaco n  - p n
#> SilNuta -  - - -
#> SilPusi -  - - -
#> SteGram -  - - -
#> TarEryt -  - - -
#> TarRude -  - - -
#> ThlPerf n  n - p
#> ThyPule n  n p n
#> TraPrat n  p p p
#> TriCamp -  - - -
#> TriDubi n  p p p
#> TriPrat -  - - -
#> TriRepe -  - - -
#> TriFlav -  - - -
#> UrtDioi n  n n p
#> ValCari n  n n p
#> ValLocu n  p - p
#> VerArve -  - - -
#> VerCham -  n n p
#> VerHede p  n n n
#> VerTeuc n  n p n
#> VibOpul -  - - -
#> VicAngu n  p p p
#> VicCrac n  p - n
#> VicSepi n  p - p
#> VioHirt n  p p p
# list differential species for second cluster
differential$differentials[2]
#> $`2`
#> $`2`$`positive diff`
#>  [1] "AchMill" "AllVine" "AloPrat" "AntOdor" "AntSylv" "BelPere" "BroErec"
#>  [8] "CerHolo" "ConArve" "CraLaev" "CreBien" "GerDiss" "GleHede" "HerSpho"
#> [15] "LolPere" "LotCorn" "LuzCamp" "MyoArve" "PimSaxi" "PoaAngu" "PoaPrat"
#> [22] "PoaTriv" "PriVeri" "PruAviu" "QueRobu" "RanBulb" "RosSpec" "RumAcet"
#> [29] "TraPrat" "TriDubi" "ValLocu" "VicAngu" "VicCrac" "VicSepi" "VioHirt"
#> 
#> $`2`$`negative diff`
#>  [1] "AgrEupa" "AjuRept" "AraThal" "BroHord" "CarPrat" "CarCary" "CarFlac"
#>  [8] "CenScab" "CerArve" "CirAcau" "CirArve" "CirVulg" "CraSpec" "DauCaro"
#> [15] "EupCypa" "FraVesc" "FraViri" "GalVeru" "GeuUrba" "HipComo" "HypPerf"
#> [22] "LeoHisp" "LinCath" "LuzMult" "PhlPrat" "PimMajo" "PlaMedi" "PolComo"
#> [29] "PotVern" "PruSpin" "RubFrut" "ScaColu" "ThlPerf" "ThyPule" "UrtDioi"
#> [36] "ValCari" "VerCham" "VerHede" "VerTeuc"
#> 
#> $`2`$`positive/negative diff`
#> [1] "BriMedi" "SanMino"
#> 
#> 

## 3) Synoptic table with phi fidelity
phitable <- syntable(schedenveg, pam1$clustering, abund = "percentage",
                         type = "phi")
phitable
#> $syntable
#>                    1           2           3           4
#> AceCamp -0.066666667  0.25819889 -0.15480679 -0.07856742
#> AchMill -0.258198890 -0.08888889  0.31613380 -0.09128709
#> AgrEupa -0.141421356 -0.30429031  0.50751922 -0.16666667
#> AjuGene -0.066666667 -0.14344383  0.23924685 -0.07856742
#> AjuRept -0.066666667 -0.14344383 -0.15480679  0.47140452
#> AllVine -0.120000000  0.22377237 -0.27865222  0.18856181
#> AloPrat  0.333333333  0.43033148 -0.46442036 -0.23570226
#> AntDioi -0.066666667 -0.14344383  0.23924685 -0.07856742
#> AntOdor -0.017213259  0.37777778 -0.44694779  0.12171612
#> AntSylv -0.096076892  0.37210420 -0.22310033 -0.11322770
#> AntVuln -0.096076892 -0.20672456  0.34479141 -0.11322770
#> AraThal -0.066666667 -0.14344383 -0.15480679  0.47140452
#> AreSerp -0.066666667 -0.14344383  0.23924685 -0.07856742
#> ArrElat -0.066666667  0.43033148 -0.37998030  0.00000000
#> AstGlyc -0.066666667 -0.14344383  0.23924685 -0.07856742
#> BelPere -0.096076892  0.37210420 -0.22310033 -0.11322770
#> BetPend -0.066666667 -0.14344383  0.23924685 -0.07856742
#> BriMedi -0.278652218 -0.29433147  0.70053476 -0.32839479
#> BroErec -0.626666667  0.25819889  0.27865222 -0.18856181
#> BroHord  0.381914370 -0.02594996 -0.24186656  0.03553345
#> BroSter -0.096076892  0.08268982 -0.22310033  0.28306926
#> CalSepi -0.066666667  0.25819889 -0.15480679 -0.07856742
#> CamGlom -0.066666667  0.25819889 -0.15480679 -0.07856742
#> CarPrat  0.352281938 -0.20672456 -0.22310033  0.28306926
#> CarCary -0.180906807 -0.20759972  0.47100330 -0.21320072
#> CarFlac -0.238415824 -0.35339254  0.69902250 -0.28097574
#> CarBetu -0.120000000 -0.01721326  0.19421215 -0.14142136
#> CenJace -0.161514571 -0.15291057  0.38869158 -0.19034675
#> CenScab -0.120000000 -0.25819889  0.43064434 -0.14142136
#> CenEryt -0.066666667 -0.14344383  0.23924685 -0.07856742
#> CerArve -0.066666667 -0.14344383 -0.15480679  0.47140452
#> CerGlom  0.036514837  0.02357023 -0.18499892  0.19364917
#> CerHolo -0.090958805  0.50173488 -0.60222632  0.23388214
#> CirAcau -0.200000000 -0.25819889  0.54886043 -0.23570226
#> CirArve  0.555555556 -0.14344383 -0.15480679 -0.07856742
#> CirVulg  0.352281938 -0.20672456 -0.22310033  0.28306926
#> ConArve -0.200000000  0.25819889 -0.12666010  0.00000000
#> CorSang -0.120000000 -0.01721326  0.19421215 -0.14142136
#> CorAvel -0.066666667  0.25819889 -0.15480679 -0.07856742
#> CraLaev -0.161514571  0.04170288  0.19775536 -0.19034675
#> CraMono -0.066666667 -0.14344383  0.23924685 -0.07856742
#> CraSpec -0.120000000 -0.25819889  0.43064434 -0.14142136
#> CreBien -0.238415824  0.12539735 -0.08388270  0.15609764
#> CynCris  0.100503782  0.15569979 -0.24186656  0.03553345
#> DacGlom  0.141421356  0.30429031 -0.50751922  0.16666667
#> DauCaro  0.256076256 -0.19379591  0.07269834 -0.06243905
#> EupCypa -0.120000000 -0.25819889  0.43064434 -0.14142136
#> EupSpec -0.066666667 -0.14344383  0.23924685 -0.07856742
#> FesOvin -0.161514571 -0.15291057  0.38869158 -0.19034675
#> FesPrat  0.322490310  0.09607689 -0.42417680  0.17541160
#> FesRubr  0.066666667  0.19364917 -0.48553038  0.35355339
#> FraVesc -0.066666667 -0.14344383 -0.15480679  0.47140452
#> FraViri -0.200000000 -0.25819889  0.54886043 -0.23570226
#> FraExce -0.066666667  0.25819889 -0.15480679 -0.07856742
#> GalAlbu  0.161514571  0.15291057 -0.38869158  0.19034675
#> GalPumi -0.066666667 -0.14344383  0.23924685 -0.07856742
#> GalVeru -0.161514571 -0.34752402  0.57962779 -0.19034675
#> GenTinc -0.141421356 -0.09128709  0.29854072 -0.16666667
#> GerDiss -0.096076892  0.37210420 -0.22310033 -0.11322770
#> GerMoll -0.066666667  0.25819889 -0.15480679 -0.07856742
#> GeuUrba -0.066666667 -0.14344383 -0.15480679  0.47140452
#> GleHede  0.292118697  0.02357023 -0.02312486 -0.25819889
#> GymCono -0.096076892 -0.20672456  0.34479141 -0.11322770
#> HelNumm -0.066666667 -0.14344383  0.23924685 -0.07856742
#> HelPube  0.194212152  0.01090117 -0.19786096  0.08956222
#> HerSpho -0.161514571  0.04170288  0.19775536 -0.19034675
#> HieMuro -0.096076892 -0.20672456  0.34479141 -0.11322770
#> HipComo -0.180906807 -0.38924947  0.64922077 -0.21320072
#> HolLana  0.278652218  0.14171515 -0.40106952  0.11941629
#> HypMacu -0.066666667 -0.14344383  0.23924685 -0.07856742
#> HypPerf -0.219089023 -0.47140452  0.30062324  0.41957320
#> JunComm -0.066666667 -0.14344383  0.23924685 -0.07856742
#> KnaArve -0.223772371  0.08888889  0.14171515 -0.12171612
#> KoePyra -0.096076892 -0.20672456  0.34479141 -0.11322770
#> LatPrat  0.008830216  0.12539735 -0.24046374  0.15609764
#> LeoAutu -0.066666667 -0.14344383  0.23924685 -0.07856742
#> LeoHisp -0.120000000 -0.25819889  0.43064434 -0.14142136
#> LeuIrcu -0.140572699 -0.20282899  0.30896829 -0.02923527
#> LinCath -0.161514571 -0.34752402  0.38869158  0.07613870
#> LisOvat -0.096076892 -0.20672456  0.34479141 -0.11322770
#> LolPere  0.140572699  0.50173488 -0.30896829 -0.38005848
#> LotCorn -0.278652218 -0.14171515  0.25133690  0.08956222
#> LuzCamp -0.258198890  0.06666667  0.16351749 -0.09128709
#> LuzMult -0.066666667 -0.14344383 -0.15480679  0.47140452
#> LysNumm -0.066666667 -0.14344383  0.23924685 -0.07856742
#> MedFalc -0.066666667 -0.14344383  0.23924685 -0.07856742
#> MedLupu -0.140572699 -0.05337605  0.30896829 -0.23388214
#> MyoArve  0.139979295  0.04170288 -0.37505328  0.34262414
#> OnoVici -0.066666667 -0.14344383  0.23924685 -0.07856742
#> OnoRepe -0.141421356 -0.09128709  0.29854072 -0.16666667
#> OphInse -0.066666667 -0.14344383  0.23924685 -0.07856742
#> OrcMasc -0.066666667 -0.14344383  0.23924685 -0.07856742
#> PhlPrat  0.518544973 -0.09128709 -0.11941629 -0.16666667
#> PilOffi -0.161514571 -0.15291057  0.38869158 -0.19034675
#> PimMajo -0.120000000 -0.01721326 -0.27865222  0.51854497
#> PimSaxi -0.322490310  0.05337605  0.13091876  0.02923527
#> PinSpec -0.066666667 -0.14344383  0.23924685 -0.07856742
#> PlaLaet -0.066666667 -0.14344383  0.23924685 -0.07856742
#> PlaLanc -0.555555556  0.14344383  0.15480679  0.07856742
#> PlaMajo -0.096076892  0.08268982  0.06084554 -0.11322770
#> PlaMedi -0.200000000 -0.43033148  0.54886043  0.00000000
#> PoaAngu -0.219089023  0.35355339 -0.18499892 -0.03227486
#> PoaPrat -0.292118697  0.30641294 -0.13874919  0.03227486
#> PoaTriv  0.322490310  0.24552984 -0.57080582  0.17541160
#> PolComo -0.161514571 -0.34752402  0.57962779 -0.19034675
#> PotAnse -0.066666667 -0.14344383  0.23924685 -0.07856742
#> PotRept -0.066666667  0.25819889 -0.15480679 -0.07856742
#> PotVern -0.141421356 -0.30429031  0.50751922 -0.16666667
#> PriVeri -0.430644338 -0.01090117  0.19786096  0.11941629
#> PruGran -0.066666667 -0.14344383  0.23924685 -0.07856742
#> PruAviu -0.219089023 -0.14142136  0.46249729 -0.25819889
#> PruSpin -0.161514571 -0.34752402  0.57962779 -0.19034675
#> QueRobu -0.180906807  0.15569979  0.11456837 -0.21320072
#> QueSpec -0.096076892 -0.20672456  0.34479141 -0.11322770
#> RanAcri  0.194212152 -0.14171515 -0.19786096  0.29854072
#> RanBulb -0.333333333  0.08606630  0.46442036 -0.47140452
#> RanRepe  0.352281938  0.08268982 -0.22310033 -0.11322770
#> RanSpec -0.066666667  0.25819889 -0.15480679 -0.07856742
#> RhiMino  0.008830216  0.12539735 -0.08388270 -0.06243905
#> RosCani -0.066666667 -0.14344383  0.23924685 -0.07856742
#> RosSpec -0.180906807  0.15569979 -0.06364909  0.03553345
#> RubFrut -0.066666667 -0.14344383 -0.15480679  0.47140452
#> RubIdae -0.066666667 -0.14344383  0.23924685 -0.07856742
#> RumAcet -0.223772371  0.40000000 -0.46875012  0.30429031
#> RumObtu -0.066666667 -0.14344383  0.23924685 -0.07856742
#> SalPrat -0.141421356 -0.09128709  0.29854072 -0.16666667
#> SanMino -0.346410162 -0.44721360  0.65814518  0.00000000
#> ScaColu -0.120000000 -0.25819889  0.43064434 -0.14142136
#> SedSexa -0.066666667 -0.14344383  0.23924685 -0.07856742
#> SenJaco -0.161514571 -0.15291057  0.38869158 -0.19034675
#> SilNuta -0.120000000 -0.01721326  0.19421215 -0.14142136
#> SilPusi -0.066666667 -0.14344383  0.23924685 -0.07856742
#> SteGram -0.066666667  0.25819889 -0.15480679 -0.07856742
#> TarEryt -0.066666667  0.25819889 -0.15480679 -0.07856742
#> TarRude  0.017213259  0.08888889 -0.16351749  0.09128709
#> ThlPerf -0.096076892 -0.20672456  0.06084554  0.28306926
#> ThyPule -0.120000000 -0.25819889  0.43064434 -0.14142136
#> TraPrat -0.219089023  0.18856181 -0.02312486 -0.03227486
#> TriCamp -0.066666667 -0.14344383  0.23924685 -0.07856742
#> TriDubi -0.278652218  0.16351749 -0.04812834  0.08956222
#> TriPrat -0.008830216  0.03419928 -0.07269834  0.06243905
#> TriRepe  0.166666667  0.10758287 -0.25332020  0.05892557
#> TriFlav  0.120000000  0.25819889 -0.19421215 -0.18856181
#> UrtDioi -0.066666667 -0.14344383 -0.15480679  0.47140452
#> ValCari -0.066666667 -0.14344383 -0.15480679  0.47140452
#> ValLocu -0.141421356  0.12171612 -0.11941629  0.12500000
#> VerArve  0.066666667  0.08606630 -0.12666010  0.00000000
#> VerCham  0.115470054 -0.14907120 -0.21938173  0.40824829
#> VerHede  0.555555556 -0.14344383 -0.15480679 -0.07856742
#> VerTeuc -0.120000000 -0.25819889  0.43064434 -0.14142136
#> VibOpul -0.066666667 -0.14344383  0.23924685 -0.07856742
#> VicAngu -0.278652218  0.01090117  0.10160428  0.08956222
#> VicCrac -0.141421356  0.12171612  0.08956222 -0.16666667
#> VicSepi -0.180906807 -0.02594996 -0.06364909  0.28426762
#> VioHirt -0.258198890 -0.24444444  0.31613380  0.12171612
#> 
#> $samplesize
#>  1  2  3  4 
#>  3 10 11  4 
#> 

## 4) Synoptic percentage frequency table based on historical classification from 1997
percfreq <- syntable(schedenveg, schedenenv$comm, abund = "percentage",
                         type = "percfreq")
percfreq
#> $syntable
#>           A  GK
#> AceCamp   6   0
#> AchMill  28  50
#> AgrEupa   6  30
#> AjuGene   0  10
#> AjuRept   6   0
#> AllVine  17   0
#> AloPrat  39   0
#> AntDioi   0  10
#> AntOdor  50  10
#> AntSylv  11   0
#> AntVuln   0  20
#> AraThal   6   0
#> AreSerp   0  10
#> ArrElat  83  60
#> AstGlyc   0  10
#> BelPere  11   0
#> BetPend   0  10
#> BriMedi  17  80
#> BroErec  83 100
#> BroHord  28  10
#> BroSter  11   0
#> CalSepi   6   0
#> CamGlom   0  10
#> CarPrat  11   0
#> CarCary   0  60
#> CarFlac   6  80
#> CarBetu   6  20
#> CenJace   6  40
#> CenScab   0  30
#> CenEryt   0  10
#> CerArve   6   0
#> CerGlom  33  20
#> CerHolo  61  20
#> CirAcau   0  70
#> CirArve   6   0
#> CirVulg  11   0
#> ConArve  28  20
#> CorSang   0  30
#> CorAvel   6   0
#> CraLaev   6  40
#> CraMono   0  10
#> CraSpec   0  30
#> CreBien  44  10
#> CynCris  28  10
#> DacGlom 100  60
#> DauCaro  28  40
#> EupCypa   0  30
#> EupSpec   0  10
#> FesOvin   0  50
#> FesPrat  67  30
#> FesRubr  67  40
#> FraVesc   6   0
#> FraViri   6  60
#> FraExce   6   0
#> GalAlbu  89  70
#> GalPumi   0  10
#> GalVeru  11  30
#> GenTinc   0  40
#> GerDiss  11   0
#> GerMoll   6   0
#> GeuUrba   6   0
#> GleHede  33  20
#> GymCono   0  20
#> HelNumm   0  10
#> HelPube  50  20
#> HerSpho  17  20
#> HieMuro   0  20
#> HipComo   0  60
#> HolLana  72  40
#> HypMacu   0  10
#> HypPerf  22  40
#> JunComm   0  10
#> KnaArve  56  80
#> KoePyra   0  20
#> LatPrat  39  20
#> LeoAutu   6   0
#> LeoHisp   0  30
#> LeuIrcu  39  80
#> LinCath  11  30
#> LisOvat   0  20
#> LolPere  61  20
#> LotCorn  22  70
#> LuzCamp  28  50
#> LuzMult   6   0
#> LysNumm   0  10
#> MedFalc   0  10
#> MedLupu  33  90
#> MyoArve  28   0
#> OnoVici   0  10
#> OnoRepe   0  40
#> OphInse   0  10
#> OrcMasc   0  10
#> PhlPrat  22   0
#> PilOffi   0  50
#> PimMajo  17   0
#> PimSaxi  33  70
#> PinSpec   0  10
#> PlaLaet   6   0
#> PlaLanc  94 100
#> PlaMajo  11   0
#> PlaMedi  11  50
#> PoaAngu  28  30
#> PoaPrat  72  70
#> PoaTriv  83   0
#> PolComo   0  50
#> PotAnse   0  10
#> PotRept   6   0
#> PotVern   0  40
#> PriVeri  50  80
#> PruGran   0  10
#> PruAviu   6  70
#> PruSpin   0  50
#> QueRobu  17  30
#> QueSpec   0  20
#> RanAcri  56  10
#> RanBulb  61 100
#> RanRepe  11   0
#> RanSpec   6   0
#> RhiMino  28  40
#> RosCani   0  10
#> RosSpec  17  30
#> RubFrut   6   0
#> RubIdae   0  10
#> RumAcet  78  40
#> RumObtu   0  10
#> SalPrat   0  40
#> SanMino  28  90
#> ScaColu   0  30
#> SedSexa   0  10
#> SenJaco   0  50
#> SilNuta   0  30
#> SilPusi   6   0
#> SteGram   6   0
#> TarEryt   6   0
#> TarRude  72  50
#> ThlPerf   6  10
#> ThyPule   0  30
#> TraPrat  39  10
#> TriCamp   0  10
#> TriDubi  44  30
#> TriPrat  78  50
#> TriRepe  67   0
#> TriFlav  94  80
#> UrtDioi   6   0
#> ValCari   6   0
#> ValLocu  17  10
#> VerArve  28  20
#> VerCham  61  30
#> VerHede   6   0
#> VerTeuc   0  30
#> VibOpul   0  10
#> VicAngu  28  60
#> VicCrac  11  20
#> VicSepi  28  10
#> VioHirt  22  60
#> 
#> $samplesize
#>  A GK 
#> 18 10 
#>