crosstable {vegtable} | R Documentation |
Generating cross tables from database lists
Description
cross table is the most common format required by statistical packages used to analyse vegetation data (e.g. vegan).
You may use for convenience a formula as
'abundance ~ plot + species + ...'
.
Additional variables used for rows (...
) can be for instance the
layers.
For objects of class vegtable, the formula can also include
variables from the species list (for example AcceptedName
, AuthorName
)
or even taxon traits.
If required, tables already formatted as cross tables can be converted into
column-oriented tables by using the function cross2db()
.
Usage
crosstable(formula, data, ...)
## S4 method for signature 'formula,data.frame'
crosstable(
formula,
data,
FUN,
na_to_zero = FALSE,
use_nas = TRUE,
as_matrix = FALSE,
...
)
## S4 method for signature 'formula,vegtable'
crosstable(formula, data, FUN, na_to_zero = FALSE, use_nas = TRUE, ...)
cross2db(object, layers = FALSE, na_strings)
Arguments
formula |
A formula indicating the variables used in the cross table.
This formula can be represented as |
data |
Either a data frame or an object of class vegtable. |
... |
Further arguments passed to the function |
FUN |
Function used to aggregate values in the case of a multiple occurrence of a species in a plot, for instance. |
na_to_zero |
A logical value indicating whether zeros should be inserted into empty cells or not. |
use_nas |
Logical value indicating whether NAs should be considered as levels for categorical variables or not. |
as_matrix |
A logical value, whether output should be done as matrix or data frame. |
object |
A data frame including a cross table. |
layers |
Logical value, whether the cross table includes a layer column or not. |
na_strings |
Character vector indicating no records in the cross table. |
Value
An object of class data.frame.
Author(s)
Miguel Alvarez kamapu78@gmail.com
Examples
veg <- subset(Kenya_veg, REFERENCE == 2331, slot = "header")
## transform cover to percentage
veg <- cover_trans(veg, to = "cover_perc", rule = "middle")
## cross table of the first 5 plots
Cross <- crosstable(cover_perc ~ ReleveID + AcceptedName + AuthorName,
veg[1:5, ], mean,
na_to_zero = TRUE
)
head(Cross)