read_matrix: Read a numerical matrix file into an R matrix

View source: R/read_matrix.R

read_matrixR Documentation

Read a numerical matrix file into an R matrix

Description

Reads a matrix file under strict assumptions that it is entirely numeric and there are no row or column names present in this file. It uses readr::read_table() to do it efficiently. Intended for outputs such as those of admixture inference approaches.

Usage

read_matrix(file, ext = "txt", verbose = TRUE)

Arguments

file

Input file (whatever is accepted by readr::read_table()). If file as given does not exist and is missing the expected extension (see ext below), the function adds the extension and uses that path if that file exists. Additionally, the .gz extension is added automatically if the file (after the extension is added as needed) is still not found and did not already contain the .gz extension and adding it points to an existing file.

ext

The desired file extension. Ignored if file points to an existing file. Set to NA to force file to exist as-is.

verbose

If TRUE (default) function reports the path of the file being loaded (after autocompleting the extensions).

Value

A numeric matrix without row or column names.

See Also

write_matrix(), the inverse function.

Examples

# to read "data.txt", run like this:
# mat <- read_matrix("data")
# this also works
# mat <- read_matrix("data.txt")

# The following example is more awkward
# because package sample data has to be specified in this weird way:

# read an existing matrix *.txt file
file <- system.file("extdata", 'sample-Q3.txt', package = "genio", mustWork = TRUE)
mat <- read_matrix(file)
mat

# can specify without extension
file <- sub('\\.txt$', '', file) # remove extension from this path on purpose
file # verify .txt is missing
mat <- read_matrix(file) # load it anyway!
mat


genio documentation built on Jan. 7, 2023, 1:12 a.m.