corpcor
Efficient Estimation of Covariance and (Partial) Correlation
Description
Implements a James-Stein-type shrinkage estimator for the covariance matrix, with separate shrinkage for variances and correlations. The details of the method are explained in Schafer and Strimmer (2005) <DOI:10.2202/1544-6115.1175> and Opgen-Rhein and Strimmer (2007) <DOI:10.2202/1544-6115.1252>. The approach is both computationally as well as statistically very efficient, it is applicable to "small n, large p" data, and always returns a positive definite and well-conditioned covariance matrix. In addition to inferring the covariance matrix the package also provides shrinkage estimators for partial correlations and partial variances. The inverse of the covariance and correlation matrix can be efficiently computed, as well as any arbitrary power of the shrinkage correlation matrix. Furthermore, functions are available for fast singular value decomposition, for computing the pseudoinverse, and for checking the rank and positive definiteness of a matrix.
Downloads
48.4K
Last 30 days
523rd
134.9K
Last 90 days
555.7K
Last year
Trend: +11.2% (30d vs prior 30d)
CRAN Check Status
Show all 14 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | NOTE |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-macos-arm64 | OK |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | OK |
| r-oldrel-macos-x86_64 | OK |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | OK |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (2 non-OK)
CRAN incoming feasibility
Maintainer: ‘Korbinian Strimmer <strimmerlab@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Juliane",
family = "Schafer",
role = "aut"),
person(given = "Rainer",
family = "Opgen-Rhein",
role = "aut"),
person(given = "Verena",
family = "Zuber",
role = "aut"),
person(given = "Miika",
family = "Ahdesmaki",
role = "aut"),
person(given = c("A.", "Pedro", "Duarte"),
family = "Silva",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer.",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer",
role = "cre",
email = "strimmerlab@gmail.com"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘Korbinian Strimmer <strimmerlab@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Juliane",
family = "Schafer",
role = "aut"),
person(given = "Rainer",
family = "Opgen-Rhein",
role = "aut"),
person(given = "Verena",
family = "Zuber",
role = "aut"),
person(given = "Miika",
family = "Ahdesmaki",
role = "aut"),
person(given = c("A.", "Pedro", "Duarte"),
family = "Silva",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer.",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer",
role = "cre",
email = "strimmerlab@gmail.com"))
as necessary.
Check History
NOTE 12 OK · 2 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
CRAN incoming feasibility
Maintainer: ‘Korbinian Strimmer <strimmerlab@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Juliane",
family = "Schafer",
role = "aut"),
...[truncated]...
family = "Strimmer.",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer",
role = "cre",
email = "strimmerlab@gmail.com"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘Korbinian Strimmer <strimmerlab@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Juliane",
family = "Schafer",
role = "aut"),
...[truncated]...
family = "Strimmer.",
role = "aut"),
person(given = "Korbinian",
family = "Strimmer",
role = "cre",
email = "strimmerlab@gmail.com"))
as necessary.