R/sparse_casters.R
cast_sparse.Rd
This function supports non-standard evaluation through the tidyeval framework.
cast_sparse(data, row, column, value, ...)
data | A tbl |
---|---|
row | Column name to use as row names in sparse matrix, as string or symbol |
column | Column name to use as column names in sparse matrix, as string or symbol |
value | Column name to use as sparse matrix values (default 1) as string or symbol |
... | Extra arguments to pass on to |
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 1cast_sparse(dat, a, b, val)#> 2 x 4 sparse Matrix of class "dgCMatrix" #> col1 col2 col3 col4 #> row1 1 2 . . #> row2 3 . 4 5