crassmat {crassmat} | R Documentation |

## Conditional Random Sampling Sparse Matrices

### Description

Conducts conditional random sampling on observed values in sparse matrices. Useful for training and test set splitting sparse matrices prior to model fitting in cross-validation procedures and estimating the predictive accuracy of data imputation methods, such as matrix factorization or singular value decomposition (SVD). Although designed for applications with sparse matrices, CRASSMAT can also be applied to complete matrices, as well as to those containing missing values.

### Usage

```
crassmat(data, sample_thres, conditional)
```

### Arguments

`data` |
a matrix (supports sparsity, missing values, and complete matrices) |

`sample_thres` |
a non-negative decimal specifying the percentage of observed values sampled out |

`conditional` |
a non-negative integer specifying the number of observed values to remain per row |

### Details

Takes a matrix A*ij* and samples out a single *jth* value on the condition that the number of *jth* values within the *ith* observation is greater than the specified conditional (minimum number of values to remain per *ith* observation). This process repeats itself until the specified sampling threshold is met.

### Value

Returns a matrix object with observed values removed according to the specified `sample_thres`

and `conditional`

.

### Author(s)

Nick Kunz <nick.kunz@columbia.edu>

### References

Kunz, N. (2019). *Unsupervised Learning for Submarket Modeling: A Proxy for Neighborhood Change* (Master's Thesis). Columbia University, New York, NY.

### Examples

```
## test set
A_test <- A
## training set
A_train <- crassmat(data = A, # matrix
sample_thres = 0.20, # remove 20% of observed values
conditional = 1) # keep > 1 observed values per row
```

*crassmat*version 0.0.6 Index]