SOMADataFrame
is a multi-column table that must contain a column
called soma_joinid
of type int64
, which contains a unique value for each
row and is intended to act as a join key for other objects, such as
SOMASparseNDArray
. (lifecycle: experimental)
Super classes
tiledbsoma::TileDBObject
-> tiledbsoma::TileDBArray
-> tiledbsoma::SOMAArrayBase
-> SOMADataFrame
Methods
Inherited methods
tiledbsoma::TileDBObject$class()
tiledbsoma::TileDBObject$exists()
tiledbsoma::TileDBObject$initialize()
tiledbsoma::TileDBObject$is_open()
tiledbsoma::TileDBObject$mode()
tiledbsoma::TileDBObject$reopen()
tiledbsoma::TileDBArray$attributes()
tiledbsoma::TileDBArray$attrnames()
tiledbsoma::TileDBArray$close()
tiledbsoma::TileDBArray$colnames()
tiledbsoma::TileDBArray$dimensions()
tiledbsoma::TileDBArray$dimnames()
tiledbsoma::TileDBArray$fragment_count()
tiledbsoma::TileDBArray$get_metadata()
tiledbsoma::TileDBArray$index_column_names()
tiledbsoma::TileDBArray$ndim()
tiledbsoma::TileDBArray$non_empty_domain()
tiledbsoma::TileDBArray$open()
tiledbsoma::TileDBArray$print()
tiledbsoma::TileDBArray$schema()
tiledbsoma::TileDBArray$set_metadata()
tiledbsoma::TileDBArray$shape()
tiledbsoma::TileDBArray$tiledb_array()
tiledbsoma::TileDBArray$tiledb_schema()
tiledbsoma::TileDBArray$used_shape()
Method create()
Create (lifecycle: experimental)
Usage
SOMADataFrame$create(
schema,
index_column_names = c("soma_joinid"),
platform_config = NULL,
internal_use_only = NULL
)
Arguments
schema
an
arrow::schema
.index_column_names
A vector of column names to use as user-defined index columns. All named columns must exist in the schema, and at least one index column name is required.
platform_config
A platform configuration object
internal_use_only
Character value to signal this is a 'permitted' call, as
create()
is considered internal and should not be called directly.
Method write()
Write (lifecycle: experimental)
Arguments
values
An
arrow::Table
orarrow::RecordBatch
containing all columns, including any index columns. The schema forvalues
must match the schema for theSOMADataFrame
.
Method read()
Read (lifecycle: experimental) Read a user-defined subset of data, addressed by the dataframe indexing column, and optionally filtered.
Usage
SOMADataFrame$read(
coords = NULL,
column_names = NULL,
value_filter = NULL,
result_order = "auto",
iterated = FALSE,
log_level = "auto"
)
Arguments
coords
Optional named list of indices specifying the rows to read; each (named) list element corresponds to a dimension of the same name.
column_names
Optional character vector of column names to return.
value_filter
Optional string containing a logical expression that is used to filter the returned values. See
tiledb::parse_query_condition
for more information.result_order
Optional order of read results. This can be one of either
"ROW_MAJOR,
"COL_MAJOR", or
"auto"` (default).iterated
Option boolean indicated whether data is read in call (when
FALSE
, the default value) or in several iterated steps.log_level
Optional logging level with default value of
"warn"
.
Returns
arrow::Table or TableReadIter
Method update()
Update (lifecycle: experimental)
Arguments
values
A
data.frame
,arrow::Table
, orarrow::RecordBatch
.row_index_name
An optional scalar character. If provided, and if the
values
argument is adata.frame
with row names, then the row names will be extracted and added as a new column to thedata.frame
prior to performing the update. The name of this new column will be set to the value specified byrow_index_name
.
Details
Update the existing SOMADataFrame
to add or remove columns based on the
input:
columns present in the current the
SOMADataFrame
but absent from the newvalues
will be droppedcolumns absent in current
SOMADataFrame
but present in the newvalues
will be addedany columns present in both will be left alone, with the exception that if
values
has a different type for the column, the entire update will fail because attribute types cannot be changed.
Furthermore, values
must contain the same number of rows as the current
SOMADataFrame
.