From 02b829c5bfaedf53573c7bf542350de1244b604e Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 08:26:27 -0500 Subject: [PATCH 1/7] Mark three return preference arguments to tiledb_array as deprecated --- R/TileDBArray.R | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/R/TileDBArray.R b/R/TileDBArray.R index 4b2d2e27df..b7732f1393 100644 --- a/R/TileDBArray.R +++ b/R/TileDBArray.R @@ -182,6 +182,11 @@ tiledb_array <- function(uri, array_xptr <- libtiledb_array_open(ctx@ptr, uri, query_type) } + ## Deprecated July 2023, to removed by July 2024 or later + if (as.data.frame) .Deprecated(old="as.data.frame", new=r"(return_as="data.frame")") + if (as.matrix) .Deprecated(old="as.matrix", new=r"(return_as="matrix")") + if (as.array) .Deprecated(old="as.array", new=r"(return_as="array")") + if (length(timestamp_start) > 0) { libtiledb_array_set_open_timestamp_start(array_xptr, timestamp_start) } From 07c0fb38189c89d6ccca9cf6d971f37ce1ebfdaf Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 08:34:17 -0500 Subject: [PATCH 2/7] Convert four uses of as.data.frame to return_as="data.frame" --- R/DataFrame.R | 8 ++++---- R/SparseMatrix.R | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R/DataFrame.R b/R/DataFrame.R index f98e563079..f3f816610f 100644 --- a/R/DataFrame.R +++ b/R/DataFrame.R @@ -76,7 +76,7 @@ ##' ## turn factor into character ##' irisdf <- within(iris, Species <- as.character(Species)) ##' fromDataFrame(irisdf, uri) -##' arr <- tiledb_array(uri, as.data.frame=TRUE, sparse=FALSE) +##' arr <- tiledb_array(uri, return_as="data.frame", sparse=FALSE) ##' newdf <- arr[] ##' all.equal(iris, newdf) ##' } @@ -265,7 +265,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(obj, uri) - df <- tiledb_array(uri, as.data.frame=TRUE) + df <- tiledb_array(uri, return_as="data.frame") df[] } @@ -292,7 +292,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa } fromDataFrame(bkdf, uri) - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] invisible(newdf) } @@ -305,7 +305,7 @@ fromDataFrame <- function(obj, uri, col_index=NULL, sparse=TRUE, allows_dups=spa fromDataFrame(df, uri) cat("Data written\n") - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] invisible(newdf) } diff --git a/R/SparseMatrix.R b/R/SparseMatrix.R index 3101ac06b8..20f73f373a 100644 --- a/R/SparseMatrix.R +++ b/R/SparseMatrix.R @@ -112,7 +112,7 @@ fromSparseMatrix <- function(obj, toSparseMatrix <- function(uri) { stopifnot(`Argument 'uri' must be character` = is.character(uri)) - arr <- tiledb_array(uri, as.data.frame=TRUE, query_layout="UNORDERED") + arr <- tiledb_array(uri, return_as="data.frame", query_layout="UNORDERED") obj <- arr[] dimnm <- list(NULL, NULL) # by default no dimnames From fa0e0757fc09048ba871838b9950ec5d00104dff Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 08:55:41 -0500 Subject: [PATCH 3/7] Update tests accordingly --- inst/tinytest/test_arrowio.R | 4 +- inst/tinytest/test_attr.R | 6 +- inst/tinytest/test_dataframe.R | 36 ++++----- inst/tinytest/test_dim.R | 12 +-- inst/tinytest/test_dimsubset.R | 6 +- inst/tinytest/test_metadata.R | 6 +- inst/tinytest/test_query.R | 2 +- inst/tinytest/test_querycondition.R | 54 ++++++------- inst/tinytest/test_tiledbarray.R | 108 ++++++++++++------------- inst/tinytest/test_tiledbarray_extra.R | 2 +- inst/tinytest/test_timetravel.R | 30 +++---- inst/tinytest/test_timetravel_extra.R | 8 +- 12 files changed, 136 insertions(+), 138 deletions(-) diff --git a/inst/tinytest/test_arrowio.R b/inst/tinytest/test_arrowio.R index 5f2598e879..de1a3a740f 100644 --- a/inst/tinytest/test_arrowio.R +++ b/inst/tinytest/test_arrowio.R @@ -73,7 +73,7 @@ tiledb_query_set_layout(qry, "UNORDERED") tiledb_query_submit(qry) tiledb_query_finalize(qry) -#arr <- tiledb_array(tmp, as.data.frame=TRUE) +#arr <- tiledb_array(tmp, return_as="data.frame") #print(arr[]) @@ -162,7 +162,7 @@ tiledb_query_set_layout(qry, "UNORDERED") tiledb_query_submit(qry) tiledb_query_finalize(qry) -arr <- tiledb_array(tmp, as.data.frame=TRUE) +arr <- tiledb_array(tmp, return_as="data.frame") df <- arr[] for (i in 1:10) { diff --git a/inst/tinytest/test_attr.R b/inst/tinytest/test_attr.R index a15d3a8a95..79f4d61f0c 100644 --- a/inst/tinytest/test_attr.R +++ b/inst/tinytest/test_attr.R @@ -142,7 +142,7 @@ attrib <- c(tiledb_attr("year", type = "DATETIME_YEAR"), # year schema <- tiledb_array_schema(domain, attrib, sparse=TRUE) res <- tiledb_array_create(uri, schema) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") dvec <- 1:3 data <- data.frame(row = dvec, @@ -162,7 +162,7 @@ data <- data.frame(row = dvec, ) arr[] <- data -arr2 <- tiledb_array(uri, as.data.frame=TRUE) +arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] expect_true(all.equal(data, readdata, check.attributes=FALSE)) @@ -217,7 +217,7 @@ df <- data.frame(row = 1:10, arr <- tiledb_array(uri) arr[] <- df -newarr <- tiledb_array(uri, as.data.frame=TRUE) +newarr <- tiledb_array(uri, return_as="data.frame") chk <- newarr[] expect_equal(df[,1:10], chk[,1:10]) expect_equivalent(as.numeric(df[,11]), chk[,11]) # we currently return uint64_t as numeric diff --git a/inst/tinytest/test_dataframe.R b/inst/tinytest/test_dataframe.R index 18ed7709bc..625cb5a4c2 100644 --- a/inst/tinytest/test_dataframe.R +++ b/inst/tinytest/test_dataframe.R @@ -16,7 +16,7 @@ if (tiledb_version(TRUE) < "2.7.0") exit_file("Needs TileDB 2.7.* or later") fromDataFrame(irisdf, uri) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] #if (getRversion() >= '4.0.0') newdf$Species <- as.factor(newdf$Species) if (getRversion() < '4.0.0') newdf$Species <- as.character(newdf$Species) @@ -29,7 +29,7 @@ expect_equal(irisdf, newdf[,-1]) ## test attrs subselection -arr <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE, +arr <- tiledb_array(uri, return_as="data.frame", extended=FALSE, attrs = c("Petal.Length", "Petal.Width")) newdf <- arr[] expect_equivalent(iris[, c("Petal.Length", "Petal.Width")], newdf) # skip attribute @@ -58,7 +58,7 @@ df <- data.frame(char=c("abc", "def", "g", "hijk"), fromDataFrame(df, uri) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") newdf <- arr[] ## result comes back as factor by default @@ -78,7 +78,7 @@ df <- data.frame(index=sort(sample(1:1000, rows)), vals=rnorm(rows) * 100, stringsAsFactors=FALSE) fromDataFrame(df, uri) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars) expect_equal(df, chk[,-1]) # omit first col which is added @@ -87,7 +87,7 @@ if (tiledb_version(TRUE) < "2.1.0") exit_file("Remaining tests require TileDB 2. if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, col_index=1) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars) expect_equal(df[,2], na.omit(chk)[,2]) # compare column by column @@ -96,7 +96,7 @@ expect_equal(df[,3], na.omit(chk)[,3]) if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, col_index="index") -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars) expect_equal(df[,2], na.omit(chk)[,2]) # compare column by column @@ -108,7 +108,7 @@ df <- data.frame(chars=olddf$chars, val=olddf$vals) if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') { df$chars <- as.character(df$chars) @@ -118,7 +118,7 @@ expect_equal(df, chk[,-1]) # omit first col which is added if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, col_index=2) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars) expect_equal(df[,1], na.omit(chk)[,2]) # compare column by column @@ -126,7 +126,7 @@ expect_equal(df[,3], na.omit(chk)[,3]) if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, col_index="index") -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$chars <- as.character(chk$chars) expect_equal(df[,1], na.omit(chk)[,2]) # compare column by column @@ -155,13 +155,13 @@ df <- data.frame(time=round(Sys.time(), "secs") + trunc(cumsum(runif(nobs)*3600) if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE) -chk <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE) +chk <- tiledb_array(uri, return_as="data.frame", extended=FALSE) expect_equivalent(df, chk[]) # skip attribute for (i in seq_len(dim(df)[2])) { if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE, col_index=i) - chk <- tiledb_array(uri, as.data.frame=TRUE) + chk <- tiledb_array(uri, return_as="data.frame") expect_equal(df, chk[][,colnames(df)]) # index col comes first so need re-order } @@ -181,7 +181,7 @@ df <- data.frame(time = round(Sys.time(), "secs") + trunc(cumsum(runif(nobs)*360 if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE) -chk <- tiledb_array(uri, as.data.frame=TRUE, extended=FALSE) +chk <- tiledb_array(uri, return_as="data.frame", extended=FALSE) newdf <- chk[] if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt) expect_equivalent(df, newdf) # skip attribute @@ -190,7 +190,7 @@ expect_equivalent(df, newdf) # skip attribute for (i in seq_len(dim(df)[2])) { if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE, col_index=i) - chk <- tiledb_array(uri, as.data.frame=TRUE) + chk <- tiledb_array(uri, return_as="data.frame") newdf <- chk[] if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt) expect_equal(df, newdf[, colnames(df)]) @@ -201,14 +201,14 @@ combinations <- list(c(1,2), c(1,3), c(2,4), c(3,5), c(4,5), c(2,3,4)) for (comb in combinations) { if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE, col_index=comb) # by index - chk <- tiledb_array(uri, as.data.frame=TRUE) + chk <- tiledb_array(uri, return_as="data.frame") newdf <- chk[] if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt) expect_equal(df, newdf[][, colnames(df)]) if (dir.exists(uri)) unlink(uri, recursive=TRUE) fromDataFrame(df, uri, sparse=TRUE, col_index=colnames(df)[comb]) # by name - chk <- tiledb_array(uri, as.data.frame=TRUE) + chk <- tiledb_array(uri, return_as="data.frame") newdf <- chk[] if (getRversion() < '4.0.0') newdf$txt <- as.character(newdf$txt) expect_equal(df, newdf[, colnames(df)]) @@ -223,7 +223,7 @@ dat <- data.frame(A=1:10, dat[3,1] <- NA dat[4,3] <- NA fromDataFrame(dat, uri) -chk <- tiledb_array(uri, as.data.frame=TRUE) +chk <- tiledb_array(uri, return_as="data.frame") val <- chk[][,-1] # omit added rows if (getRversion() < '4.0.0') { dat$B <- as.character(dat$B) @@ -239,7 +239,7 @@ D <- data.frame(sample=paste(LETTERS[1:N], as.character(sort(trunc(runif(N, 100, stringsAsFactors=FALSE) uri <- tempfile() fromDataFrame(D, uri, col_index=1, sparse=TRUE) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') { chk$sample <- as.character(chk$sample) @@ -260,7 +260,7 @@ expect_error(fromDataFrame(df, uri, col_index=1, sparse=TRUE, allows_dups=FALSE) uri <- tempfile() expect_silent(arr <- fromDataFrame(df, uri, col_index=1, sparse=TRUE, allows_dups=TRUE)) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") chk <- arr[] if (getRversion() < '4.0.0') chk$char <- as.character(chk$char) expect_equivalent(df, chk) # skip attribute diff --git a/inst/tinytest/test_dim.R b/inst/tinytest/test_dim.R index d474917539..40c370497e 100644 --- a/inst/tinytest/test_dim.R +++ b/inst/tinytest/test_dim.R @@ -163,7 +163,7 @@ for (dtype in dimtypes) { schema <- tiledb_array_schema(domain, attrib, sparse=TRUE) tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dvec <- switch(dtype, "ASCII" = LETTERS[1:5], "INT8" =, @@ -195,7 +195,7 @@ for (dtype in dimtypes) { data <- data.frame(row = dvec, attr = avec, stringsAsFactors=FALSE) arr[] <- data - arr2 <- tiledb_array(uri, as.data.frame=TRUE) + arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] if (dtype == "ASCII" && getRversion() < '4.0.0') readdata$row <- as.character(readdata$row) if (dtype == "UINT64") readdata[,1] <- as.integer64(readdata[,1]) # return doubles here @@ -212,7 +212,7 @@ for (dtype in dimtypes) { } ## subset tests - arr3 <- tiledb_array(uri, as.data.frame=TRUE) + arr3 <- tiledb_array(uri, return_as="data.frame") if (dtype %in% c("DATETIME_YEAR", "DATETIME_MONTH", "DATETIME_WEEK", "DATETIME_DAY")) { scaleDate <- function(val, dtype) { val <- switch(dtype, @@ -331,7 +331,7 @@ for (dtype in dimtypes) { schema <- tiledb_array_schema(domain, attrib, sparse=TRUE) tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dvec <- switch(dtype, "ASCII" = LETTERS[1:5], "INT8" =, @@ -363,7 +363,7 @@ for (dtype in dimtypes) { data <- data.frame(row = dvec, attr = avec, stringsAsFactors=FALSE) arr[] <- data - ## arr2 <- tiledb_array(uri, as.data.frame=TRUE) + ## arr2 <- tiledb_array(uri, return_as="data.frame") ## readdata <- arr2[] ## if (dtype == "ASCII" && getRversion() < '4.0.0') readdata$row <- as.character(readdata$row) ## if (dtype == "UINT64") readdata[,1] <- as.integer64(readdata[,1]) # return doubles here @@ -380,7 +380,7 @@ for (dtype in dimtypes) { ## } ## subset tests - arr3 <- tiledb_array(uri, as.data.frame=TRUE) + arr3 <- tiledb_array(uri, return_as="data.frame") if (dtype %in% c("DATETIME_YEAR", "DATETIME_MONTH", "DATETIME_WEEK", "DATETIME_DAY")) { scaleDate <- function(val, dtype) { val <- switch(dtype, diff --git a/inst/tinytest/test_dimsubset.R b/inst/tinytest/test_dimsubset.R index e779c48d79..40ac6d04c9 100644 --- a/inst/tinytest/test_dimsubset.R +++ b/inst/tinytest/test_dimsubset.R @@ -78,7 +78,7 @@ log_info("re-arranged list object made") arr[] <- newlst log_info("array written") -newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED") +newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED") dat <- newarr[] log_info("array read") expect_equal(nrow(dat), nrow(flights)) @@ -97,7 +97,7 @@ expect_equal(unique(dat$origin), "JFK") expect_equal(unique(dat$dest), "BOS") ## same via selected_points -newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED", +newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED", selected_points= list("AA", "JFK", "BOS", NULL)) dat <- newarr[] expect_equal(unique(dat$carrier), "AA") @@ -105,7 +105,7 @@ expect_equal(unique(dat$origin), "JFK") expect_equal(unique(dat$dest), "BOS") ## test named lists with one element -newarr <- tiledb_array(tmp, as.data.frame=TRUE, query_layout="UNORDERED") +newarr <- tiledb_array(tmp, return_as="data.frame", query_layout="UNORDERED") selected_ranges(newarr) <- list(carrier = cbind("AA","AA")) dat <- newarr[] expect_equal(unique(dat$carrier), "AA") diff --git a/inst/tinytest/test_metadata.R b/inst/tinytest/test_metadata.R index a074ddc2bc..d127cc5720 100644 --- a/inst/tinytest/test_metadata.R +++ b/inst/tinytest/test_metadata.R @@ -19,8 +19,7 @@ unlink_and_create_simple <- function(tmp) { sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE) tiledb_array_create(tmp, sch) - #arr <- tiledb_sparse(tmp, as.data.frame=FALSE) - arr <- tiledb_array(tmp, as.data.frame=FALSE) + arr <- tiledb_array(tmp, return_as="asis") if (tiledb:::libtiledb_array_is_open(arr@ptr)) { tiledb_array_close(arr) @@ -44,8 +43,7 @@ unlink_and_create_ptr <- function(tmp) { arr <- tiledb_array_open(arr, "READ") ##return(arrR) - #arr <- tiledb_sparse(tmp, as.data.frame=FALSE) - arr <- tiledb_array(tmp, as.data.frame=FALSE) + arr <- tiledb_array(tmp, return_as="asis") } close_and_reopen <- function(arr, txt) { diff --git a/inst/tinytest/test_query.R b/inst/tinytest/test_query.R index ffc0400cb0..8486a1ca45 100644 --- a/inst/tinytest/test_query.R +++ b/inst/tinytest/test_query.R @@ -239,7 +239,7 @@ cfg <- tiledb_config() cfg["sm.memory_budget"] <- "16" cfg["sm.memory_budget_var"] <- "32" ctx <- tiledb_ctx(cfg) -array <- tiledb_array(tmp, as.data.frame=TRUE) +array <- tiledb_array(tmp, return_as="data.frame") if (packageVersion("tiledb") <= "0.11.0") expect_warning(res <- array[]) # newer versions loop, no warning diff --git a/inst/tinytest/test_querycondition.R b/inst/tinytest/test_querycondition.R index eef661caad..1101cf5069 100644 --- a/inst/tinytest/test_querycondition.R +++ b/inst/tinytest/test_querycondition.R @@ -145,16 +145,16 @@ if (!requireNamespace("palmerpenguins", quietly=TRUE)) exit_file("remainder need library(palmerpenguins) uri <- tempfile() fromDataFrame(penguins, uri, sparse=TRUE) -unconstr <- tiledb_array(uri, as.data.frame=TRUE) +unconstr <- tiledb_array(uri, return_as="data.frame") expect_equal(NROW(unconstr[]), 344L) # no condition -> 344 rows qc <- tiledb_query_condition_init("year", 2009, "INT32", "EQ") -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) res <- arrwithqc[] expect_equal(NROW(res), 120L) # year 2009 only -> 120 rows expect_true(all(res$year == 2009)) -arr2 <- tiledb_array(uri, as.data.frame=TRUE) +arr2 <- tiledb_array(uri, return_as="data.frame") expect_equal(NROW(arr2[]), 344L) # no condition -> 344 rows query_condition(arr2) <- qc expect_equal(NROW(arr2[]), 120L) # year 2009 only -> 120 rows @@ -174,13 +174,13 @@ uri <- tempfile() fromDataFrame(penguins, uri, sparse=TRUE) arr <- tiledb_array(uri) qc <- parse_query_condition(year == 2009) -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) res <- arrwithqc[] expect_equal(NROW(res), 120L) # year 2009 only -> 120 rows expect_true(all(res$year == 2009)) qc2 <- parse_query_condition(year == 2009 && bill_length_mm <= 39.99) -arrwithqc2 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc2) +arrwithqc2 <- tiledb_array(uri, return_as="data.frame", query_condition=qc2) res <- arrwithqc2[] expect_equal(NROW(res), 34L) expect_true(all(res$bill_length_mm < 40)) @@ -188,14 +188,14 @@ expect_true(all(res$year == 2009)) if (tiledb_version(TRUE) >= "2.10.0") { # the OR operator is more recent than query conditions overall qc3 <- parse_query_condition(island %in% c("Dream", "Biscoe"), arr) - arrwithqc3 <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE, query_condition=qc3) + arrwithqc3 <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE, query_condition=qc3) res <- arrwithqc3[] expect_equal(NROW(res), 168+124) expect_true(all(res$island != "Torgersen")) expect_true(all(res$island == "Dream" | res$island == "Biscoe")) qc4 <- parse_query_condition(island %in% c("Dream", "Biscoe") && body_mass_g > 3500, arr) - arrwithqc4 <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE, query_condition=qc4) + arrwithqc4 <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE, query_condition=qc4) res <- arrwithqc4[] expect_equal(NROW(res), 153+80) expect_true(all(res$island != "Torgersen")) @@ -212,13 +212,13 @@ if (Sys.getenv("MY_UNIVERSE", "") != "") exit_file("Skip remainder at r-universe uri <- tempfile() fromDataFrame(na.omit(penguins), uri, sparse=TRUE) qc3 <- parse_query_condition(sex == "male") -arrwithqc3 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc3) +arrwithqc3 <- tiledb_array(uri, return_as="data.frame", query_condition=qc3) res <- arrwithqc3[] expect_equal(NROW(res), 168L) expect_true(all(res$sex == "male")) qc <- tiledb_query_condition_init("sex", "female", "ASCII", "EQ") -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) res <- arrwithqc[] expect_equal(NROW(res), 165L) expect_true(all(res$sex != "male")) @@ -230,21 +230,21 @@ uri <- tempfile() fromDataFrame(edgecases, uri, sparse=TRUE) qcx1 <- tiledb::parse_query_condition(x1 == "a1") -arrx1 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx1) +arrx1 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx1) res <- arrx1[] expect_equal(res$x1, "a1") qcx2 <- tiledb::parse_query_condition(x2 == 1L) -arrx2 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx2) +arrx2 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx2) res <- arrx2[] expect_equal(res$x2, 1L) qcx3 <- tiledb::parse_query_condition(x3 == "_1") -arrx3 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx3) +arrx3 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx3) expect_equal(arrx3[]$x3, "_1") qcx4 <- tiledb::parse_query_condition(x4 == "1.1.1") -arrx4 <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qcx4) +arrx4 <- tiledb_array(uri, return_as="data.frame", query_condition=qcx4) expect_equal(arrx4[]$x4, "1.1.1") @@ -254,9 +254,9 @@ df <- data.frame(abb = state.abb, # builtin-data name = state.name) # idem uri <- tempfile() fromDataFrame(df, uri, col_index="abb", sparse=TRUE) -fullarr <- tiledb_array(uri, as.data.frame=TRUE)[] +fullarr <- tiledb_array(uri, return_as="data.frame")[] expect_equal(dim(fullarr), c(50,3)) -subarr <- tiledb_array(uri, as.data.frame=TRUE, +subarr <- tiledb_array(uri, return_as="data.frame", query_condition=parse_query_condition(region == "Northeast"))[] expect_equal(dim(subarr), c(9,3)) @@ -272,68 +272,68 @@ fromDataFrame(penguins, uri, sparse=TRUE) ## Basics qc <- tiledb_query_condition_init("year", 2009, "INT32", "EQ") -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arrwithqc[]), 120L) lhs <- tiledb_query_condition_init("year", 2008, "INT32", "GE") rhs <- tiledb_query_condition_init("year", 2008, "INT32", "LE") qc <- tiledb_query_condition_combine(lhs, rhs, "AND") -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arrwithqc[]), 114L) # basically a different way of writing EQ via '<= && >=' lhs <- tiledb_query_condition_init("year", 2008, "INT32", "GE") rhs <- tiledb_query_condition_init("year", 2008, "INT32", "LE") qc <- tiledb_query_condition_combine(lhs, rhs, "OR") -arrwithqc <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arrwithqc <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arrwithqc[]), 344L) # the OR makes it unconstrained via '<= || >=' ## simple OR qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap") -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) ## Note that in R '||' is used for length-1 comparison, and '|' along a vector so '|' here expect_equal(NROW(arr[]), sum(with(penguins, species == "Adelie" | species == "Chinstrap"))) ## three elements works too qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap" || year >= 2009) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, species == "Adelie" | species == "Chinstrap" | year >= 2009))) ## three elements works too as does mixing AND and OR qc <- parse_query_condition(species == "Adelie" || species == "Chinstrap" && year >= 2009) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, species == "Adelie" | species == "Chinstrap" & year >= 2009))) ## empty sets are fine qc <- parse_query_condition(year < 2008 || year > 2010) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year < 2008 | year > 2010))) ## Overlapping ranges qc <- parse_query_condition(year < 2009 && year < 2010) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year < 2009))) qc <- parse_query_condition(year <= 2009 && year >= 2009) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year == 2009))) qc <- parse_query_condition(year < 2009 || year < 2010) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year < 2010))) ## Last two with single & or | qc <- parse_query_condition(year <= 2009 & year >= 2009) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year == 2009))) qc <- parse_query_condition(year < 2009 | year < 2010) -arr <- tiledb_array(uri, as.data.frame=TRUE, query_condition=qc) +arr <- tiledb_array(uri, return_as="data.frame", query_condition=qc) expect_equal(NROW(arr[]), sum(with(penguins, year < 2010))) ## query conditions over different types diff --git a/inst/tinytest/test_tiledbarray.R b/inst/tinytest/test_tiledbarray.R index e30e3fe771..b11175e681 100644 --- a/inst/tinytest/test_tiledbarray.R +++ b/inst/tinytest/test_tiledbarray.R @@ -30,7 +30,7 @@ tiledb_array_create(tmp, sch) N <- 10 dat <- matrix(rnorm(N), N, 1) -arr <- tiledb_array(tmp, is.sparse=TRUE, as.data.frame=TRUE) +arr <- tiledb_array(tmp, is.sparse=TRUE, return_as="data.frame") I <- as.Date("2020-01-01") + seq_len(N) J <- sample(c("ABC","DEF","GHI"), N, replace=TRUE) @@ -56,7 +56,7 @@ tiledb_array_create(tmp, sch) N <- 10 dat <- matrix(rnorm(N), N, 1) -arr <- tiledb_array(tmp, is.sparse=TRUE, as.data.frame=TRUE) +arr <- tiledb_array(tmp, is.sparse=TRUE, return_as="data.frame") I <- as.POSIXct("2020-01-01") + seq_len(N)*3600 J <- sample(c("ABC","DEF","GHI"), N, replace=TRUE) @@ -86,7 +86,7 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb")) dir.create(tmpuri <- tempfile()) fromDataFrame(dat[,-1], tmpuri) -arr <- tiledb_array(tmpuri, as.data.frame=TRUE) +arr <- tiledb_array(tmpuri, return_as="data.frame") newdat <- arr[] expect_equal(dat[,-1], newdat[,-1]) @@ -134,10 +134,10 @@ sch <- tiledb_array_schema(dom, attrs = c(tiledb_attr("age", type="INT32"), sparse = TRUE) tiledb_array_create(tmpuri, sch) -arr <- tiledb_array(tmpuri, as.data.frame=TRUE) +arr <- tiledb_array(tmpuri, return_as="data.frame") arr[] <- dat -newarr <- tiledb_array(tmpuri, as.data.frame=TRUE) +newarr <- tiledb_array(tmpuri, return_as="data.frame") newdat <- newarr[] expect_equivalent(dat, newdat) @@ -165,10 +165,10 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb")) dir.create(tmpuri <- tempfile()) fromDataFrame(dat[,-1], tmpuri) -arr1 <- tiledb_array(tmpuri, as.data.frame=TRUE) +arr1 <- tiledb_array(tmpuri, return_as="data.frame") dat1 <- arr1[] -arr2 <- tiledb_array(tmpuri, as.data.frame=TRUE, extended=FALSE) +arr2 <- tiledb_array(tmpuri, return_as="data.frame", extended=FALSE) dat2 <- arr2[] ## dat2 should have fewer as not extended expect_true(ncol(dat1) > ncol(dat2)) @@ -208,7 +208,7 @@ dat <- readRDS(system.file("sampledata", "bankSample.rds", package="tiledb")) dir.create(tmpuri <- tempfile()) fromDataFrame(dat[,-1], tmpuri) -arr <- tiledb_array(tmpuri, as.data.frame=TRUE, extended=FALSE) +arr <- tiledb_array(tmpuri, return_as="data.frame", extended=FALSE) expect_true(length(attrs(arr)) == 0) sels <- c("age", "job", "education", "duration") @@ -236,10 +236,10 @@ val <- tiledb_attr("val", type = "FLOAT64") sch <- tiledb_array_schema(dom, val, sparse=TRUE) rc <- tiledb_array_create(tmpuri, sch) -x <- tiledb_array(uri = tmpuri, as.data.frame=TRUE) +x <- tiledb_array(uri = tmpuri, return_as="data.frame") x[] <- list(d1=1:10, d2=1:10, val=y) -x <- tiledb_array(uri = tmpuri, as.data.frame=TRUE) +x <- tiledb_array(uri = tmpuri, return_as="data.frame") ## intersection: 2 and 8 ... from 1 to 2 and 7 to 9, and 2 and 8 selected_ranges(x) <- list(matrix(c(1,2,7,9),2,byrow=TRUE), @@ -292,7 +292,7 @@ val <- tiledb_attr("val", type = "FLOAT64") sch <- tiledb_array_schema(dom, c(val), sparse=TRUE) tiledb_array_create(tmp, sch) -x <- tiledb_array(uri = tmp, as.data.frame=TRUE) +x <- tiledb_array(uri = tmp, return_as="data.frame") df <- data.frame(d1=integer(0), d2=integer(0), val=numeric(0)) ## cannot currently write (corner-case) zero-length data.frame via <- #x[] <- df @@ -324,7 +324,7 @@ val <- tiledb_attr("val", type = "FLOAT64") sch <- tiledb_array_schema(dom, val, sparse=TRUE) tiledb_array_create(tmp, sch) -x <- tiledb_array(uri = tmp, as.data.frame=TRUE) +x <- tiledb_array(uri = tmp, return_as="data.frame") set.seed(100) df <- data.frame(d1=sample(100, 10, replace=TRUE), @@ -363,7 +363,7 @@ J <- c(1L, 2L, 3L) K <- c(1L, 2L, 4L) L <- c(1L, 2L, 3L) data <- c(1.0, 2.1, 3.3) -A <- tiledb_array(uri = tmp, as.data.frame=TRUE) +A <- tiledb_array(uri = tmp, return_as="data.frame") A[] <- data.frame(d1=I, d2=J, d3=K, d4=L, a=data) ## constrain to one row @@ -405,7 +405,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[as.integer64(1:2), as.integer64(2:4)] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], as.integer64(c(2, 2))) @@ -439,7 +439,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[as.integer64(1:2), as.integer64(2:4)] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -471,7 +471,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[1:2, 2:4] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -500,7 +500,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[1:2, 2:4] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -529,7 +529,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[1:2, 2:4] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -558,7 +558,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[1:2, 2:4] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -587,7 +587,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { data <- c(1L, 2L, 3L) A[I,J] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE) + A <- tiledb_array(uri = tmp, return_as="data.frame") newdata <- A[1:2, 2:4] expect_equal(newdata[,"a"], c(3L, 2L)) expect_equal(newdata[,"rows"], c(2L, 2L)) @@ -618,7 +618,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -649,7 +649,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -680,7 +680,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -711,7 +711,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -742,7 +742,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -773,7 +773,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -804,7 +804,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[as.integer64(rep(1:4,each=4)), as.integer64(rep(1:4,4))] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[as.integer64(1:2), as.integer64(2:3)] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], as.integer64(c(1L, 1L, 2L, 2L))) @@ -836,7 +836,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[as.integer64(rep(1:4,each=4)), as.integer64(rep(1:4,4))] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[as.integer64(1:2), as.integer64(2:3)] expect_equal(newdata[,"a"], c(2L, 3L, 6L, 7L)) expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) @@ -887,7 +887,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices #A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) expect_equal(newdata[,"cols"], c(2L, 3L, 2L, 3L)) @@ -943,7 +943,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { ## or with indices A[rep(1:4,each=4), rep(1:4,4)] <- data - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, query_layout="ROW_MAJOR") + A <- tiledb_array(uri = tmp, return_as="data.frame", query_layout="ROW_MAJOR") newdata <- A[1:2, 2:3] expect_equal(newdata[,"rows"], c(1L, 1L, 2L, 2L)) expect_equal(newdata[,"cols"], c(2L, 3L, 2L, 3L)) @@ -1024,13 +1024,13 @@ A <- tiledb_array(uri = tmp, timestamp_end=now2) A[I, J] <- data if (tiledb_version(TRUE) >= "2.10.0") { - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 - onet) + A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 - onet) expect_equal(nrow(A[]), 0) - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 + onet) + A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 + onet) expect_equal(nrow(A[]), 3) - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now2 - onet) + A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now2 - onet) expect_equal(nrow(A[]), 3) - A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now2 + onet) + A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now2 + onet) expect_equal(nrow(A[]), 6) } @@ -1049,12 +1049,12 @@ arr <- tiledb_array(tmp) query_layout(arr) <- "COL_MAJOR" # needed if we want column order arr[] <- mat # we can write directly -arr2 <- tiledb_array(tmp, as.matrix=TRUE) +arr2 <- tiledb_array(tmp, return_as="matrix") mat2 <- arr2[] expect_true(all.equal(mat, mat2, check.attributes=FALSE)) # check round-turn ## check no double selection -expect_error(tiledb_array(tmp, as.data.frame=TRUE, as.matrix=TRUE)) +expect_error(tiledb_array(tmp, as.data.frame=TRUE, as.matrix=TRUE)) # TODO: remove when removing as.data.frame and as.matrix ## check matrix return and not data.frame return when row col select expect_false(is.data.frame(suppressMessages(arr2[1:2,]))) expect_true(is.matrix(suppressMessages(arr2[1:2,]))) @@ -1070,18 +1070,18 @@ selected_ranges(arr2) <- list(cbind(c(1,4),c(2,5)), cbind(2,2)) expect_equivalent(arr2[], cbind(c(6,7,9,10))) -arr3 <- tiledb_array(tmp, as.data.frame=TRUE) +arr3 <- tiledb_array(tmp, return_as="data.frame") df1 <- arr3[] df1$vals2 <- df1$vals * 10 tmp2 <- tempfile() fromDataFrame(df1, tmp2) ## check selecting matrix out of multiple cols -arr4 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals2"), as.matrix=TRUE) +arr4 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals2"), return_as="matrix") expect_equivalent(arr4[], 10*mat) -arr5 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals"), as.matrix=TRUE) +arr5 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals"), return_as="matrix") expect_equivalent(arr5[], mat) -arr6 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals", "vals2"), as.matrix=TRUE) +arr6 <- tiledb_array(tmp2, attrs=c("rows", "cols", "vals", "vals2"), return_as="matrix") res <- arr6[] expect_true(is.list(res)) expect_equal(length(res), 2L) @@ -1104,12 +1104,12 @@ data <- list(a=array(seq(1:50), dim = c(10,5)), c=array(c(letters[1:26], "brown", "fox", LETTERS[1:22]), dim = c(10,5))) A <- tiledb_array(uri) A[] <- data -obj <- tiledb_array(uri, attrs="a", as.data.frame=TRUE) +obj <- tiledb_array(uri, attrs="a", return_as="data.frame") res <- obj[] expect_equal(colnames(res), c("rows", "cols", "a")) # this was the PR issues -obj <- tiledb_array(uri, attrs="a", as.matrix=TRUE) # this is the preferred accessor here +obj <- tiledb_array(uri, attrs="a", return_as="matrix") # this is the preferred accessor here expect_equivalent(obj[], data[["a"]]) -obj <- tiledb_array(uri, as.matrix=TRUE) # test all three matrices +obj <- tiledb_array(uri, return_as="matrix") # test all three matrices res <- obj[] expect_equal(res[["a"]], data[["a"]]) expect_equal(res[["b"]], data[["b"]]) @@ -1127,7 +1127,7 @@ tiledb_array_create(uri, schema) obj <- tiledb_array(uri, attrs="x", query_type="WRITE") M <- matrix(runif(N*K), N, K) obj[] <- M # prior to #246 this write had a write data type -chk <- tiledb_array(uri, as.matrix=TRUE) +chk <- tiledb_array(uri, return_as="matrix") expect_equivalent(chk[], M) @@ -1138,7 +1138,7 @@ uri <- tempfile() fromDataFrame(penguins, uri, sparse = TRUE, col_index = c("species", "year"), tile_domain=list(year=c(1966L, 2021L))) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") ## new data newdf <- penguins[1:2,] newdf$species <- c("Fred", "Ginger") @@ -1146,7 +1146,7 @@ newdf$island <- c("Manhattan", "Staten Island") newdf$year <- c(1966L, 1969L) # int is important arr[] <- newdf ## check it -chk <- tiledb_array(uri, as.data.frame=TRUE) +chk <- tiledb_array(uri, return_as="data.frame") res <- chk[] expect_true(1966L %in% res$year) expect_true(1969L %in% res$year) @@ -1174,11 +1174,11 @@ expect_equal(res1, res2) ## FYI: 152 tests here ## check for strings_as_factors -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") res <- arr[] expect_equal(class(res[,"species"]), "character") expect_equal(class(res[,"sex"]), "character") -arr <- tiledb_array(uri, as.data.frame=TRUE, strings_as_factors=TRUE) +arr <- tiledb_array(uri, return_as="data.frame", strings_as_factors=TRUE) res <- arr[] expect_equal(class(res[,"species"]), "factor") expect_equal(class(res[,"sex"]), "factor") @@ -1201,7 +1201,7 @@ arr[I, J] <- mat[I, J] I <- 4:5 J <- 1:4 arr[I,J] <- mat[I, J] -arr2 <- tiledb_array(uri, as.matrix=TRUE) +arr2 <- tiledb_array(uri, return_as="matrix") res <- arr2[] expect_equal(dim(res), c(5,4)) expect_equal(sum(is.na(res[1:3,1:2])), 6) # arr[1:3,1:2] all NA @@ -1222,9 +1222,9 @@ res <- tiledb_array_create(uri, schema) data <- list(a=array(seq(1:100), dim = c(10,5, 2)), b=array(as.double(seq(101,by=0.5,length=100)), dim = c(10,5,2)), c=array(rep(c(letters[1:26], "brs", "asdf", LETTERS[1:22]), 2), dim = c(10,5,2))) -A <- tiledb_array(uri = uri, as.data.frame = TRUE, query_layout = "ROW_MAJOR") +A <- tiledb_array(uri = uri, return_as="data.frame", query_layout = "ROW_MAJOR") A[] <- data -chk <- tiledb_array(uri = uri, as.data.frame=TRUE) +chk <- tiledb_array(uri = uri, return_as="data.frame") res <- chk[] expect_equal(dim(res), c(100,6)) expect_equal(colnames(res), c("rows", "cols", "time", "a", "b", "c")) @@ -1414,7 +1414,7 @@ if (requireNamespace("bit64", quietly=TRUE)) { library(palmerpenguins) uri <- tempfile() fromDataFrame(penguins, uri, sparse = TRUE, col_index = c("species", "year")) -arr <- tiledb_array(uri, as.data.frame = TRUE, attrs = NA_character_) +arr <- tiledb_array(uri, return_as="data.frame", attrs = NA_character_) res <- arr[] expect_equal(NCOL(res), 2) expect_equal(colnames(res), c("species", "year")) @@ -1435,14 +1435,14 @@ if (getRversion() < "4.3.0" && Sys.info()[["sysname"]] == "Windows") exit_file(" ## check for incomplete status on unsuccessful query -- this no longer fails following some changes made #set_allocation_size_preference(128) # too low for penguins to query fully -#array <- tiledb_array(uri, as.data.frame=TRUE, query_layout="ROW_MAJOR") +#array <- tiledb_array(uri, return_as="data.frame", query_layout="ROW_MAJOR") #expect_warning(res <- array[]) # warning emitted #expect_equal(attr(res, "query_status"), "INCOMPLETE") # and query status reported if (Sys.getenv("IS_COVR", "no") == "no") { ## check for batched operation -- but not in coverage set_allocation_size_preference(1024) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") lst <- tiledb:::createBatched(arr) res1 <- tiledb:::fetchBatched(arr, lst) expect_false(completedBatched(lst)) diff --git a/inst/tinytest/test_tiledbarray_extra.R b/inst/tinytest/test_tiledbarray_extra.R index c8380127bf..01c1121442 100644 --- a/inst/tinytest/test_tiledbarray_extra.R +++ b/inst/tinytest/test_tiledbarray_extra.R @@ -37,7 +37,7 @@ A <- tiledb_array(uri = tmp, encryption_key = encryption_key) A[I, J] <- data ## read -A <- tiledb_array(uri = tmp, as.data.frame=TRUE, encryption_key = encryption_key) +A <- tiledb_array(uri = tmp, return_as="data.frame", encryption_key = encryption_key) chk <- A[1:2, 2:4] expect_equal(nrow(chk), 2) expect_equal(chk[,"rows"], c(2L,2L)) diff --git a/inst/tinytest/test_timetravel.R b/inst/tinytest/test_timetravel.R index 90a614b866..81e116d320 100644 --- a/inst/tinytest/test_timetravel.R +++ b/inst/tinytest/test_timetravel.R @@ -44,11 +44,11 @@ while (deltat < 30) { ## we need an 'epsilon' because when we record 'times' is not exactly where the array timestamp is epst <- deltat/2 - res1 <- tiledb_array(uri, as.data.frame=TRUE)[] # no limits - res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[] # end after 2nd timestamp - res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epst)[] # start after fourth - res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epst)[] # end before 3rd - res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[] + res1 <- tiledb_array(uri, return_as="data.frame")[] # no limits + res2 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[] # end after 2nd timestamp + res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epst)[] # start after fourth + res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epst)[] # end before 3rd + res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[] if (isTRUE(all.equal(NROW(res1), 40)) && # all four groups isTRUE(all.equal(NROW(res2), 20)) && # expect group one + two (20 elements) @@ -67,20 +67,20 @@ while (deltat < 30) { if (!success) exit_file("Issue with time traveling") -res1 <- tiledb_array(uri, as.data.frame=TRUE)[] # no limits +res1 <- tiledb_array(uri, return_as="data.frame")[] # no limits expect_equal(NROW(res1), 40) # all four observations -res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[] # end before 1st timestamp +res2 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[1]-epst, timestamp_end=times[2]+epst)[] # end before 1st timestamp expect_equal(NROW(res2), 20) # expect group one and two (20 elements) -res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epst)[] # start after fourth +res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epst)[] # start after fourth expect_equal(NROW(res3), 0) # expect zero data -res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epst)[] # end before 3rd +res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epst)[] # end before 3rd expect_equal(NROW(res4), 20) # expect 2 groups, 20 obs expect_equal(max(res4$grp), 2) # with groups being 1 and 2 -res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[] +res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epst, timestamp_end=times[3]+epst)[] expect_equal(NROW(res5), 20) # expects 2 groups, 2 and 3, with 20 obs expect_equal(min(res5$grp), 2) expect_equal(max(res5$grp), 3) @@ -93,11 +93,11 @@ expect_equal(n, 4) times <- do.call(c, lapply(seq_len(n), function(i) tiledb_fragment_info_get_timestamp_range(fi, i-1)[1])) epstsml <- 0.005 -res1 <- tiledb_array(uri, as.data.frame=TRUE)[] # no limits -res2 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[1]+epstsml)[] # end after 1st timestamp -res3 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[4]+epstsml)[] # start after fourth -res4 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_end=times[3]-epstsml)[] # end before 3rd -res5 <- tiledb_array(uri, as.data.frame=TRUE, timestamp_start=times[2]-epstsml, timestamp_end=times[3]+epstsml)[] +res1 <- tiledb_array(uri, return_as="data.frame")[] # no limits +res2 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[1]+epstsml)[] # end after 1st timestamp +res3 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[4]+epstsml)[] # start after fourth +res4 <- tiledb_array(uri, return_as="data.frame", timestamp_end=times[3]-epstsml)[] # end before 3rd +res5 <- tiledb_array(uri, return_as="data.frame", timestamp_start=times[2]-epstsml, timestamp_end=times[3]+epstsml)[] expect_equal(NROW(res1), 40) expect_equal(NROW(res2), 10) # expect group one (10 elements) expect_equal(NROW(res3), 0) # expect zero data diff --git a/inst/tinytest/test_timetravel_extra.R b/inst/tinytest/test_timetravel_extra.R index 1ecc6fe04e..85ed426fec 100644 --- a/inst/tinytest/test_timetravel_extra.R +++ b/inst/tinytest/test_timetravel_extra.R @@ -38,11 +38,11 @@ now2 <- Sys.time() A <- tiledb_array(uri = tmp, timestamp_start=now2) A[I, J] <- data -A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_end=now1 - epst) +A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_end=now1 - epst) expect_equal(nrow(A[]), 0) -A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 + epst) +A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 + epst) expect_equal(nrow(A[]), 3) -A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 - epst, timestamp_end=now2 - epst) +A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 - epst, timestamp_end=now2 - epst) expect_equal(nrow(A[]), 3) -A <- tiledb_array(uri = tmp, as.data.frame=TRUE, timestamp_start=now1 - epst, timestamp_end=now2 + epst) +A <- tiledb_array(uri = tmp, return_as="data.frame", timestamp_start=now1 - epst, timestamp_end=now2 + epst) expect_true(nrow(A[]) >= 3) From 1408965176bfb3037656faf7cd2c983d37d7f477 Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 09:13:53 -0500 Subject: [PATCH 4/7] Update vignettes accordingly --- vignettes/documentation.Rmd | 4 ++-- vignettes/documentation.md | 4 ++-- vignettes/introduction.Rmd | 10 +++++----- vignettes/introduction.md | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/vignettes/documentation.Rmd b/vignettes/documentation.Rmd index 54f2275328..b15b11caf0 100644 --- a/vignettes/documentation.Rmd +++ b/vignettes/documentation.Rmd @@ -390,7 +390,7 @@ sch <- tiledb_array_schema(dom, c(val)) tiledb_array_create(tmp, sch) dat <- matrix(as.integer(rnorm(25)*100), 5, 5) -arr <- tiledb_dense(tmp, as.data.frame=FALSE) +arr <- tiledb_array(tmp, return_as = "data.frame") arr[] <- dat @@ -818,7 +818,7 @@ arr@ptr <- tiledb:::libtiledb_array_reopen(arr@ptr) ``` r # Open the array and read as a data.frame from it. -A <- tiledb_array(uri = array_name, as.data.frame=TRUE, +A <- tiledb_array(uri = array_name, return_as = "data.frame", encryption_key = encryption_key) # Slice rows 1 and 2, and cols 2, 3 and 4 diff --git a/vignettes/documentation.md b/vignettes/documentation.md index 6c877d8720..36a9959c48 100644 --- a/vignettes/documentation.md +++ b/vignettes/documentation.md @@ -391,7 +391,7 @@ sch <- tiledb_array_schema(dom, c(val)) tiledb_array_create(tmp, sch) dat <- matrix(as.integer(rnorm(25)*100), 5, 5) -arr <- tiledb_dense(tmp, as.data.frame=FALSE) +arr <- tiledb_array(tmp, return_as = "data.frame") arr[] <- dat @@ -830,7 +830,7 @@ arr@ptr <- tiledb:::libtiledb_array_reopen(arr@ptr) ```r # Open the array and read as a data.frame from it. -A <- tiledb_array(uri = array_name, as.data.frame=TRUE, +A <- tiledb_array(uri = array_name, return_as = "data.frame", encryption_key = encryption_key) # Slice rows 1 and 2, and cols 2, 3 and 4 diff --git a/vignettes/introduction.Rmd b/vignettes/introduction.Rmd index 373d33cf72..a1b08bc74b 100644 --- a/vignettes/introduction.Rmd +++ b/vignettes/introduction.Rmd @@ -77,7 +77,7 @@ the return to be a `data.frame` (instead of a simpler list) and for the ``` r > A <- tiledb_array(uri = uri, attrs = "b", -+ as.data.frame=TRUE, extended=FALSE)) ++ return_as = "data.frame", extended=FALSE)) > A[1:2,2] [1] 101.5 104.0 > @@ -94,7 +94,7 @@ also works (but needs to account for `rows` and `cols`). ``` r > A <- tiledb_array(uri = uri, attrs = c("a","b"), -+ as.data.frame = TRUE) ++ return_as = "data.frame") > A[1:2,2][["a"]] [1] 2 7 > A[1:2,2]$a @@ -128,7 +128,7 @@ array. ``` r > A <- tiledb_dense(uri = uri, attrs = c("b","c"), -+ as.data.frame = TRUE, extended=FALSE) ++ return_as = "data.frame", extended=FALSE) > A[6:9,2:4] b c 1 114.0 brown @@ -160,7 +160,7 @@ change. We can also override, users can too.) ``` r > A <- tiledb_array("/tmp/tiledb/ex_1/", attrs=c("b","c"), -+ as.data.frame = TRUE, extended=TRUE) ++ return_as = "data.frame", extended=TRUE) > sapply(A[6:9, 3:4], "class") rows cols b c "integer" "integer" "numeric" "character" @@ -252,7 +252,7 @@ illustrates some basic operations on sparse arrays. It also shows date and datetime types instead of just integer and double precision floats. ``` r -> A <- tiledb_array(uri = uri, as.data.frame = TRUE) +> A <- tiledb_array(uri = uri, return_as = "data.frame") > A[1577858403:1577858408] rows cols a b d e 1 1577858403 1 3 103 2020-01-11 2020-01-02 18:24:33.844 diff --git a/vignettes/introduction.md b/vignettes/introduction.md index 90add7c2d5..faddfdece0 100644 --- a/vignettes/introduction.md +++ b/vignettes/introduction.md @@ -54,7 +54,7 @@ and for the (row and column, if present as here) indices to not be printed (via ```r > A <- tiledb_array(uri = uri, attrs = "b", -+ as.data.frame=TRUE, extended=FALSE)) ++ return_as = "data.frame", extended=FALSE)) > A[1:2,2] [1] 101.5 104.0 > @@ -70,7 +70,7 @@ returned object works via `[[var]]` or `$var`. A numeric index also works (but ```r > A <- tiledb_array(uri = uri, attrs = c("a","b"), -+ as.data.frame = TRUE) ++ return_as = "data.frame") > A[1:2,2][["a"]] [1] 2 7 > A[1:2,2]$a @@ -102,7 +102,7 @@ We can restrict the selection to a subset of attributes when opening the array. ```r > A <- tiledb_dense(uri = uri, attrs = c("b","c"), -+ as.data.frame = TRUE, extended=FALSE) ++ return_as = "data.frame", extended=FALSE) > A[6:9,2:4] b c 1 114.0 brown @@ -120,7 +120,7 @@ We can restrict the selection to a subset of attributes when opening the array. > ``` -This also illustrated the effect of setting `as.data.frame=TRUE` when opening the array. +This also illustrated the effect of setting `return_as = "data.frame"` when opening the array. This scheme can be generalized to variable cells, or cells where N>1, as we can expand each (atomistic) value over corresponding row and column indices. @@ -131,7 +131,7 @@ which is about to change. We can also override, users can too.) ```r > A <- tiledb_array("/tmp/tiledb/ex_1/", attrs=c("b","c"), -+ as.data.frame = TRUE, extended=TRUE) ++ return_as = "data.frame", extended=TRUE) > sapply(A[6:9, 3:4], "class") rows cols b c "integer" "integer" "numeric" "character" @@ -220,7 +220,7 @@ illustrates some basic operations on sparse arrays. It also shows date and datet just integer and double precision floats. ```r -> A <- tiledb_array(uri = uri, as.data.frame = TRUE) +> A <- tiledb_array(uri = uri, return_as = "data.frame") > A[1577858403:1577858408] rows cols a b d e 1 1577858403 1 3 103 2020-01-11 2020-01-02 18:24:33.844 From 79f4494edd2ea70b0c45bf5569657958d65fe932 Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 09:40:19 -0500 Subject: [PATCH 5/7] Update examples accordingly --- inst/examples/deletes.R | 2 +- inst/examples/deprecating/ex_1.R | 4 ++-- inst/examples/deprecating/quickstart_sparse.R | 2 +- inst/examples/ex_1.R | 4 ++-- inst/examples/ex_2.R | 2 +- inst/examples/ex_3.R | 4 ++-- inst/examples/ex_TileDB-Cloud.R | 2 +- inst/examples/ex_aggdatetimes.R | 4 ++-- inst/examples/ex_dimdatetimes.R | 4 ++-- inst/examples/ex_dimensions.R | 4 ++-- inst/examples/ex_metadata.R | 2 +- inst/examples/ex_metadata_2.R | 3 +-- inst/examples/filters.R | 4 ++-- inst/examples/quickstart_sparse.R | 2 +- inst/examples/quickstart_sparse_async.R | 2 +- inst/examples/quickstart_sparse_encrypted.R | 2 +- inst/examples/quickstart_sparse_heter.R | 4 ++-- inst/examples/quickstart_sparse_string.R | 4 ++-- inst/examples/quickstart_sparse_timetravel.R | 10 +++++----- inst/examples/writing_dense_sparse.R | 4 ++-- 20 files changed, 34 insertions(+), 35 deletions(-) diff --git a/inst/examples/deletes.R b/inst/examples/deletes.R index fd24a59ca9..faaebe63fa 100644 --- a/inst/examples/deletes.R +++ b/inst/examples/deletes.R @@ -78,7 +78,7 @@ delete_rows <- function(uri) { read_array <- function(uri) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri, as.data.frame=TRUE) + A <- tiledb_array(uri, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 # A[1:2, 2:4] A[] diff --git a/inst/examples/deprecating/ex_1.R b/inst/examples/deprecating/ex_1.R index c8e7d0301b..f3722f59c8 100644 --- a/inst/examples/deprecating/ex_1.R +++ b/inst/examples/deprecating/ex_1.R @@ -47,7 +47,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_dense(uri = uri, as.data.frame = TRUE) + A <- tiledb_dense(uri = uri, return_as = "data.frame") data <- A[3:7, 2:4] show(data) } @@ -77,7 +77,7 @@ open_read_change_read <- function(uri) { } simple_ex <- function(uri) { - arr <- tiledb_dense(uri, as.data.frame = TRUE) + arr <- tiledb_dense(uri, return_as = "data.frame") show(arr[7:9, 2:3]) } diff --git a/inst/examples/deprecating/quickstart_sparse.R b/inst/examples/deprecating/quickstart_sparse.R index f0efb42d7f..8f6821d1e8 100644 --- a/inst/examples/deprecating/quickstart_sparse.R +++ b/inst/examples/deprecating/quickstart_sparse.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_sparse(uri = array_name, as.data.frame=TRUE) + A <- tiledb_sparse(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/ex_1.R b/inst/examples/ex_1.R index 0bbce6cb6d..48f4c8f6ce 100644 --- a/inst/examples/ex_1.R +++ b/inst/examples/ex_1.R @@ -47,7 +47,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_array(uri = uri, as.data.frame = TRUE) + A <- tiledb_array(uri = uri, return_as = "data.frame") data <- A[3:7, 2:4] show(data) } @@ -77,7 +77,7 @@ open_read_change_read <- function(uri) { } simple_ex <- function(uri) { - arr <- tiledb_array(uri, as.data.frame = TRUE) + arr <- tiledb_array(uri, return_as = "data.frame") show(arr[7:9, 2:3]) } diff --git a/inst/examples/ex_2.R b/inst/examples/ex_2.R index 3924940634..ed5f3b9c07 100644 --- a/inst/examples/ex_2.R +++ b/inst/examples/ex_2.R @@ -53,7 +53,7 @@ read_array <- function(uri) { } read_as_df <- function(uri) { - A <- tiledb_array(uri = uri, as.data.frame = TRUE) + A <- tiledb_array(uri = uri, return_as = "data.frame") selected_ranges(A) <- list(cbind(ISOdatetime(2020,1,1,0,0,4), ISOdatetime(2020,1,1,0,0,6)), cbind(1L,1L)) diff --git a/inst/examples/ex_3.R b/inst/examples/ex_3.R index 6317dcfecc..af1726bdb7 100644 --- a/inst/examples/ex_3.R +++ b/inst/examples/ex_3.R @@ -95,7 +95,7 @@ write_array <- function(uri) { DATETIME_MS = as.POSIXct("2020-01-01 00:00:00") + 0:9 + 0.123, DATETIME_US = as.POSIXct("2020-01-01 00:00:00") + 0:9 + 0.123456) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, as="data.frame") arr[] <- data.frame(rows = rows, a1 = a1data, d1 = d1data) @@ -158,7 +158,7 @@ read_array_query <- function(uri) { } read_array <- function(uri) { - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") ## constraint on 1st dim: value from 4 to 7 selected_ranges(arr) <- list(cbind(as.integer64(4), as.integer64(7))) ## fetch data diff --git a/inst/examples/ex_TileDB-Cloud.R b/inst/examples/ex_TileDB-Cloud.R index 4c85ad45a4..24735229ac 100644 --- a/inst/examples/ex_TileDB-Cloud.R +++ b/inst/examples/ex_TileDB-Cloud.R @@ -10,5 +10,5 @@ ctx <- tiledb_ctx(config) array_name <- "tiledb://TileDB-Inc/quickstart_sparse" -arr <- tiledb_array(array_name, query_type="READ", as.data.frame=TRUE) +arr <- tiledb_array(array_name, return_as="data.frame") show(arr[]) diff --git a/inst/examples/ex_aggdatetimes.R b/inst/examples/ex_aggdatetimes.R index 8cfedf95b9..32bd0919a1 100644 --- a/inst/examples/ex_aggdatetimes.R +++ b/inst/examples/ex_aggdatetimes.R @@ -34,7 +34,7 @@ attrib <- c(tiledb_attr("year", type = "DATETIME_YEAR"), # year schema <- tiledb_array_schema(domain, attrib, sparse=TRUE) res <- tiledb_array_create(uri, schema) -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") dvec <- 1:3 data <- data.frame(row = dvec, @@ -57,7 +57,7 @@ cat("writing ... ") arr[] <- data cat("reading ... ") -arr2 <- tiledb_array(uri, as.data.frame=TRUE) +arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("checking ... ") diff --git a/inst/examples/ex_dimdatetimes.R b/inst/examples/ex_dimdatetimes.R index 9cb05fd045..e35e422501 100644 --- a/inst/examples/ex_dimdatetimes.R +++ b/inst/examples/ex_dimdatetimes.R @@ -59,7 +59,7 @@ for (dtype in dimtypes) { tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, as="data.frame") dvec <- switch(dtype, "DATETIME_YEAR" = c(as.Date("2020-01-01"), as.Date("2021-01-01"), as.Date("2022-01-01")), @@ -83,7 +83,7 @@ for (dtype in dimtypes) { arr[] <- data cat("reading ... ") - arr2 <- tiledb_array(uri, as.data.frame=TRUE) + arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("(",format(readdata[1,1]), ",", format(readdata[2,1]), ",", format(readdata[3,1]), ") ", sep="") diff --git a/inst/examples/ex_dimensions.R b/inst/examples/ex_dimensions.R index ede247ef02..f2f6577a88 100644 --- a/inst/examples/ex_dimensions.R +++ b/inst/examples/ex_dimensions.R @@ -87,7 +87,7 @@ for (dtype in dimtypes) { tiledb_array_create(uri, schema) - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dvec <- switch(dtype, "ASCII" = LETTERS[1:3], @@ -124,7 +124,7 @@ for (dtype in dimtypes) { arr[] <- data cat("reading ... ") - arr2 <- tiledb_array(uri, as.data.frame=TRUE) + arr2 <- tiledb_array(uri, return_as="data.frame") readdata <- arr2[] cat("(",format(readdata[1,1]), ",", format(readdata[2,1]), ",", format(readdata[3,1]), ") ", sep="") diff --git a/inst/examples/ex_metadata.R b/inst/examples/ex_metadata.R index 9b67f7ddd8..b30760b795 100644 --- a/inst/examples/ex_metadata.R +++ b/inst/examples/ex_metadata.R @@ -12,7 +12,7 @@ if (!dir.exists(uri)) { # if that example does not exist, create sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE) tiledb_array_create(uri, sch) - arr <- tiledb_array(uri, as.data.frame=FALSE) + arr <- tiledb_array(uri, return_as="asis") } ## old initial accessors diff --git a/inst/examples/ex_metadata_2.R b/inst/examples/ex_metadata_2.R index 47db37eadb..8cef787391 100644 --- a/inst/examples/ex_metadata_2.R +++ b/inst/examples/ex_metadata_2.R @@ -17,7 +17,7 @@ setup <- function(tmp, verbose=FALSE) { a2 <- tiledb_attr("a2", type = "INT32") sch <- tiledb_array_schema(dom, c(a1, a2), sparse=TRUE) tiledb_array_create(tmp, sch) - arr <- tiledb_array(tmp, as.data.frame=FALSE) + arr <- tiledb_array(tmp, return_as="asis") #arrW <- tiledb:::libtiledb_array_open(arr@ptr, tmp, "WRITE") #tiledb:::put_metadata(arrW, "vec", c(1.1, 2.2, 3.3)) @@ -120,7 +120,6 @@ setup <- function(tmp, verbose=FALSE) { tmp <- "/tmp/fooarray" #tempfile() if (dir.exists(tmp)) unlink(tmp, recursive=TRUE) arr <- setup(tmp, TRUE) -# arr <- tiledb_array(tmp, as.data.frame=FALSE) arr <- tiledb_array(tmp) arr <- .tiledb_array_open(arr, "READ") diff --git a/inst/examples/filters.R b/inst/examples/filters.R index 341f523653..0d4f66d57f 100644 --- a/inst/examples/filters.R +++ b/inst/examples/filters.R @@ -52,9 +52,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse.R b/inst/examples/quickstart_sparse.R index b212b3f069..d6357f0b37 100644 --- a/inst/examples/quickstart_sparse.R +++ b/inst/examples/quickstart_sparse.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_async.R b/inst/examples/quickstart_sparse_async.R index 8b8e85f91d..235f8af606 100644 --- a/inst/examples/quickstart_sparse_async.R +++ b/inst/examples/quickstart_sparse_async.R @@ -69,7 +69,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, return_as="data.frame") # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_encrypted.R b/inst/examples/quickstart_sparse_encrypted.R index 894385be54..ab445018d9 100644 --- a/inst/examples/quickstart_sparse_encrypted.R +++ b/inst/examples/quickstart_sparse_encrypted.R @@ -70,7 +70,7 @@ write_array <- function(array_name) { read_array <- function(array_name) { # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, encryption_key = encryption_key) + A <- tiledb_array(uri = array_name, return_as="data.frame", encryption_key = encryption_key) # Slice rows 1 and 2, and cols 2, 3 and 4 A[1:2, 2:4] } diff --git a/inst/examples/quickstart_sparse_heter.R b/inst/examples/quickstart_sparse_heter.R index eff5e8bf35..c8d6fd7471 100644 --- a/inst/examples/quickstart_sparse_heter.R +++ b/inst/examples/quickstart_sparse_heter.R @@ -43,9 +43,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse_string.R b/inst/examples/quickstart_sparse_string.R index fc0d017a16..dfc72a8efa 100644 --- a/inst/examples/quickstart_sparse_string.R +++ b/inst/examples/quickstart_sparse_string.R @@ -44,9 +44,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } diff --git a/inst/examples/quickstart_sparse_timetravel.R b/inst/examples/quickstart_sparse_timetravel.R index 80422b1bc8..4bf526a02a 100644 --- a/inst/examples/quickstart_sparse_timetravel.R +++ b/inst/examples/quickstart_sparse_timetravel.R @@ -84,26 +84,26 @@ write_array <- function(array_name) { read_array <- function(array_name) { cat("\nReading everything:\n") # Open the array and read as a data.frame from it. - A <- tiledb_array(uri = array_name, as.data.frame=TRUE) + A <- tiledb_array(uri = array_name, as="data.frame") A[] } read_array_at <- function(array_name, tstamps) { ## Read before tstamp[1] cat("\nOpening / reading 0.5s before first tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[1] - 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[1] - 0.5) print(A[]) cat("Opening / reading 0.5s after first tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[1] + 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[1] + 0.5) print(A[]) cat("Opening / reading 0.5s before second tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[2] - 0.5) + A <- tiledb_array(uri = array_name, as="data.frame", timestamp=tstamps[2] - 0.5) print(A[]) cat("Opening / reading 0.5s after second tstamp\n") - A <- tiledb_array(uri = array_name, as.data.frame=TRUE, timestamp=tstamps[2] + 0.5) + A <- tiledb_array(uri = array_name, return_as="data.frame", timestamp=tstamps[2] + 0.5) print(A[]) } diff --git a/inst/examples/writing_dense_sparse.R b/inst/examples/writing_dense_sparse.R index 001b915899..5e88c86a97 100644 --- a/inst/examples/writing_dense_sparse.R +++ b/inst/examples/writing_dense_sparse.R @@ -40,9 +40,9 @@ write_array <- function(uri) { } read_array <- function(uri) { - ## opening in data.frame mode; could also open with as.data.frame=FALSE + ## opening in data.frame mode ## returning three vectors - arr <- tiledb_array(uri, as.data.frame=TRUE) + arr <- tiledb_array(uri, return_as="data.frame") dat <- arr[] print(dat) } From 02ac767036aced0ddd99cb875a4ea886b3bd6b44 Mon Sep 17 00:00:00 2001 From: Dirk Eddelbuettel Date: Tue, 11 Jul 2023 09:50:42 -0500 Subject: [PATCH 6/7] Update notebook accordingly --- inst/notebooks/datetimes.Rmd | 16 ++++++++-------- inst/notebooks/datetimes.html | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/inst/notebooks/datetimes.Rmd b/inst/notebooks/datetimes.Rmd index 2df595d6d5..f4e9ffb128 100644 --- a/inst/notebooks/datetimes.Rmd +++ b/inst/notebooks/datetimes.Rmd @@ -107,7 +107,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex2} library(tiledb) uri <- "/tmp/tiledb/dt_year" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ## we can also look at 'raw' int64 values: datetimes_as_int64(arr) <- TRUE @@ -149,7 +149,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex3} library(tiledb) uri <- "/tmp/tiledb/dt_day" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -190,7 +190,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex4} library(tiledb) uri <- "/tmp/tiledb/dt_min" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -236,7 +236,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex5a} library(tiledb) uri <- "/tmp/tiledb/dt_ms" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -280,7 +280,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex5} library(tiledb) uri <- "/tmp/tiledb/dt_us" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, as="data.frame") arr[] ``` @@ -325,7 +325,7 @@ with tiledb.SparseArray(uri, mode='w') as A: ```{r rex6} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE) +arr <- tiledb_array(uri, return_as="data.frame") arr[] ``` @@ -339,7 +339,7 @@ example which uses the array from the preceding example (at resolution of nanose ```{r rex7} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE) +arr <- tiledb_array(uri, as="data.frame", datetimes_as_int64=TRUE) arr[] ``` @@ -348,7 +348,7 @@ We can also write `integer64` types. The following example adds two extra rows: ```{r rex8} library(tiledb) uri <- "/tmp/tiledb/dt_ns" -arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE) +arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE) arr[] <- data.frame( rows=bit64::as.integer64(2:3), a=102:103) arr[] ``` diff --git a/inst/notebooks/datetimes.html b/inst/notebooks/datetimes.html index 9ad8b5e3d2..90d1386b2e 100644 --- a/inst/notebooks/datetimes.html +++ b/inst/notebooks/datetimes.html @@ -343,7 +343,7 @@

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_year"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##         rows a
 ## 1 2001-01-01 1
