inst/examples/issue111-take2.R

library(tiledb)
uri <- tempfile()

dom <- tiledb_domain(dims = c(tiledb_dim("rows", c(1L, 5L), 5L, "INT32"),
                              tiledb_dim("cols", c(1L, 5L), 5L, "INT32")))

## The array will be dense with a single attribute "a" so each (i,j) cell can store an integer.
schema <- tiledb_array_schema(dom,
                              attrs = c(tiledb_attr("a", type = "INT32")),
                              sparse=TRUE)

## Create the (empty) array on disk.
tiledb_array_create(uri, schema)

data <- array(1:25, dim = c(5,5))

## Open the array to write to it.
A <- tiledb_array(uri = uri)

A[] <- data.frame(rows=rep(1:5,5), cols=rep(1:5,each=5), a=1:25)

## All the data
alldata <- A[]
cat("-- All the data\n")
show(alldata)

## Subsetting
data <- A[list(1:2), list(2:4)]
cat("\n-- A subset of the data\n")
show(data)

## Or via subarr
data <- A[list(3:5), list(3:5)]
cat("\n-- A subset of the data\n")
show(data)

## Or via range -- non-contiguous
data <- A[list(c(1:2),c(4:5)), list(3:5)]
cat("\n-- A subset of the data\n")
show(data)

Try the tiledb package in your browser

Any scripts or data that you put into this service are public.

tiledb documentation built on Sept. 27, 2023, 9:06 a.m.