toSparseM: Convert the plpData in COO format into a sparse R matrix

View source: R/Formatting.R

toSparseMR 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 plpData with covariate in coo format - the patient level prediction data extracted from the CDM.

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]


OHDSI/PatientLevelPrediction documentation built on Feb. 14, 2025, 9:44 a.m.