Learn R Programming

bigstatsr (version 0.6.2)

big_copy: Copy a Filebacked Big Matrix

Description

Copy a Filebacked Big Matrix with possible subsetting.

Usage

big_copy(X, ind.row = rows_along(X), ind.col = cols_along(X),
  type = typeof(X), backingfile = tempfile(),
  block.size = block_size(length(ind.row)))

Arguments

X

Could be any matrix-like object.

ind.row

An optional vector of the row indices that are used. If not specified, all rows are used. Don't use negative indices.

ind.col

An optional vector of the column indices that are used. If not specified, all columns are used. Don't use negative indices.

type

Type of the Filebacked Big Matrix (default is double). Either

  • "double"

  • "integer"

  • "unsigned short": can store integer values from 0 to 65535. It has vocation to become the basis for a FBM.code65536 class for accessing strings.

  • "raw" or "unsigned char": can store integer values from 0 to 255. It is the basis for the FBM.code256 class for accessing 256 arbitrary different numeric values. It is used in package bigsnpr.

backingfile

Path to the file storing the Big Matrix on disk. An extension ".bk" will be automatically added. Default stores in the temporary directory.

block.size

Maximum number of columns read at once. Default uses block_size.

Value

A copy of the FBM.

Examples

Run this code
# NOT RUN {
X <- FBM(10, 10, init = 1:100)
X[]
X2 <- big_copy(X, ind.row = 1:5)
X2[]

mat <- matrix(101:200, 10)
X3 <- big_copy(mat, type = "double")
X3[]

X.code <- big_attachExtdata()
class(X.code)
X2.code <- big_copy(X.code)
class(X2.code)
all.equal(X.code[], X2.code[])

# }

Run the code above in your browser using DataLab