R/sparse_casters.R
cast_sparse.Rd
This function supports non-standard evaluation through the tidyeval framework.
cast_sparse(data, row, column, value, ...)
A tbl
Column name to use as row names in sparse matrix, as string or symbol
Column name to use as column names in sparse matrix, as string or symbol
Column name to use as sparse matrix values (default 1) as string or symbol
Extra arguments to pass on to sparseMatrix()
A sparse Matrix object, with one row for each unique value in
the row
column, one column for each unique value in the column
column, and with as many non-zero values as there are rows in data
.
Note that cast_sparse ignores groups in a grouped tbl_df. The arguments
row
, column
, and value
are passed by expression and support
quasiquotation; you can unquote strings and symbols.
dat <- data.frame(a = c("row1", "row1", "row2", "row2", "row2"),
b = c("col1", "col2", "col1", "col3", "col4"),
val = 1:5)
cast_sparse(dat, a, b)
#> 2 x 4 sparse Matrix of class "dgCMatrix"
#> col1 col2 col3 col4
#> row1 1 1 . .
#> row2 1 . 1 1
cast_sparse(dat, a, b, val)
#> 2 x 4 sparse Matrix of class "dgCMatrix"
#> col1 col2 col3 col4
#> row1 1 2 . .
#> row2 3 . 4 5