R/syntable.R
syntable.RdSynoptic tables summarize previously defined plant community groups, e.g., from cluster analysis, classification methods, or pre-defined strata, such as spatial distribution units. They help identify characteristic species patterns by calculating group-wise percentage/absolute frequencies, mean/median cover, fidelity indices or differential species character.
syntable calculates synoptic tables from vegetation data and a vector of group identities.
The vegetation data can be provided as a species-sample matrix (default) or as long-format vegetation
data (one row per species occurrence) (long = TRUE).
The unordered output table can be sorted with synsort function.
syntable(
vegdata,
groups = NULL,
abund = "percentage",
type = "percfreq",
digits = NULL,
long = FALSE,
group_col = NULL,
phi_method = "default",
phi_standard = "none",
phi_target_size = NULL,
phi_alpha = NULL
)A data-frame-like object. Either:
default: a species-sample matrix with species in columns and samples in rows. Species names must be column names, sample (row) names are optional.
with long = TRUE: a long-format table with at least three columns: sample ID, taxon name, and abundance/cover
(these must be the first three columns).
Missing values (NA) are converted 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.
Group identities for samples. For wide data (default): a vector/factor of length
nrow(vegdata) (one group per sample/row). For long data: either a
per-row vector (length nrow(vegdata)), a per-sample vector
(named by sample IDs, or in the order of first appearance of samples), or
NULL when group_col is used. Within each sample, exactly one group
must be defined.
Type of abundances: percentage cover ("percentage", default)
or presence/absence ("pa" with values 0/1). Use cov2per
to transform cover-abundance scales to percentage cover if needed.
Output type. One of c("percfreq","totalfreq","mean","median","diffspec","phi").
See Details.
Integer indicating the number of decimal places to be displayed in result tables (default 0; for phi 3)
Logical. If TRUE, vegdata is treated as long-format data; otherwise as species-sample matrix (default)
(Long data only) Optional name of a column
in vegdata that contains the group labels. When supplied, groups
may be NULL.
Fidelity measure when type = "phi":
"default" (binary phi),
"uvalue" (hypergeometric \(u\)), or
"ochiai" (Ochiai coefficient).
Group-size equalization when type = "phi":
"none" (no equalization),
"target" (equalize the evaluated group to a chosen percentage of plots; other groups remain as observed outside the target),
"all" (equalize the evaluated group to the chosen percentage and distribute the remaining percentage equally among the other groups so totals remain \(N\)).
Numeric percentage in (0, 100) giving the conceptual size of
the target group used by phi_standard. If NULL, defaults to equal sizes
(i.e., \(100 / G\), where \(G\) is the number of groups).
Optional significance level for Fisher’s exact test when type = "phi".
If NULL (default), no test is performed.
If a numeric value in (0, 1) is given, a Fisher exact p-value is computed for
each species×group cell on the original 2×2 presence table; cells with
\(p \ge\) phi_alpha are set to 0 in the output fidelity table.
The function returns an (invisible) list of result components.
$syntable unordered synoptic table for given species and groups
$samplesize total number of samples per group
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 group
For synoptic table calculation, six types are available.
type = "percfreq" : percentage frequency of occurrence per group (default)
type = "totalfreq" : absolute frequency (number of plots with presence) per group
type = "mean" mean cover per group (abund = "percentage" only)
type = "median" median cover per group (abund = "percentage" only)
type = "phi" species fidelity. The default corresponds to the
binary phi coefficient (= \(\phi = \frac{u}{\sqrt{N - 1}}\); Sokal & Rohlf 1995, Bruelheide 2000) with values between -1 and 1, expressing the
avoidance or preference of a species for the target site group.
Alternatively, the hypergeometric \(u\)-value (see Chytrý et al., 2002), or the Ochiai coefficient (see de Cáceres et al, 2008) can be selected via phi_method.
Optional group-size equalization follows Tichý & Chytrý (2006) via phi_standard and phi_target_size. A significance level for an optional zero-out of
non-significant cells based on Fisher's exact test can be provided via phi_alpha.
type = "diffspec" differential character of species according to
Tsiripidis et al. 2009: p = positive, n = negative, pn = positive-
negative, or none (-). 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.
Requires \(\ge 3\) groups and is available for wide data only.
For sorting the output synoptic table, use synsort function, providing several
options.
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
Chytrý, M., Tichý, 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
de Cáceres, M., Font, X., & Oliva, F. (2008). Assessing species diagnostic value in large data sets: A comparison between phi‐coefficient and Ochiai index. Journal of Vegetation Science, 19(6), 779–788. doi:10.3170/2008-8-18446
Sokal, R.R. & Rohlf, F.J. (1995): Biometry. 3rd edition Freemann, New York.
Tichý, L., & Chytrý, M. (2006). Statistical determination of diagnostic species for site groups of unequal size. Journal of Vegetation Science, 17(6), 809–818. doi:10.1111/j.1654-1103.2006.tb02504.x
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
## 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")
#>
|
|====== | 9%
|
|========== | 14%
|
|============= | 18%
|
|================ | 23%
|
|=================== | 27%
|
|====================== | 32%
|
|========================= | 36%
|
|============================= | 41%
|
|================================ | 45%
|
|=================================== | 50%
|
|====================================== | 55%
|
|========================================= | 59%
|
|============================================= | 64%
|
|================================================ | 68%
|
|=================================================== | 73%
|
|====================================================== | 77%
|
|======================================================================| 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.067 0.258 -0.155 -0.079
#> AchMill -0.258 -0.089 0.316 -0.091
#> AgrEupa -0.141 -0.304 0.508 -0.167
#> AjuGene -0.067 -0.143 0.239 -0.079
#> AjuRept -0.067 -0.143 -0.155 0.471
#> AllVine -0.120 0.224 -0.279 0.189
#> AloPrat 0.333 0.430 -0.464 -0.236
#> AntDioi -0.067 -0.143 0.239 -0.079
#> AntOdor -0.017 0.378 -0.447 0.122
#> AntSylv -0.096 0.372 -0.223 -0.113
#> AntVuln -0.096 -0.207 0.345 -0.113
#> AraThal -0.067 -0.143 -0.155 0.471
#> AreSerp -0.067 -0.143 0.239 -0.079
#> ArrElat -0.067 0.430 -0.380 0.000
#> AstGlyc -0.067 -0.143 0.239 -0.079
#> BelPere -0.096 0.372 -0.223 -0.113
#> BetPend -0.067 -0.143 0.239 -0.079
#> BriMedi -0.279 -0.294 0.701 -0.328
#> BroErec -0.627 0.258 0.279 -0.189
#> BroHord 0.382 -0.026 -0.242 0.036
#> BroSter -0.096 0.083 -0.223 0.283
#> CalSepi -0.067 0.258 -0.155 -0.079
#> CamGlom -0.067 0.258 -0.155 -0.079
#> CarPrat 0.352 -0.207 -0.223 0.283
#> CarCary -0.181 -0.208 0.471 -0.213
#> CarFlac -0.238 -0.353 0.699 -0.281
#> CarBetu -0.120 -0.017 0.194 -0.141
#> CenJace -0.162 -0.153 0.389 -0.190
#> CenScab -0.120 -0.258 0.431 -0.141
#> CenEryt -0.067 -0.143 0.239 -0.079
#> CerArve -0.067 -0.143 -0.155 0.471
#> CerGlom 0.037 0.024 -0.185 0.194
#> CerHolo -0.091 0.502 -0.602 0.234
#> CirAcau -0.200 -0.258 0.549 -0.236
#> CirArve 0.556 -0.143 -0.155 -0.079
#> CirVulg 0.352 -0.207 -0.223 0.283
#> ConArve -0.200 0.258 -0.127 0.000
#> CorSang -0.120 -0.017 0.194 -0.141
#> CorAvel -0.067 0.258 -0.155 -0.079
#> CraLaev -0.162 0.042 0.198 -0.190
#> CraMono -0.067 -0.143 0.239 -0.079
#> CraSpec -0.120 -0.258 0.431 -0.141
#> CreBien -0.238 0.125 -0.084 0.156
#> CynCris 0.101 0.156 -0.242 0.036
#> DacGlom 0.141 0.304 -0.508 0.167
#> DauCaro 0.256 -0.194 0.073 -0.062
#> EupCypa -0.120 -0.258 0.431 -0.141
#> EupSpec -0.067 -0.143 0.239 -0.079
#> FesOvin -0.162 -0.153 0.389 -0.190
#> FesPrat 0.322 0.096 -0.424 0.175
#> FesRubr 0.067 0.194 -0.486 0.354
#> FraVesc -0.067 -0.143 -0.155 0.471
#> FraViri -0.200 -0.258 0.549 -0.236
#> FraExce -0.067 0.258 -0.155 -0.079
#> GalAlbu 0.162 0.153 -0.389 0.190
#> GalPumi -0.067 -0.143 0.239 -0.079
#> GalVeru -0.162 -0.348 0.580 -0.190
#> GenTinc -0.141 -0.091 0.299 -0.167
#> GerDiss -0.096 0.372 -0.223 -0.113
#> GerMoll -0.067 0.258 -0.155 -0.079
#> GeuUrba -0.067 -0.143 -0.155 0.471
#> GleHede 0.292 0.024 -0.023 -0.258
#> GymCono -0.096 -0.207 0.345 -0.113
#> HelNumm -0.067 -0.143 0.239 -0.079
#> HelPube 0.194 0.011 -0.198 0.090
#> HerSpho -0.162 0.042 0.198 -0.190
#> HieMuro -0.096 -0.207 0.345 -0.113
#> HipComo -0.181 -0.389 0.649 -0.213
#> HolLana 0.279 0.142 -0.401 0.119
#> HypMacu -0.067 -0.143 0.239 -0.079
#> HypPerf -0.219 -0.471 0.301 0.420
#> JunComm -0.067 -0.143 0.239 -0.079
#> KnaArve -0.224 0.089 0.142 -0.122
#> KoePyra -0.096 -0.207 0.345 -0.113
#> LatPrat 0.009 0.125 -0.240 0.156
#> LeoAutu -0.067 -0.143 0.239 -0.079
#> LeoHisp -0.120 -0.258 0.431 -0.141
#> LeuIrcu -0.141 -0.203 0.309 -0.029
#> LinCath -0.162 -0.348 0.389 0.076
#> LisOvat -0.096 -0.207 0.345 -0.113
#> LolPere 0.141 0.502 -0.309 -0.380
#> LotCorn -0.279 -0.142 0.251 0.090
#> LuzCamp -0.258 0.067 0.164 -0.091
#> LuzMult -0.067 -0.143 -0.155 0.471
#> LysNumm -0.067 -0.143 0.239 -0.079
#> MedFalc -0.067 -0.143 0.239 -0.079
#> MedLupu -0.141 -0.053 0.309 -0.234
#> MyoArve 0.140 0.042 -0.375 0.343
#> OnoVici -0.067 -0.143 0.239 -0.079
#> OnoRepe -0.141 -0.091 0.299 -0.167
#> OphInse -0.067 -0.143 0.239 -0.079
#> OrcMasc -0.067 -0.143 0.239 -0.079
#> PhlPrat 0.519 -0.091 -0.119 -0.167
#> PilOffi -0.162 -0.153 0.389 -0.190
#> PimMajo -0.120 -0.017 -0.279 0.519
#> PimSaxi -0.322 0.053 0.131 0.029
#> PinSpec -0.067 -0.143 0.239 -0.079
#> PlaLaet -0.067 -0.143 0.239 -0.079
#> PlaLanc -0.556 0.143 0.155 0.079
#> PlaMajo -0.096 0.083 0.061 -0.113
#> PlaMedi -0.200 -0.430 0.549 0.000
#> PoaAngu -0.219 0.354 -0.185 -0.032
#> PoaPrat -0.292 0.306 -0.139 0.032
#> PoaTriv 0.322 0.246 -0.571 0.175
#> PolComo -0.162 -0.348 0.580 -0.190
#> PotAnse -0.067 -0.143 0.239 -0.079
#> PotRept -0.067 0.258 -0.155 -0.079
#> PotVern -0.141 -0.304 0.508 -0.167
#> PriVeri -0.431 -0.011 0.198 0.119
#> PruGran -0.067 -0.143 0.239 -0.079
#> PruAviu -0.219 -0.141 0.462 -0.258
#> PruSpin -0.162 -0.348 0.580 -0.190
#> QueRobu -0.181 0.156 0.115 -0.213
#> QueSpec -0.096 -0.207 0.345 -0.113
#> RanAcri 0.194 -0.142 -0.198 0.299
#> RanBulb -0.333 0.086 0.464 -0.471
#> RanRepe 0.352 0.083 -0.223 -0.113
#> RanSpec -0.067 0.258 -0.155 -0.079
#> RhiMino 0.009 0.125 -0.084 -0.062
#> RosCani -0.067 -0.143 0.239 -0.079
#> RosSpec -0.181 0.156 -0.064 0.036
#> RubFrut -0.067 -0.143 -0.155 0.471
#> RubIdae -0.067 -0.143 0.239 -0.079
#> RumAcet -0.224 0.400 -0.469 0.304
#> RumObtu -0.067 -0.143 0.239 -0.079
#> SalPrat -0.141 -0.091 0.299 -0.167
#> SanMino -0.346 -0.447 0.658 0.000
#> ScaColu -0.120 -0.258 0.431 -0.141
#> SedSexa -0.067 -0.143 0.239 -0.079
#> SenJaco -0.162 -0.153 0.389 -0.190
#> SilNuta -0.120 -0.017 0.194 -0.141
#> SilPusi -0.067 -0.143 0.239 -0.079
#> SteGram -0.067 0.258 -0.155 -0.079
#> TarEryt -0.067 0.258 -0.155 -0.079
#> TarRude 0.017 0.089 -0.164 0.091
#> ThlPerf -0.096 -0.207 0.061 0.283
#> ThyPule -0.120 -0.258 0.431 -0.141
#> TraPrat -0.219 0.189 -0.023 -0.032
#> TriCamp -0.067 -0.143 0.239 -0.079
#> TriDubi -0.279 0.164 -0.048 0.090
#> TriPrat -0.009 0.034 -0.073 0.062
#> TriRepe 0.167 0.108 -0.253 0.059
#> TriFlav 0.120 0.258 -0.194 -0.189
#> UrtDioi -0.067 -0.143 -0.155 0.471
#> ValCari -0.067 -0.143 -0.155 0.471
#> ValLocu -0.141 0.122 -0.119 0.125
#> VerArve 0.067 0.086 -0.127 0.000
#> VerCham 0.115 -0.149 -0.219 0.408
#> VerHede 0.556 -0.143 -0.155 -0.079
#> VerTeuc -0.120 -0.258 0.431 -0.141
#> VibOpul -0.067 -0.143 0.239 -0.079
#> VicAngu -0.279 0.011 0.102 0.090
#> VicCrac -0.141 0.122 0.090 -0.167
#> VicSepi -0.181 -0.026 -0.064 0.284
#> VioHirt -0.258 -0.244 0.316 0.122
#>
#> $samplesize
#> 1 2 3 4
#> 3 10 11 4
#>
## 3b) Hypergeometric u-value and standardisation of group sizes
phiu <- syntable(schedenveg, pam1$clustering, abund = "percentage",
type = "phi", phi_method = "uvalue", phi_standard = "all")
phiu
#> $syntable
#> 1 2 3 4
#> AceCamp -0.480 1.441 -0.480 -0.480
#> AchMill -1.842 0.176 1.827 -0.161
#> AgrEupa -0.949 -0.949 2.846 -0.949
#> AjuGene -0.457 -0.457 1.372 -0.457
#> AjuRept -0.775 -0.775 -0.775 2.324
#> AllVine -1.068 0.831 -1.068 1.305
#> AloPrat 2.475 1.375 -1.925 -1.925
#> AntDioi -0.457 -0.457 1.372 -0.457
#> AntOdor -0.295 1.352 -1.792 0.735
#> AntSylv -0.688 2.065 -0.688 -0.688
#> AntVuln -0.655 -0.655 1.964 -0.655
#> AraThal -0.775 -0.775 -0.775 2.324
#> AreSerp -0.457 -0.457 1.372 -0.457
#> ArrElat -0.506 1.776 -1.335 0.065
#> AstGlyc -0.457 -0.457 1.372 -0.457
#> BelPere -0.688 2.065 -0.688 -0.688
#> BetPend -0.457 -0.457 1.372 -0.457
#> BriMedi -1.753 -0.376 3.882 -1.753
#> BroErec -3.123 1.636 1.636 -0.149
#> BroHord 2.384 -0.666 -1.379 -0.339
#> BroSter -0.929 0.133 -0.929 1.725
#> CalSepi -0.480 1.441 -0.480 -0.480
#> CamGlom -0.480 1.441 -0.480 -0.480
#> CarPrat 1.594 -1.240 -1.240 0.885
#> CarCary -1.204 -0.335 2.743 -1.204
#> CarFlac -1.532 -0.791 3.855 -1.532
#> CarBetu -0.826 0.346 1.305 -0.826
#> CenJace -1.086 -0.149 2.322 -1.086
#> CenScab -0.812 -0.812 2.435 -0.812
#> CenEryt -0.457 -0.457 1.372 -0.457
#> CerArve -0.775 -0.775 -0.775 2.324
#> CerGlom 0.029 -0.184 -0.939 1.093
#> CerHolo -0.961 1.839 -2.416 1.539
#> CirAcau -1.316 -0.500 3.132 -1.316
#> CirArve 2.714 -0.905 -0.905 -0.905
#> CirVulg 1.594 -1.240 -1.240 0.885
#> ConArve -1.537 1.420 -0.193 0.311
#> CorSang -0.826 0.346 1.305 -0.826
#> CorAvel -0.480 1.441 -0.480 -0.480
#> CraLaev -1.098 0.760 1.436 -1.098
#> CraMono -0.457 -0.457 1.372 -0.457
#> CraSpec -0.812 -0.812 2.435 -0.812
#> CreBien -1.932 0.704 -0.135 1.363
#> CynCris 0.627 0.394 -1.067 0.045
#> DacGlom 0.949 0.949 -2.846 0.949
#> DauCaro 1.843 -1.057 -0.040 -0.746
#> EupCypa -0.812 -0.812 2.435 -0.812
#> EupSpec -0.457 -0.457 1.372 -0.457
#> FesOvin -1.086 -0.149 2.322 -1.086
#> FesPrat 2.174 -0.352 -2.418 0.596
#> FesRubr 0.043 0.254 -2.451 2.154
#> FraVesc -0.775 -0.775 -0.775 2.324
#> FraViri -1.316 -0.500 3.132 -1.316
#> FraExce -0.480 1.441 -0.480 -0.480
#> GalAlbu 1.086 0.149 -2.322 1.086
#> GalPumi -0.457 -0.457 1.372 -0.457
#> GalVeru -1.074 -1.074 3.223 -1.074
#> GenTinc -0.962 0.070 1.853 -0.962
#> GerDiss -0.688 2.065 -0.688 -0.688
#> GerMoll -0.480 1.441 -0.480 -0.480
#> GeuUrba -0.775 -0.775 -0.775 2.324
#> GleHede 2.315 -0.064 -0.241 -2.010
#> GymCono -0.655 -0.655 1.964 -0.655
#> HelNumm -0.457 -0.457 1.372 -0.457
#> HelPube 1.245 -0.360 -1.126 0.242
#> HerSpho -1.098 0.760 1.436 -1.098
#> HieMuro -0.655 -0.655 1.964 -0.655
#> HipComo -1.192 -1.192 3.576 -1.192
#> HolLana 1.948 -0.022 -2.232 0.306
#> HypMacu -0.457 -0.457 1.372 -0.457
#> HypPerf -1.969 -1.969 1.003 2.935
#> JunComm -0.457 -0.457 1.372 -0.457
#> KnaArve -1.403 0.816 0.981 -0.394
#> KoePyra -0.655 -0.655 1.964 -0.655
#> LatPrat -0.128 0.290 -1.079 0.917
#> LeoAutu -0.457 -0.457 1.372 -0.457
#> LeoHisp -0.812 -0.812 2.435 -0.812
#> LeuIrcu -0.941 -0.541 1.423 0.059
#> LinCath -1.277 -1.277 1.750 0.804
#> LisOvat -0.655 -0.655 1.964 -0.655
#> LolPere 1.403 2.210 -0.981 -2.632
#> LotCorn -2.136 -0.231 1.328 1.039
#> LuzCamp -1.853 0.831 1.197 -0.175
#> LuzMult -0.775 -0.775 -0.775 2.324
#> LysNumm -0.457 -0.457 1.372 -0.457
#> MedFalc -0.457 -0.457 1.372 -0.457
#> MedLupu -0.719 0.285 1.655 -1.221
#> MyoArve 0.514 -0.400 -1.771 1.656
#> OnoVici -0.457 -0.457 1.372 -0.457
#> OnoRepe -0.962 0.070 1.853 -0.962
#> OphInse -0.457 -0.457 1.372 -0.457
#> OrcMasc -0.457 -0.457 1.372 -0.457
#> PhlPrat 3.306 -0.836 -0.903 -1.567
#> PilOffi -1.086 -0.149 2.322 -1.086
#> PimMajo -1.260 -0.420 -1.260 2.941
#> PimSaxi -2.380 0.700 0.980 0.700
#> PinSpec -0.457 -0.457 1.372 -0.457
#> PlaLaet -0.457 -0.457 1.372 -0.457
#> PlaLanc -2.714 0.905 0.905 0.905
#> PlaMajo -0.672 0.736 0.608 -0.672
#> PlaMedi -1.495 -1.495 2.605 0.384
#> PoaAngu -1.653 1.895 -0.363 0.121
#> PoaPrat -2.029 1.547 -0.117 0.600
#> PoaTriv 2.163 0.266 -3.011 0.582
#> PolComo -1.074 -1.074 3.223 -1.074
#> PotAnse -0.457 -0.457 1.372 -0.457
#> PotRept -0.480 1.441 -0.480 -0.480
#> PotVern -0.949 -0.949 2.846 -0.949
#> PriVeri -3.118 0.484 1.249 1.385
#> PruGran -0.457 -0.457 1.372 -0.457
#> PruAviu -1.436 0.105 2.766 -1.436
#> PruSpin -1.074 -1.074 3.223 -1.074
#> QueRobu -1.226 1.343 1.110 -1.226
#> QueSpec -0.655 -0.655 1.964 -0.655
#> RanAcri 1.016 -1.184 -1.348 1.516
#> RanBulb -1.605 1.248 2.471 -2.114
#> RanRepe 2.172 -0.080 -1.046 -1.046
#> RanSpec -0.480 1.441 -0.480 -0.480
#> RhiMino 0.125 0.556 -0.267 -0.414
#> RosCani -0.457 -0.457 1.372 -0.457
#> RosSpec -1.420 0.908 -0.009 0.520
#> RubFrut -0.775 -0.775 -0.775 2.324
#> RubIdae -0.457 -0.457 1.372 -0.457
#> RumAcet -1.986 1.576 -1.795 2.205
#> RumObtu -0.457 -0.457 1.372 -0.457
#> SalPrat -0.962 0.070 1.853 -0.962
#> SanMino -2.461 -1.238 3.101 0.598
#> ScaColu -0.812 -0.812 2.435 -0.812
#> SedSexa -0.457 -0.457 1.372 -0.457
#> SenJaco -1.086 -0.149 2.322 -1.086
#> SilNuta -0.826 0.346 1.305 -0.826
#> SilPusi -0.457 -0.457 1.372 -0.457
#> SteGram -0.480 1.441 -0.480 -0.480
#> TarEryt -0.480 1.441 -0.480 -0.480
#> TarRude 0.007 0.219 -0.764 0.537
#> ThlPerf -0.916 -0.916 0.061 1.770
#> ThyPule -0.812 -0.812 2.435 -0.812
#> TraPrat -1.643 1.206 0.299 0.138
#> TriCamp -0.457 -0.457 1.372 -0.457
#> TriDubi -2.158 1.007 0.144 1.007
#> TriPrat -0.140 0.076 -0.336 0.400
#> TriRepe 1.091 0.091 -1.273 0.091
#> TriFlav 1.044 1.044 -0.714 -1.373
#> UrtDioi -0.775 -0.775 -0.775 2.324
#> ValCari -0.775 -0.775 -0.775 2.324
#> ValLocu -1.186 0.568 -0.389 1.007
#> VerArve 0.455 0.229 -0.573 -0.111
#> VerCham 0.363 -1.275 -1.499 2.411
#> VerHede 2.714 -0.905 -0.905 -0.905
#> VerTeuc -0.812 -0.812 2.435 -0.812
#> VibOpul -0.457 -0.457 1.372 -0.457
#> VicAngu -2.147 0.389 0.735 1.023
#> VicCrac -0.975 1.067 0.882 -0.975
#> VicSepi -1.595 -0.148 -0.280 2.023
#> VioHirt -2.017 -0.721 1.517 1.222
#>
#> $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
#>