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.
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")))
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%
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.