The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Heteroscedastic nearest shrunken centroid (NSC) classification for high-dimensional, low-sample-size data such as gene expression.
The package implements six classifiers:
| Label | Thresholding | Variance in test statistic and discriminant |
|---|---|---|
| STh | soft | pooled: the original PAM (Tibshirani et al. 2002) |
| HTh | hard | pooled (Sahtout, Wang and Ghimire 2024) |
| OTh | order | pooled (Sahtout, Wang and Ghimire 2024) |
| STh3 | soft | class-specific (Sahtout and Wang) |
| HTh3 | hard | class-specific (Sahtout and Wang) |
| OTh3 | order | class-specific (Sahtout and Wang) |
The threshold is chosen by the refined (“deep”) cross-validation search of Sahtout, Wang and Ghimire (2024).
# from a local copy of the source package
install.packages("hetNSC_0.1.0.tar.gz", repos = NULL, type = "source")
# or, once it is on GitHub
# remotes::install_github("<user>/hetNSC")The package only depends on base R and MASS.
Expression matrices have genes in rows and samples in columns (as in pamr).
library(hetNSC)
set.seed(8900)
dat <- simulate_hetero_data(ntr1 = 15, ntr2 = 20, nte1 = 50, nte2 = 50,
p = 1000, a = 14)
fit <- hnsc(dat$xtr, dat$ytr, method = "HTh3") # or method = "hard", variance = "hetero"
fit
pred <- predict(fit, dat$xte) # class labels
mean(pred != dat$yte) # test error
predict(fit, dat$xte, type = "posterior") # posterior probabilities
fit$selected.genes # genes used| Function | Purpose |
|---|---|
hnsc() |
Fit a classifier with the threshold selected by deep CV |
predict() |
Class labels, posterior probabilities, shrunken centroids or selected genes |
hnsc_train(), hnsc_cv(),
hnsc_select() |
Threshold grid fit, cross-validation, deep CV search |
compare_nsc() |
Repeated-run comparison of homoscedastic vs heteroscedastic versions
(protocol of the paper); summary() and
recall_table() summarise it |
simulate_hetero_data() |
Correlated-gene simulation designs (class B only, or both classes) |
compute_rho2() |
Relative heterogeneity and bias-variance crossover check (Section 2.4) |
make_cm(), per_class_recall(),
balanced_acc() |
Class-level metrics |
hnsc_methods() |
Table of the six classifiers |
See vignette("hetNSC") for a walk-through, and
system.file("scripts", "simulation_correlated.R", package = "hetNSC")
for the full correlated-gene simulation studies.
The original research scripts are kept in inst/legacy.
For the same random seed the package returns the same selected
thresholds, cross-validation errors, test errors, numbers of genes and
posterior probabilities as those scripts;
tests/testthat/test-legacy.R checks this.
citation("hetNSC")GPL-2 (GNU General Public License, version 2 only; see
LICENSE). This is the licence of the R package
pamr by Hastie, Tibshirani, Narasimhan and Chu, from
which parts of the code are adapted.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.