{
  "_id": "6a1d2d7f1d7bb097a0a39641",
  "Package": "ff",
  "Version": "4.5.2",
  "Date": "2025-01-12",
  "Title": "Memory-Efficient Storage of Large Data on Disk and Fast Access\nFunctions",
  "Authors@R": "c(person(given = \"Daniel\",\nfamily = \"Adler\",\nrole = \"aut\"),\nperson(given = \"Christian\",\nfamily = \"Gläser\",\nrole = \"ctb\"),\nperson(given = \"Oleg\",\nfamily = \"Nenadic\",\nrole = \"ctb\"),\nperson(given = \"Jens\",\nfamily = \"Oehlschlägel\",\nrole = c(\"aut\", \"cre\"),\nemail = \"Jens.Oehlschlaegel@truecluster.com\"),\nperson(given = \"Martijn\",\nfamily = \"Schuemie\",\nrole = \"ctb\"),\nperson(given = \"Walter\",\nfamily = \"Zucchini\",\nrole = \"ctb\"))",
  "Author": "Daniel Adler [aut], Christian Gläser [ctb], Oleg Nenadic [ctb],\nJens Oehlschlägel [aut, cre], Martijn Schuemie [ctb], Walter\nZucchini [ctb]",
  "Maintainer": "Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>",
  "Description": "The ff package provides data structures that are stored on\ndisk but behave (almost) as if they were in RAM by\ntransparently mapping only a section (pagesize) in main memory\n- the effective virtual memory consumption per ff object. ff\nsupports R's standard atomic data types 'double', 'logical',\n'raw' and 'integer' and non-standard atomic types boolean (1\nbit), quad (2 bit unsigned), nibble (4 bit unsigned), byte (1\nbyte signed with NAs), ubyte (1 byte unsigned), short (2 byte\nsigned with NAs), ushort (2 byte unsigned), single (4 byte\nfloat with NAs). For example 'quad' allows efficient storage of\ngenomic data as an 'A','T','G','C' factor. The unsigned types\nsupport 'circular' arithmetic. There is also support for\nclose-to-atomic types 'factor', 'ordered', 'POSIXct', 'Date'\nand custom close-to-atomic types. ff not only has native\nC-support for vectors, matrices and arrays with flexible\ndimorder (major column-order, major row-order and\ngeneralizations for arrays). There is also a ffdf class not\nunlike data.frames and import/export filters for csv files. ff\nobjects store raw data in binary flat files in native encoding,\nand complement this with metadata stored in R as physical and\nvirtual attributes. ff objects have well-defined hybrid copying\nsemantics, which gives rise to certain performance improvements\nthrough virtualization. ff objects can be stored and reopened\nacross R sessions. ff files can be shared by multiple ff R\nobjects (using different data en/de-coding schemes) in the same\nprocess or from multiple R processes to exploit parallelism. A\nwide choice of finalizer options allows to work with\n'permanent' files as well as creating/removing 'temporary' ff\nfiles completely transparent to the user. On certain\nOS/Filesystem combinations, creating the ff files works without\nnotable delay thanks to using sparse file allocation. Several\naccess optimization techniques such as Hybrid Index\nPreprocessing and Virtualization are implemented to achieve\ngood performance even with large datasets, for example virtual\nmatrix transpose without touching a single byte on disk.\nFurther, to reduce disk I/O, 'logicals' and non-standard data\ntypes get stored native and compact on binary flat files i.e.\nlogicals take up exactly 2 bits to represent TRUE, FALSE and\nNA. Beyond basic access functions, the ff package also provides\ncompatibility functions that facilitate writing code for ff and\nram objects and support for batch processing on ff objects\n(e.g. as.ram, as.ff, ffapply). ff interfaces closely with\nfunctionality from package 'bit': chunked looping, fast bit\noperations and coercions between different objects that can\nstore subscript information ('bit', 'bitwhich', ff 'boolean',\nri range index, hi hybrid index). This allows to work\ninteractively with selections of large datasets and quickly\nmodify selection criteria. Further high-performance\nenhancements can be made available upon request.",
  "License": "GPL-2 | GPL-3 | file LICENSE",
  "LazyLoad": "yes",
  "ByteCompile": "yes",
  "NeedsCompilation": "yes",
  "Encoding": "UTF-8",
  "URL": "https://github.com/truecluster/ff",
  "Repository": "https://truecluster.r-universe.dev",
  "Date/Publication": "2025-01-12 22:17:17 UTC",
  "RemoteUrl": "https://github.com/truecluster/ff",
  "RemoteRef": "HEAD",
  "RemoteSha": "d9dd7552bd223d996593f3c51f767058192c8693",
  "Packaged": {
    "Date": "2026-06-01 06:47:43 UTC",
    "User": "root"
  },
  "MD5sum": "77a9f00b337339f768c657484a9ef316",
  "_user": "truecluster",
  "_type": "src",
  "_file": "ff_4.5.2.tar.gz",
  "_fileid": "ba1d801ee6c341028f817ed4a7e9434261959b65a66b1a7aa9523df1a9fa51f3",
  "_filesize": 887181,
  "_sha256": "ba1d801ee6c341028f817ed4a7e9434261959b65a66b1a7aa9523df1a9fa51f3",
  "_created": "2026-06-01T06:47:43.000Z",
  "_published": "2026-06-01T06:58:07.671Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78800468890,
      "time": 157,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7325072291"
    },
    {
      "job": 78800468912,
      "time": 146,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7325069449"
    },
    {
      "job": 78800468889,
      "time": 151,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7325070843"
    },
    {
      "job": 78800468908,
      "time": 150,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7325070444"
    },
    {
      "job": 78800468918,
      "time": 227,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7325131006"
    },
    {
      "job": 78800468914,
      "time": 530,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7325169455"
    },
    {
      "job": 78800468891,
      "time": 161,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7325069557"
    },
    {
      "job": 78800468921,
      "time": 396,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7325144536"
    },
    {
      "job": 78800092491,
      "time": 185,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7325030740"
    },
    {
      "job": 78800468866,
      "time": 100,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78800468879,
      "time": 146,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7325069302"
    },
    {
      "job": 78800468892,
      "time": 156,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7325071775"
    },
    {
      "job": 78800468904,
      "time": 149,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7325070203"
    }
  ],
  "_buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/truecluster/ff",
  "_commit": {
    "id": "d9dd7552bd223d996593f3c51f767058192c8693",
    "author": "truecluster <Jens.Oehlschlaegel@truecluster.com>",
    "committer": "truecluster <Jens.Oehlschlaegel@truecluster.com>",
    "message": "Version 4.5.2\n",
    "time": 1736720237
  },
  "_maintainer": {
    "name": "Jens Oehlschlägel",
    "email": "jens.oehlschlaegel@truecluster.com",
    "login": "truecluster",
    "description": "",
    "uuid": 62032273
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "bit",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "utils",
      "role": "Depends"
    },
    {
      "package": "biglm",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 0.11.0",
      "role": "Suggests"
    },
    {
      "package": "markdown",
      "role": "Suggests"
    }
  ],
  "_owner": "truecluster",
  "_selfowned": true,
  "_usedby": 94,
  "_updates": [],
  "_tags": [],
  "_stars": 30,
  "_contributors": [
    {
      "user": "truecluster",
      "count": 53,
      "uuid": 62032273
    },
    {
      "user": "agrueneberg",
      "count": 1,
      "uuid": 527708
    },
    {
      "user": "michaelchirico",
      "count": 1,
      "uuid": 7606389
    },
    {
      "user": "terjekv",
      "count": 1,
      "uuid": 656398
    }
  ],
  "_userbio": {
    "uuid": 62032273,
    "type": "user",
    "name": "Jens"
  },
  "_downloads": {
    "count": 18243,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ff"
  },
  "_mentions": 14,
  "_devurl": "https://github.com/truecluster/ff",
  "_searchresults": 776,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ff.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/truecluster/ff",
  "_realowner": "truecluster",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0-1",
      "date": "2007-11-03"
    },
    {
      "version": "2.0.0",
      "date": "2008-08-03"
    },
    {
      "version": "2.0.1",
      "date": "2009-04-16"
    },
    {
      "version": "2.1-0",
      "date": "2009-11-03"
    },
    {
      "version": "2.1-1",
      "date": "2009-11-05"
    },
    {
      "version": "2.1-2",
      "date": "2010-01-20"
    },
    {
      "version": "2.2-0",
      "date": "2010-09-30"
    },
    {
      "version": "2.2-1",
      "date": "2010-10-05"
    },
    {
      "version": "2.2-2",
      "date": "2011-04-24"
    },
    {
      "version": "2.2-3",
      "date": "2011-07-25"
    },
    {
      "version": "2.2-4",
      "date": "2012-01-15"
    },
    {
      "version": "2.2-5",
      "date": "2012-01-27"
    },
    {
      "version": "2.2-6",
      "date": "2012-03-31"
    },
    {
      "version": "2.2-7",
      "date": "2012-05-08"
    },
    {
      "version": "2.2-9",
      "date": "2012-10-24"
    },
    {
      "version": "2.2-10",
      "date": "2012-11-06"
    },
    {
      "version": "2.2-11",
      "date": "2013-03-12"
    },
    {
      "version": "2.2-12",
      "date": "2013-10-16"
    },
    {
      "version": "2.2-13",
      "date": "2014-04-09"
    },
    {
      "version": "2.2-14",
      "date": "2018-05-15"
    },
    {
      "version": "2.2-14.2",
      "date": "2020-04-16"
    },
    {
      "version": "4.0.2",
      "date": "2020-07-30"
    },
    {
      "version": "4.0.4",
      "date": "2020-10-13"
    },
    {
      "version": "4.0.5",
      "date": "2021-10-29"
    },
    {
      "version": "4.0.7",
      "date": "2022-05-06"
    },
    {
      "version": "4.0.9",
      "date": "2023-01-25"
    },
    {
      "version": "4.0.12",
      "date": "2024-01-12"
    },
    {
      "version": "4.5.0",
      "date": "2024-09-20"
    },
    {
      "version": "4.5.2",
      "date": "2025-01-13"
    }
  ],
  "_exports": [
    ".ffbytes",
    ".ffmode",
    ".rambytes",
    ".rammode",
    ".vcoerceable",
    ".vimplemented",
    ".vmax",
    ".vmin",
    ".vmode",
    ".vNA",
    ".vunsigned",
    ".vvalues",
    "add",
    "appendLevels",
    "array2vector",
    "arrayIndex2vectorIndex",
    "as.boolean",
    "as.byte",
    "as.ff",
    "as.ffdf",
    "as.hi",
    "as.nibble",
    "as.quad",
    "as.ram",
    "as.short",
    "as.ubyte",
    "as.ushort",
    "as.vmode",
    "bigsample",
    "boolean",
    "byte",
    "ccbind",
    "cfun",
    "clength",
    "clone.ff",
    "clone.ffdf",
    "cmean",
    "cmedian",
    "cquantile",
    "crbind",
    "csum",
    "csummary",
    "delete",
    "deleteIfOpen",
    "dforder",
    "dfsort",
    "dimorder",
    "dimorder<-",
    "dimorderCompatible",
    "dimorderStandard",
    "dummy.dimnames",
    "ff",
    "ffapply",
    "ffcolapply",
    "ffconform",
    "ffdf",
    "ffdfindexget",
    "ffdfindexset",
    "ffdforder",
    "ffdfsort",
    "ffdrop",
    "ffindexget",
    "ffindexorder",
    "ffindexordersize",
    "ffindexset",
    "ffinfo",
    "ffload",
    "fforder",
    "ffreturn",
    "ffrowapply",
    "ffsave",
    "ffsave.image",
    "ffsort",
    "ffsuitable",
    "ffsymmxtensions",
    "fftempfile",
    "ffvecapply",
    "ffxtensions",
    "file.move",
    "file.resize",
    "filename",
    "filename<-",
    "finalize",
    "finalizer",
    "finalizer<-",
    "fixdiag",
    "fixdiag<-",
    "get.ff",
    "getalignedpagesize",
    "getdefaultpagesize",
    "geterror.ff",
    "geterrstr.ff",
    "getpagesize",
    "getset.ff",
    "hi",
    "hiparse",
    "is.factor",
    "is.ff",
    "is.ffdf",
    "is.open",
    "is.ordered",
    "is.readonly",
    "matcomb",
    "matprint",
    "maxffmode",
    "maxlength",
    "mismatch",
    "ncol<-",
    "nibble",
    "nrow<-",
    "pagesize",
    "pattern",
    "pattern<-",
    "quad",
    "ram2ffcode",
    "ram2ramcode",
    "ramattribs",
    "ramclass",
    "ramdforder",
    "ramdfsort",
    "read.csv.ffdf",
    "read.csv2.ffdf",
    "read.delim.ffdf",
    "read.delim2.ffdf",
    "read.ff",
    "read.table.ffdf",
    "readwrite.ff",
    "recodeLevels",
    "regtest.fforder",
    "regtest.vmode",
    "repnam",
    "set.ff",
    "short",
    "sortLevels",
    "splitPathFile",
    "standardPathFile",
    "subscript2integer",
    "swap",
    "symmetric",
    "symmIndex2vectorIndex",
    "tempPathFile",
    "ubyte",
    "unclass<-",
    "undim",
    "unsort",
    "unsplitPathFile",
    "ushort",
    "vecprint",
    "vector.vmode",
    "vector2array",
    "vectorCompatible",
    "vectorIndex2arrayIndex",
    "vectorStandard",
    "vmode",
    "vmode<-",
    "vt",
    "vw",
    "vw<-",
    "write.csv",
    "write.csv.ffdf",
    "write.csv2",
    "write.csv2.ffdf",
    "write.ff",
    "write.table.ffdf",
    "ymismatch"
  ],
  "_help": [
    {
      "page": "add",
      "title": "Incrementing an ff or ram object",
      "topics": [
        "add",
        "add.default",
        "add.ff"
      ]
    },
    {
      "page": "array2vector",
      "title": "Array: make vector from array",
      "topics": [
        "array2vector"
      ]
    },
    {
      "page": "arrayIndex2vectorIndex",
      "title": "Array: make vector positions from array index",
      "topics": [
        "arrayIndex2vectorIndex"
      ]
    },
    {
      "page": "as.ff",
      "title": "Coercing ram to ff and ff to ram objects",
      "topics": [
        "as.ff",
        "as.ff.default",
        "as.ff.ff",
        "as.ram",
        "as.ram.default",
        "as.ram.ff"
      ]
    },
    {
      "page": "as.ff.bit",
      "title": "Conversion between bit and ff boolean",
      "topics": [
        "as.bit.ff",
        "as.ff.bit"
      ]
    },
    {
      "page": "as.ffdf",
      "title": "Coercing to ffdf and data.frame",
      "topics": [
        "as.data.frame.ffdf",
        "as.ffdf",
        "as.ffdf.data.frame",
        "as.ffdf.ff_matrix",
        "as.ffdf.ff_vector"
      ]
    },
    {
      "page": "as.hi",
      "title": "Hybrid Index, coercion to",
      "topics": [
        "as.hi",
        "as.hi.(",
        "as.hi.bit",
        "as.hi.bitwhich",
        "as.hi.call",
        "as.hi.character",
        "as.hi.double",
        "as.hi.hi",
        "as.hi.integer",
        "as.hi.logical",
        "as.hi.matrix",
        "as.hi.name",
        "as.hi.NULL",
        "as.hi.ri",
        "as.hi.which"
      ]
    },
    {
      "page": "as.integer.hi",
      "title": "Hybrid Index, coercing from",
      "topics": [
        "as.bit.hi",
        "as.bitwhich.hi",
        "as.character.hi",
        "as.integer.hi",
        "as.logical.hi",
        "as.matrix.hi",
        "as.which.hi"
      ]
    },
    {
      "page": "as.vmode",
      "title": "Coercing to virtual mode",
      "topics": [
        "as.boolean",
        "as.boolean.default",
        "as.byte",
        "as.byte.default",
        "as.nibble",
        "as.nibble.default",
        "as.quad",
        "as.quad.default",
        "as.short",
        "as.short.default",
        "as.ubyte",
        "as.ubyte.default",
        "as.ushort",
        "as.ushort.default",
        "as.vmode",
        "as.vmode.default",
        "as.vmode.ff"
      ]
    },
    {
      "page": "bigsample",
      "title": "Sampling from large pools",
      "topics": [
        "bigsample",
        "bigsample.default",
        "bigsample.ff"
      ]
    },
    {
      "page": "CFUN",
      "title": "Collapsing functions for batch processing",
      "topics": [
        "ccbind",
        "CFUN",
        "cfun",
        "clength",
        "cmean",
        "cmedian",
        "cquantile",
        "crbind",
        "csum",
        "csummary"
      ]
    },
    {
      "page": "chunk.ffdf",
      "title": "Chunk ff_vector and ffdf",
      "topics": [
        "chunk.ffdf",
        "chunk.ff_vector"
      ]
    },
    {
      "page": "clone.ff",
      "title": "Cloning ff and ram objects",
      "topics": [
        "clone.ff"
      ]
    },
    {
      "page": "clone.ffdf",
      "title": "Cloning ffdf objects",
      "topics": [
        "clone.ffdf"
      ]
    },
    {
      "page": "close.ff",
      "title": "Closing ff files",
      "topics": [
        "close.ff",
        "close.ffdf",
        "close.ff_pointer"
      ]
    },
    {
      "page": "delete",
      "title": "Deleting the file behind an ff object",
      "topics": [
        "delete",
        "delete.default",
        "delete.ff",
        "delete.ffdf",
        "delete.ff_pointer",
        "deleteIfOpen",
        "deleteIfOpen.ff",
        "deleteIfOpen.ff_pointer"
      ]
    },
    {
      "page": "dim.ff",
      "title": "Getting and setting dim and dimorder",
      "topics": [
        "dim.ff",
        "dim.ffdf",
        "dim<-.ff",
        "dim<-.ffdf",
        "dimorder",
        "dimorder.default",
        "dimorder.ffdf",
        "dimorder.ff_array",
        "dimorder<-",
        "dimorder<-.ffdf",
        "dimorder<-.ff_array"
      ]
    },
    {
      "page": "dimnames.ff",
      "title": "Getting and setting dimnames",
      "topics": [
        "dimnames.ff",
        "dimnames.ff_array",
        "dimnames<-.ff_array"
      ]
    },
    {
      "page": "dimnames.ffdf",
      "title": "Getting and setting dimnames of ffdf",
      "topics": [
        "dimnames.ffdf",
        "dimnames<-.ffdf",
        "names.ffdf",
        "names<-.ffdf",
        "row.names.ffdf",
        "row.names<-.ffdf"
      ]
    },
    {
      "page": "dimorderCompatible",
      "title": "Test for dimorder compatibility",
      "topics": [
        "dimorderCompatible",
        "dimorderStandard",
        "vectorCompatible",
        "vectorStandard"
      ]
    },
    {
      "page": "dummy.dimnames",
      "title": "Array: make dimnames",
      "topics": [
        "dummy.dimnames"
      ]
    },
    {
      "page": "Extract.ff",
      "title": "Reading and writing vectors and arrays (high-level)",
      "topics": [
        "Extract.ff",
        "[.ff",
        "[.ff_array",
        "[<-.ff",
        "[<-.ff_array",
        "[[.ff",
        "[[<-.ff"
      ]
    },
    {
      "page": "Extract.ffdf",
      "title": "Reading and writing data.frames (ffdf)",
      "topics": [
        "$.ffdf",
        "$<-.ffdf",
        "Extract.ffdf",
        "[.ffdf",
        "[<-.ffdf",
        "[[.ffdf",
        "[[<-.ffdf"
      ]
    },
    {
      "page": "ff",
      "title": "ff classes for representing (large) atomic data",
      "topics": [
        "ff",
        "ff_pointer"
      ]
    },
    {
      "page": "ffapply",
      "title": "Apply for ff objects",
      "topics": [
        "ffapply",
        "ffcolapply",
        "ffrowapply",
        "ffvecapply"
      ]
    },
    {
      "page": "ffconform",
      "title": "Get most conforming argument",
      "topics": [
        "ffconform"
      ]
    },
    {
      "page": "ffdf",
      "title": "ff class for data.frames",
      "topics": [
        "ffdf"
      ]
    },
    {
      "page": "ffdfindexget",
      "title": "Reading and writing ffdf data.frame using ff subscripts",
      "topics": [
        "ffdfindexget",
        "ffdfindexset"
      ]
    },
    {
      "page": "ffdfsort",
      "title": "Sorting: convenience wrappers for data.frames",
      "topics": [
        "dforder",
        "dfsort",
        "ffdforder",
        "ffdfsort",
        "ramdforder",
        "ramdfsort"
      ]
    },
    {
      "page": "ffdrop",
      "title": "Delete an ffarchive",
      "topics": [
        "ffdrop"
      ]
    },
    {
      "page": "ffindexget",
      "title": "Reading and writing ff vectors using ff subscripts",
      "topics": [
        "ffindexget",
        "ffindexset"
      ]
    },
    {
      "page": "ffindexorder",
      "title": "Sorting: chunked ordering of integer suscript positions",
      "topics": [
        "ffindexorder",
        "ffindexordersize"
      ]
    },
    {
      "page": "ffinfo",
      "title": "Inspect content of ff saves",
      "topics": [
        "ffinfo"
      ]
    },
    {
      "page": "ffload",
      "title": "Reload ffSaved Datasets",
      "topics": [
        "ffload"
      ]
    },
    {
      "page": "fforder",
      "title": "Sorting: order from ff vectors",
      "topics": [
        "fforder"
      ]
    },
    {
      "page": "ffreturn",
      "title": "Return suitable ff object",
      "topics": [
        "ffreturn"
      ]
    },
    {
      "page": "ffsave",
      "title": "Save R and ff objects",
      "topics": [
        "ffsave",
        "ffsave.image"
      ]
    },
    {
      "page": "ffsort",
      "title": "Sorting of ff vectors",
      "topics": [
        "ffsort"
      ]
    },
    {
      "page": "ffsuitable",
      "title": "Test ff object for suitability",
      "topics": [
        "ffsuitable",
        "ffsuitable_attribs"
      ]
    },
    {
      "page": "ffxtensions",
      "title": "Test for availability of ff extensions",
      "topics": [
        "ffsymmxtensions",
        "ffxtensions"
      ]
    },
    {
      "page": "file.resize",
      "title": "Change size of move an existing file",
      "topics": [
        "file.move",
        "file.resize"
      ]
    },
    {
      "page": "filename",
      "title": "Get or set filename",
      "topics": [
        "filename",
        "filename.default",
        "filename.ffdf",
        "filename.ff_pointer",
        "filename<-",
        "filename<-.ff",
        "pattern",
        "pattern.ff",
        "pattern<-",
        "pattern<-.ff",
        "pattern<-.ffdf"
      ]
    },
    {
      "page": "finalize",
      "title": "Call finalizer",
      "topics": [
        "finalize",
        "finalize.ff",
        "finalize.ffdf",
        "finalize.ff_pointer"
      ]
    },
    {
      "page": "finalizer",
      "title": "Get and set finalizer (name)",
      "topics": [
        "finalizer",
        "finalizer.ff",
        "finalizer<-",
        "finalizer<-.ff"
      ]
    },
    {
      "page": "fixdiag",
      "title": "Test for fixed diagonal",
      "topics": [
        "fixdiag",
        "fixdiag.default",
        "fixdiag.dist",
        "fixdiag.ff",
        "fixdiag<-"
      ]
    },
    {
      "page": "geterror.ff",
      "title": "Get error and error string",
      "topics": [
        "geterror.ff",
        "geterrstr.ff"
      ]
    },
    {
      "page": "getpagesize",
      "title": "Get page size information",
      "topics": [
        "getalignedpagesize",
        "getdefaultpagesize",
        "getpagesize"
      ]
    },
    {
      "page": "getset.ff",
      "title": "Reading and writing vectors of values (low-level)",
      "topics": [
        "get.ff",
        "getset.ff",
        "set.ff"
      ]
    },
    {
      "page": "hi",
      "title": "Hybrid index class",
      "topics": [
        "hi",
        "print.hi",
        "str.hi"
      ]
    },
    {
      "page": "hiparse",
      "title": "Hybrid Index, parsing",
      "topics": [
        "hiparse"
      ]
    },
    {
      "page": "is.ff",
      "title": "Test for class ff",
      "topics": [
        "is.ff"
      ]
    },
    {
      "page": "is.ffdf",
      "title": "Test for class ff",
      "topics": [
        "is.ffdf"
      ]
    },
    {
      "page": "is.open",
      "title": "Test if object is opened",
      "topics": [
        "is.open",
        "is.open.ff",
        "is.open.ffdf",
        "is.open.ff_pointer"
      ]
    },
    {
      "page": "is.readonly",
      "title": "Get readonly status",
      "topics": [
        "is.readonly",
        "is.readonly.ff"
      ]
    },
    {
      "page": "is.sorted",
      "title": "Getting and setting 'is.sorted' physical attribute",
      "topics": [
        "is.sorted.default",
        "is.sorted<-.default"
      ]
    },
    {
      "page": "length.ff",
      "title": "Getting and setting length",
      "topics": [
        "length.ff",
        "length<-.ff"
      ]
    },
    {
      "page": "length.ffdf",
      "title": "Getting length of a ffdf dataframe",
      "topics": [
        "length.ffdf"
      ]
    },
    {
      "page": "length.hi",
      "title": "Hybrid Index, querying",
      "topics": [
        "length.hi",
        "maxindex.hi",
        "poslength.hi"
      ]
    },
    {
      "page": "levels.ff",
      "title": "Getting and setting factor levels",
      "topics": [
        "is.factor",
        "is.factor.default",
        "is.factor.ff",
        "is.ordered",
        "is.ordered.default",
        "is.ordered.ff",
        "levels.ff",
        "levels<-.ff"
      ]
    },
    {
      "page": "LimWarn",
      "title": "ff Limitations and Warnings",
      "topics": [
        "LimWarn"
      ]
    },
    {
      "page": "matcomb",
      "title": "Array: make matrix indices from row and columns positions",
      "topics": [
        "matcomb"
      ]
    },
    {
      "page": "matprint",
      "title": "Print beginning and end of big matrix",
      "topics": [
        "matprint",
        "print.matprint"
      ]
    },
    {
      "page": "maxffmode",
      "title": "Lossless vmode coercability",
      "topics": [
        "maxffmode"
      ]
    },
    {
      "page": "maxlength",
      "title": "Get physical length of an ff or ram object",
      "topics": [
        "maxlength",
        "maxlength.default",
        "maxlength.ff"
      ]
    },
    {
      "page": "mismatch",
      "title": "Test for recycle mismatch",
      "topics": [
        "mismatch",
        "ymismatch"
      ]
    },
    {
      "page": "na.count",
      "title": "Getting and setting 'na.count' physical attribute",
      "topics": [
        "na.count.default",
        "na.count.ff",
        "na.count<-.default",
        "na.count<-.ff"
      ]
    },
    {
      "page": "names.ff",
      "title": "Getting and setting names",
      "topics": [
        "names.ff",
        "names.ff_array",
        "names<-.ff",
        "names<-.ff_array"
      ]
    },
    {
      "page": "nrowAssign",
      "title": "Assigning the number of rows or columns",
      "topics": [
        "ncol<-",
        "nrow<-"
      ]
    },
    {
      "page": "open.ff",
      "title": "Opening an ff file",
      "topics": [
        "open.ff",
        "open.ffdf"
      ]
    },
    {
      "page": "pagesize",
      "title": "Pagesize of ff object",
      "topics": [
        "pagesize",
        "pagesize.ff"
      ]
    },
    {
      "page": "physical.ff",
      "title": "Getting and setting physical and virtual attributes of ff objects",
      "topics": [
        "physical.ff",
        "physical<-.ff",
        "virtual.ff",
        "virtual<-.ff"
      ]
    },
    {
      "page": "physical.ffdf",
      "title": "Getting physical and virtual attributes of ffdf objects",
      "topics": [
        "physical.ffdf",
        "virtual.ffdf"
      ]
    },
    {
      "page": "print.ff",
      "title": "Print and str methods",
      "topics": [
        "print.ff",
        "print.ffdf",
        "print.ff_matrix",
        "print.ff_vector",
        "str.ff",
        "str.ffdf"
      ]
    },
    {
      "page": "ram2ffcode",
      "title": "Factor codings",
      "topics": [
        "ram2ffcode",
        "ram2ramcode"
      ]
    },
    {
      "page": "ramattribs",
      "title": "Get ramclass and ramattribs",
      "topics": [
        "ramattribs",
        "ramattribs.default",
        "ramattribs.ff",
        "ramattribs_excludes",
        "ramclass",
        "ramclass.default",
        "ramclass.ff",
        "ramclass_excludes"
      ]
    },
    {
      "page": "ramorder.default",
      "title": "Sorting: order R vector in-RAM and in-place",
      "topics": [
        "keyorder.default",
        "mergeorder.default",
        "radixorder.default",
        "ramorder.default",
        "shellorder.default"
      ]
    },
    {
      "page": "ramsort.default",
      "title": "Sorting: Sort R vector in-RAM and in-place",
      "topics": [
        "keysort.default",
        "mergesort.default",
        "radixsort.default",
        "ramsort.default",
        "shellsort.default"
      ]
    },
    {
      "page": "read.table.ffdf",
      "title": "Importing csv files into ff data.frames",
      "topics": [
        "read.csv.ffdf",
        "read.csv2.ffdf",
        "read.delim.ffdf",
        "read.delim2.ffdf",
        "read.table.ffdf"
      ]
    },
    {
      "page": "readwrite.ff",
      "title": "Reading and writing vectors (low-level)",
      "topics": [
        "read.ff",
        "readwrite.ff",
        "write.ff"
      ]
    },
    {
      "page": "regtest.fforder",
      "title": "Sorting: regression tests",
      "topics": [
        "regtest.fforder"
      ]
    },
    {
      "page": "repnam",
      "title": "Replicate with names",
      "topics": [
        "repnam"
      ]
    },
    {
      "page": "sortLevels",
      "title": "Factor level manipulation",
      "topics": [
        "appendLevels",
        "recodeLevels",
        "recodeLevels.factor",
        "recodeLevels.ff",
        "sortLevels",
        "sortLevels.factor",
        "sortLevels.ff",
        "sortLevels.ffdf"
      ]
    },
    {
      "page": "splitPathFile",
      "title": "Analyze pathfile-strings",
      "topics": [
        "fftempfile",
        "splitPathFile",
        "standardPathFile",
        "tempPathFile",
        "unsplitPathFile"
      ]
    },
    {
      "page": "swap",
      "title": "Reading and writing in one operation (high-level)",
      "topics": [
        "swap",
        "swap.default",
        "swap.ff",
        "swap.ff_array"
      ]
    },
    {
      "page": "symmetric",
      "title": "Test for symmetric structure",
      "topics": [
        "symmetric",
        "symmetric.default",
        "symmetric.dist",
        "symmetric.ff"
      ]
    },
    {
      "page": "symmIndex2vectorIndex",
      "title": "Array: make vector positions from symmetric array index",
      "topics": [
        "symmIndex2vectorIndex"
      ]
    },
    {
      "page": "unclass_-",
      "title": "Unclassed assignement",
      "topics": [
        "unclass<-"
      ]
    },
    {
      "page": "undim",
      "title": "Undim",
      "topics": [
        "undim"
      ]
    },
    {
      "page": "unsort",
      "title": "Hybrid Index, internal utilities",
      "topics": [
        "subscript2integer",
        "unsort",
        "unsort.ahi",
        "unsort.hi"
      ]
    },
    {
      "page": "update.ff",
      "title": "Update ff content from another object",
      "topics": [
        "update.ff",
        "update.ffdf"
      ]
    },
    {
      "page": "vecprint",
      "title": "Print beginning and end of big vector",
      "topics": [
        "print.vecprint",
        "vecprint"
      ]
    },
    {
      "page": "vector.vmode",
      "title": "Create vector of virtual mode",
      "topics": [
        "boolean",
        "byte",
        "nibble",
        "quad",
        "short",
        "ubyte",
        "ushort",
        "vector.vmode",
        "vector.vmode.default",
        "vector.vmode.ff"
      ]
    },
    {
      "page": "vector2array",
      "title": "Array: make array from vector",
      "topics": [
        "vector2array"
      ]
    },
    {
      "page": "vectorIndex2arrayIndex",
      "title": "Array: make array from index vector positions",
      "topics": [
        "vectorIndex2arrayIndex"
      ]
    },
    {
      "page": "vmode",
      "title": "Virtual storage mode",
      "topics": [
        ".ffbytes",
        ".ffmode",
        ".rambytes",
        ".rammode",
        ".vcoerceable",
        ".vimplemented",
        ".vmax",
        ".vmin",
        ".vmode",
        ".vNA",
        ".vunsigned",
        ".vvalues",
        "regtest.vmode",
        "vmode",
        "vmode.default",
        "vmode.ff",
        "vmode<-",
        "vmode<-.default",
        "vmode<-.ff"
      ]
    },
    {
      "page": "vmode.ffdf",
      "title": "Virtual storage mode of ffdf",
      "topics": [
        "vmode.ffdf"
      ]
    },
    {
      "page": "vt",
      "title": "Virtual transpose",
      "topics": [
        "t.ff",
        "vt",
        "vt.default",
        "vt.ff"
      ]
    },
    {
      "page": "vw",
      "title": "Getting and setting virtual windows",
      "topics": [
        "vw",
        "vw.default",
        "vw.ff",
        "vw<-",
        "vw<-.ff_array",
        "vw<-.ff_vector"
      ]
    },
    {
      "page": "write.table.ffdf",
      "title": "Exporting csv files from ff data.frames",
      "topics": [
        "write.csv",
        "write.csv.ffdf",
        "write.csv2",
        "write.csv2.ffdf",
        "write.table.ffdf"
      ]
    }
  ],
  "_readme": "https://github.com/truecluster/ff/raw/HEAD/README.md",
  "_rundeps": [
    "bit"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_score": 11.254419601485226,
  "_indexed": true,
  "_nocasepkg": "ff",
  "_universes": [
    "truecluster"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "4.5.2",
      "date": "2026-06-01T06:50:20.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "7dd7ded7a91adcd400fa390217a88645f7e08c868b77a77b1804d8cf58045492",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "4.5.2",
      "date": "2026-06-01T06:50:05.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "0477d8a6f80b33e033ca4205d245d3a3f5a317cbf5ef1c09ddfea922bfa408c1",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "4.5.2",
      "date": "2026-06-01T06:50:17.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "d7ad8d7a9b7b5fd5a10d0c18563e032ab344061012100077a6286f9e078ce6cf",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "4.5.2",
      "date": "2026-06-01T06:50:06.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "e500e1be6182467e31427385a95dbcebfe132b12ffbe055c1dffefcac66c647a",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "4.5.2",
      "date": "2026-06-01T06:54:04.000Z",
      "arch": "aarch64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "e9dc389d2510f5b149d603fc1fa5ab1205dbf3eeaa2d926198c2f5ee0bd61ae3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "4.5.2",
      "date": "2026-06-01T06:55:32.000Z",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "95fd8950036b565096b517770eb61356ff770141e87e5ebad1eba66def13b264",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "4.5.2",
      "date": "2026-06-01T06:50:15.000Z",
      "arch": "aarch64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "1b43f2373089d1315042c80fe88e49893c1e7e6559edc830e4dbfb57841f7427",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "4.5.2",
      "date": "2026-06-01T06:54:06.000Z",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "80615c35dd5c51adfa6119504ce92d17d348412d564c39f3d5c188bf86bde43d",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "4.5.2",
      "date": "2026-06-01T06:49:17.000Z",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "5fa2f21397b626ff60a3024bc20c3178fb2aaf94e4a14036b2316ab2f14b1b96",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "4.5.2",
      "date": "2026-06-01T06:49:10.000Z",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "9e69eeeb2fd0e5b60f91f74689af469d46e30428f291706ac49920d66d81f2b5",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "4.5.2",
      "date": "2026-06-01T06:49:25.000Z",
      "arch": "x86_64",
      "commit": "d9dd7552bd223d996593f3c51f767058192c8693",
      "fileid": "3c630328b7949d9e26fe168a0bc8db247fd95cdec77a9144e10446fdfde11f55",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/truecluster/actions/runs/26739548276"
    }
  ]
}