psychelzh / cpmr

Connectome predictive modelling in R
https://psychelzh.github.io/cpmr/
Other
0 stars 0 forks source link

cpmr

R-CMD-check Codecov test
coverage CRAN
status

The cpmr package is specifically designed for the analysis of the connectome predictive modeling (CPM) method in R. This package relies on Rfast to do row oriented calculation.

Installation

You can install the released version of cpmr from CRAN with:

install.packages("cpmr")

Or you can install the development version of cpmr from r-universe with:

install.packages("cpmr", repos = c("https://psychelzh.r-universe.dev", getOption("repos")))

Example

It is very simple to use this package. Just shape your connectivity matrix as a subjects by edges matrix, i.e., each row contains the correlation matrix (removed diagonal and duplicated values, e.g., lower triangular data) for each subject, and your behavior data a vector and feed them in cpm() function.

library(cpmr)

withr::local_seed(123)
conmat <- matrix(rnorm(100 * 1000), nrow = 100)
behav <- rnorm(100)
res <- cpm(conmat, behav, kfolds = 10, return_edges = "sum")
res
#> CPM results:
#>   Call: cpm(conmat = conmat, behav = behav, kfolds = 10, return_edges = "sum")
#>   Number of observations: 100
#>     Complete cases: 100
#>   Number of edges: 1000
#>   Parameters:
#>     Confounds:        FALSE
#>     Threshold method: alpha
#>     Threshold level:  0.01
#>     CV folds:         10
#>     Bias correction:  TRUE
summary(res)
#> CPM summary:
#>   Performance (Pearson):
#>     Positive: -0.114
#>     Negative: -0.270
#>     Combined: -0.225
#>   Prop. edges (50% folds):
#>     Positive: 0.40%
#>     Negative: 0.10%

Code of Conduct

Please note that the cpmr project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.