toSparseM {PatientLevelPrediction} | R Documentation |
Convert the plpData in COO format into a sparse R matrix
Description
Converts the standard plpData to a sparse matrix
Usage
toSparseM(plpData, cohort = NULL, map = NULL)
Arguments
plpData |
An object of type |
cohort |
If specified the plpData is restricted to the rowIds in the cohort (otherwise plpData$labels is used) |
map |
A covariate map (telling us the column number for covariates) |
Details
This function converts the covariates Andromeda
table in COO format into a sparse matrix from
the package Matrix
Value
Returns a list, containing the data as a sparse matrix, the plpData covariateRef and a data.frame named map that tells us what covariate corresponds to each column This object is a list with the following components:
- data
A sparse matrix with the rows corresponding to each person in the plpData and the columns corresponding to the covariates.
- covariateRef
The plpData covariateRef.
- map
A data.frame containing the data column ids and the corresponding covariateId from covariateRef.
Examples
library(dplyr)
data("simulationProfile")
plpData <- simulatePlpData(simulationProfile, n=100)
# how many covariates are there before we convert to sparse matrix
plpData$covariateData$covariates %>%
dplyr::group_by(.data$covariateId) %>%
dplyr::summarise(n = n()) %>%
dplyr::collect() %>% nrow()
sparseData <- toSparseM(plpData, cohort=plpData$cohorts)
# how many covariates are there after we convert to sparse matrix'
sparseData$dataMatrix@Dim[2]