sparsio is a small (the only dependency is
Rcpp
) R package for sparse matrices
Input/Output. It provides
fast svmlight
reader and writer.
read_svmlight()
write_svmlight()
library(Matrix)
library(sparsio)
= 1e8
N = sample(1e5, N, T)
i = sample(1e5, N, T)
j = runif(N)
vals = sparseMatrix(i, j, x = vals)
x print(object.size(x), units = "Gb")
# 1.1 Gb
= sample(c(0, 1), nrow(x), replace = TRUE)
y = tempfile(fileext = ".svmlight")
f system.time(write_svmlight(x, y, f))
# user system elapsed
# 68.014 2.785 70.899
file.size(f)/1e9
# 1.48135 Gb
system.time(x2 <- read_svmlight(f, type = "CsparseMatrix"))
# user system elapsed
# 55.021 2.803 57.892
all.equal(x2$x, x)
# "Mean relative difference: 4.636406e-07"
all.equal(x2$y, y)
# TRUE