soma_adat {SomaDataIO} | R Documentation |
The soma_adat
Class and S3 Methods
Description
The soma_adat
data structure is the primary internal R
representation
of SomaScan data. A soma_adat
is automatically created via read_adat()
when loading a *.adat
text file. It consists of a data.frame
-like
object with leading columns as clinical variables and SomaScan RFU data
as the remaining variables. Two main attributes corresponding to analyte
and SomaScan run information contained in the *.adat
file are added:
-
Header.Meta
: information about the SomaScan run, seeparseHeader()
orattr(x, "Header.Meta")
-
Col.Meta
: annotations information about the SomaScan reagents/analytes, seegetAnalyteInfo()
orattr(x, "Col.Meta")
-
file_specs
: parsing specifications for the ingested*.adat
file -
row_meta
: the names of the non-RFU fields. SeegetMeta()
.
See groupGenerics()
for a details on Math()
, Ops()
, and Summary()
methods that dispatch on class soma_adat
.
See reexports()
for a details on re-exported S3 generics from other
packages (mostly dplyr
and tidyr
) to enable S3 methods to be
dispatched on class soma_adat
.
Below is a list of all currently available S3 methods that dispatch on
the soma_adat
class:
#> [1] [ [[ [[<- [<- #> [5] == $ $<- anti_join #> [9] arrange count filter full_join #> [13] getAdatVersion getAnalytes getMeta group_by #> [17] inner_join is_seqFormat left_join Math #> [21] median merge mutate Ops #> [25] print rename right_join row.names<- #> [29] sample_frac sample_n select semi_join #> [33] separate slice_sample slice summary #> [37] Summary transform ungroup unite #> see '?methods' for accessing help and source code
The S3 print()
method returns summary information parsed from the object
attributes, if present, followed by a dispatch to the tibble()
print method.
Rownames are printed as the first column in the print method only.
The S3 summary()
method returns the following for each column of the ADAT
object containing SOMAmer data (clinical meta data is excluded):
Target (if available)
Minimum value
1st Quantile
Median
Mean
3rd Quantile
Maximum value
Standard deviation
Median absolute deviation (
mad()
)Interquartile range (
IQR()
)
The S3 Extract()
method is used for sub-setting a soma_adat
object and relies heavily on the [
method that maintains the soma_adat
attributes intact and subsets the Col.Meta
so that it is consistent
with the newly created object.
S3 extraction via $
is fully supported, however,
as opposed to the data.frame
method, partial matching
is not allowed for class soma_adat
.
S3 extraction via [[
is supported, however, we restrict
the usage of [[
for soma_adat
. Use only a numeric index (e.g. 1L
)
or a character identifying the column (e.g. "SampleID"
).
Do not use [[i,j]]
syntax with [[
, use [
instead.
As with $
, partial matching is not allowed.
S3 assignment via [
is supported for class soma_adat
.
S3 assignment via $
is fully supported for class soma_adat
.
S3 assignment via [[
is supported for class soma_adat
.
S3 median()
is not currently supported for the soma_adat
class,
however a dispatch is in place to direct users to alternatives.
Usage
## S3 method for class 'soma_adat'
print(x, show_header = FALSE, ...)
## S3 method for class 'soma_adat'
summary(object, tbl = NULL, digits = max(3L, getOption("digits") - 3L), ...)
## S3 method for class 'soma_adat'
x[i, j, drop = TRUE, ...]
## S3 method for class 'soma_adat'
x$name
## S3 method for class 'soma_adat'
x[[i, j, ..., exact = TRUE]]
## S3 replacement method for class 'soma_adat'
x[i, j, ...] <- value
## S3 replacement method for class 'soma_adat'
x$i, j, ... <- value
## S3 replacement method for class 'soma_adat'
x[[i, j, ...]] <- value
## S3 method for class 'soma_adat'
median(x, na.rm = FALSE, ...)
Arguments
x , object |
A |
show_header |
Logical. Should all the |
... |
Ignored. |
tbl |
An annotations table. If |
digits |
Integer. Used for number formatting with |
i , j |
Row and column indices respectively. If |
drop |
Coerce to a vector if fetching one column via |
name |
A name or a string. |
exact |
Ignored with a |
value |
A value to store in a row, column, range or cell. |
na.rm |
a logical value indicating whether |
Value
The set of S3 methods above return the soma_adat
object with
the corresponding S3 method applied.
See Also
Other IO:
loadAdatsAsList()
,
parseHeader()
,
read_adat()
,
write_adat()
Examples
# S3 print method
example_data
# show the header info (no RFU data)
print(example_data, show_header = TRUE)
# S3 summary method
# MMP analytes (4)
mmps <- c("seq.2579.17", "seq.2788.55", "seq.2789.26", "seq.4925.54")
mmp_adat <- example_data[, c("Sex", mmps)]
summary(mmp_adat)
# Summarize by group
mmp_adat |>
split(mmp_adat$Sex) |>
lapply(summary)
# Alternatively pass annotations with Target info
anno <- getAnalyteInfo(mmp_adat)
summary(mmp_adat, tbl = anno)