Coerces an object to a *Matrix
object.
Usage
as_long(from, ...)
as_count(from)
as_composition(from)
as_incidence(from)
as_occurrence(from)
as_features(from)
as_stratigraphy(from)
# S4 method for ANY
as_count(from)
# S4 method for ANY
as_composition(from)
# S4 method for ANY
as_incidence(from)
# S4 method for ANY
as_occurrence(from)
# S4 method for ANY
as_stratigraphy(from)
# S4 method for matrix
as_long(from, factor = FALSE, reverse = FALSE)
# S4 method for AbundanceMatrix
as_long(from, factor = FALSE, reverse = FALSE)
# S4 method for AbundanceMatrix
as_features(from)
Arguments
- from
An object to be coerced.
- ...
Currently not used.
- factor
A
logical
scalar: should character string be coerced tofactor
? Default toFALSE
, ifTRUE
the original ordering is preserved.- reverse
A
logical
scalar: should the order of factor levels be reversed? Only used iffactor
isTRUE
. Useful for plotting.
Details
The following methods coerce an object to a *Matrix
object:
Method | Target | Details |
as_count() | CountMatrix | absolute frequency data |
as_composition() | CompositionMatrix | relative frequency data |
as_incidence() | IncidenceMatrix | presence/absence data |
as_occurrence() | OccurrenceMatrix | co-occurrence |
as_stratigraphy() | StratigraphicMatrix | stratigraphic relationships |
Note that as_count()
rounds numeric values to zero decimal places and
then coerces to integer as by as.integer()
.
as_stratigraphy()
converts a set of stratigraphic relationships (edges)
to a stratigraphic (adjacency) matrix. from
can be a matrix
, list
,
or data.frame
: the first column/component is assumed to contain the
bottom units and the second the top units (adjacency).
Method | Target | Details |
as_long() | data.frame | long S3 data frame |
as_features() | data.frame | wide S3 data frame |
as_features()
converts a *Matrix
object to a collection of features:
a data.frame
with all informations as extra columns (result may differ
according to the class of from
).
Abundance Matrix
The CountMatrix
, CompositionMatrix
and IncidenceMatrix
classes have
special slots:
samples
for replicated measurements/observation,groups
to group data by site/area,dates
to specify the date point estimate of an assemblage,tqp
andtaq
to specify the chronology of an assemblage.
When coercing a data.frame
to a *Matrix
object, an attempt is made to
automatically assign values to these slots by mapping column names (case
insensitive, plural insensitive). This behavior can be disabled by setting
options(arkhe.autodetect = FALSE)
or overrided by explicitly specifying
the columns to be used in as_*()
.
Chronology
The way chronological information is handled is somewhat opinionated.
Sub-annual precision is overkill/meaningless in most situations: dates are
assumed to be expressed in years CE and are stored as integers (values are
coerced with as.integer()
and hence truncated towards zero).
Examples
## Create a count matrix
A0 <- matrix(data = sample(0:10, 100, TRUE), nrow = 20, ncol = 5)
## Coerce to absolute frequencies
A1 <- as_count(A0)
## Coerce to relative frequencies
B0 <- as_composition(A1)
## Row sums are internally stored before coercing to relative frequencies
## (use get_totals() to retrieve these values)
## This allows to restore the source data
A2 <- as_count(B0)
all(A1 == A2)
#> [1] TRUE
## Coerce to presence/absence
C0 <- as_incidence(A1)
## Coerce to a co-occurrence matrix
D0 <- as_occurrence(A1)
## Coerce to an S3 matrix or data.frame
X <- as.matrix(A1)
all(A0 == X)
#> [1] TRUE
Y <- data.frame(A1)
head(Y)
#> col1 col2 col3 col4 col5
#> row1 8 7 7 10 0
#> row2 2 3 2 3 5
#> row3 1 8 3 3 8
#> row4 8 1 9 2 4
#> row5 4 1 9 1 1
#> row6 3 5 9 5 9