@@ -387,7 +387,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_day"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##         rows a
 ## 1 2001-01-01 1
@@ -426,7 +426,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_min"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                  rows a
 ## 1 2001-01-01 00:00:00 1
@@ -468,7 +468,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_ms"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                      rows a
 ## 1 1970-01-01 00:00:00.001 1
@@ -513,7 +513,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_us"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                         rows a
 ## 1 1970-01-01 00:00:00.000001 1
@@ -558,7 +558,7 @@ 

Python

R

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame")
 arr[]
 ##                                  rows a
 ## 1 1970-01-01T00:00:00.000000001+00:00 1
@@ -575,7 +575,7 @@ 

Use integer64 Directly

Sometimes we may want to access the date or datetimes value in their native integer64 format. To do so, we set a toggle when opening the array as shown in the following example which uses the array from the preceding example (at resolution of nanosecond).

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE)
 arr[]
 ##                  rows a
 ## 1                   1 1
@@ -587,7 +587,7 @@ 

Use integer64 Directly

We can also write integer64 types. The following example adds two extra rows:

library(tiledb)
 uri <- "/tmp/tiledb/dt_ns"
-arr <- tiledb_array(uri, as.data.frame=TRUE, datetimes_as_int64=TRUE)
+arr <- tiledb_array(uri, return_as="data.frame", datetimes_as_int64=TRUE)
 arr[] <- data.frame( rows=bit64::as.integer64(2:3), a=102:103)
 arr[]
 ##                  rows   a

From acdbc8d638a0e8eb41d2338f1e2261147be38742 Mon Sep 17 00:00:00 2001
From: Dirk Eddelbuettel 
Date: Tue, 11 Jul 2023 09:54:00 -0500
Subject: [PATCH 7/7] Update NEWS [ci skip]

---
 NEWS.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/NEWS.md b/NEWS.md
index 8e64e2669b..a293542334 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -35,6 +35,10 @@
 
 * Compilation on Linux systems as old as Ubuntu 18.04 without a `filesystem` header is now possible (#556)
 
+## Deprecations
+
+* The boolean arguments `as.data.frame`, `as.matrix` and `as.array` to the `tiledb_array()` accessor are deprecated in favor of the more general `return_as="..."` form. (#567)
+
 ## Removals
 
 * The `timestamp` argument to `tiledb_array`, deprecated in favor of `timestamp_end` (and `timestamp_start`) in July 2021, has been removed (#566).