## Create an Hashmat object
Hashmat()
## Using a list of elements and keys
dmat1 <- diag(3)
smat1 <- Hashmat(dmat1)
all.equal(smat1[], dmat1, check.attr=FALSE)
## Filling an empty sparse matrix
smat2 <- Hashmat(nrow=1000, ncol=1000)
smat2[500,] <- rep(1, 1000)
dmat2 <- matrix(nrow=1000, ncol=1000)
dmat2[500,] <- rep(1, 1000)
print(object.size(dmat2), units="Mb")
print(object.size(smat2), units="Mb") # Much smaller
all.equal(dmat2[500,], smat2[500,], , check.attr=FALSE)
Run the code above in your browser using DataLab