Turns wide-table formats (species-traits matrix and occurrence table) into long-table format. As input, the function requires information about which columns contain traits, given as a list of trait-names, and which column contains the taxon name. For tables containing repeated measurements of traits within the same taxon, an occurrenceID should be given or will be created.
as.traitdata(x, traits = attributes(x)$traits, taxa = attributes(x)$taxa, individuals = attributes(x)$individuals, occurrences = individuals, datasetID = attributes(x)$datasetID, measurements = attributes(x)$measurements, units = attributes(x)$units, keep = attributes(x)$keep, drop = NULL, na.rm = TRUE, id.vars = names(x)[names(x) %in% keep & !names(x) %in% drop], mutate = NULL, thesaurus = attributes(x)$thesaurus, metadata = attributes(x)$metadata, ...)
data.frame object, containing at least a column of taxa, and one or more columns of trait measurements.
a vector of column names containing traits.
the name of the column containing taxon names.
either a column name containing identifiers for each individual specimen on which several traits were measured, i.e. an occurrence of this taxon, or a vector of occurrence identifiers which must be of the same length as the number of rows of the table. See 'Details'.
a unique name for this dataset (optional). Will be prepended to the occurrence ID and measurement ID.
either a column name containing identifiers for each
individual measurement, or a vector of measurement identifiers. This
applies, if single trait measurements span across multiple columns of data,
e.g. multivariate traits like quantitative measures of chemical compounds,
wavelengths or x-y-z coordinates. In most cases, a measurementID will link
the data across rows in the longtable format. Make sure that the traitnames
given reflect the different dimensions of the trait measurement. If
a single character string or named vector giving the units that apply to the traits. If only one unit type is given, it will be applied to all traits.
a vector or named vector containing the names of the input columns to be kept in the output. Vector names will be used to rename the columns. It is recommended to use accepted column names of the traitdata standard for renaming!
a vector acting as the inverse of
logical defaults to
a list of class metadata, as created by function
occurrence is left blank, the script will check for the
structure of the input table. If several entries are given for the same
taxon, it assumes that input is an occurrence table and assigns
Metadata will be stored as attributes to the data frame and can be accessed
attributes(). It is not necessary but highly recommended to provide
metadata when working with multiple trait data files. When appending
rbind(), the metadata information will be added as
additional columns and dataset attribution will be listed in attributes.
# species-trait matrix: pulldata(carabids)#> Error in source(system.file("extdata", paste0(x, ".R"), package = "traitdataform")): cannot coerce type 'closure' to vector of type 'character'dataset1 <- as.traitdata(carabids, taxa = "name_correct", traits = c("body_length", "antenna_length", "metafemur_length"), units = "mm", keep = c(basisOfRecordDecription = "source_measurement", measurementRemark = "note") )#># occurrence table: pulldata("heteroptera_raw")#> loading dataset 'heteroptera_raw' from original data source! #> When using this data, please cite the original publication: #> Gossner MM, Simons NK, Höck L and Weisser WW (2015). Morphometric #> measures of Heteroptera sampled in grasslands across three regions of #> Germany. _Ecology_, *96*, pp. 1154. doi: 10.1890/14-2159.1 (URL: #> http://doi.org/10.1890/14-2159.1). #> The dataset 'heteroptera_raw' is now available for use!dataset2 <- as.traitdata(heteroptera_raw, taxa = "SpeciesID", traits = c("Body_length", "Body_width", "Body_height", "Thorax_length", "Thorax_width", "Head_width", "Eye_width", "Antenna_Seg1", "Antenna_Seg2", "Antenna_Seg3", "Antenna_Seg4", "Antenna_Seg5", "Front.Tibia_length", "Mid.Tibia_length", "Hind.Tibia_length", "Front.Femur_length", "Hind.Femur_length", "Front.Femur_width", "Hind.Femur_width", "Rostrum_length", "Rostrum_width", "Wing_length", "Wing_widt"), units = "mm", keep = c(sex = "Sex", references = "Source", lifestage = "Wing_development"), metadata = as.metadata( author = "Gossner MM, Simons NK, Höck L and Weisser WW", datasetName = "Morphometric traits Heteroptera", bibliographicCitation = attributes(heteroptera_raw)$citeAs, license = "http://creativecommons.org/publicdomain/zero/1.0/" ) )#>