R Under development (unstable) (2024-01-23 r85822 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") Loading required package: R.oo Loading required package: R.methodsS3 R.methodsS3 v1.8.2 (2022-06-13 22:00:14 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.26.0 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save R.filesets v2.15.1 successfully loaded. See ?R.filesets for help. Attaching package: 'R.filesets' The following objects are masked from 'package:base': append, readLines > > library("R.utils") # writeDataFrame() R.utils v2.12.3 (2023-11-18 01:00:02 UTC) successfully loaded. See ?R.utils for help. Attaching package: 'R.utils' The following objects are masked _by_ '.GlobalEnv': mstr, printf The following object is masked from 'package:R.filesets': validate The following object is masked from 'package:utils': timestamp The following objects are masked from 'package:base': cat, commandArgs, getOption, isOpen, nullfile, parse, use, warnings > > message("*** A huge TabularTextFile") *** A huge TabularTextFile > > # Generate a large data frame > set.seed(42) > n <- 1e5 > data <- data.frame( + index = seq_len(n), + x = runif(n), + y = rnorm(n), + symbol = sample(letters, size=n, replace=TRUE) + ) > > # Write to tab-delimited file > pathname <- tempfile(fileext=".tsv") > writeDataFrame(data, file=pathname) > > # Setup tabular file > db <- TabularTextFile(pathname) > print(db) TabularTextFile: Name: file8fac623a8f Tags: Full name: file8fac623a8f Pathname: D:/temp/RtmpGU8PUf/file8fac623a8f.tsv File size: 4.30 MiB (4505234 bytes) Number of data rows: 100000 Columns [4]: 'index', 'x', 'y', 'symbol' Number of text lines: 100006 > > # Read subset of the rows > n <- nbrOfRows(db) > data2 <- readDataFrame(db, rows=seq(from=1, to=n, length.out=0.10*n)) > str(data2) 'data.frame': 10000 obs. of 4 variables: $ index : int 1 11 21 31 41 51 61 71 81 91 ... $ x : num 0.915 0.458 0.904 0.738 0.38 ... $ y : num 0.526 0.614 0.577 -0.483 -0.888 ... $ symbol: chr "s" "e" "j" "f" ... > > # Cleanup > file.remove(pathname) [1] TRUE > > source("incl/end.R") > > proc.time() user system elapsed 7.81 33.76 42.54