Learn R Programming

fpROC

Provides optimized ‘C++’ code for computing the partial Receiver Operating Characteristic (ROC) test used in niche and species distribution modeling. The implementation follows Peterson et al. (2008) doi:10.1016/j.ecolmodel.2007.11.008. Parallelization via ‘OpenMP’ was implemented with assistance from the ‘DeepSeek’ Artificial Intelligence Assistant (https://www.deepseek.com/).

Installation

You can install the development version of fpROC from GitHub with:

# install.packages("pak")
pak::pak("luismurao/fpROC")

Examples

The package can work with numerical vectors and terra SpatRaster objects.

An example using numerical data

set.seed(999)
# With numeric vectors
test_data <- rnorm(100)
pred_data <- rnorm(100)
result <- fpROC::auc_metrics(test_prediction = test_data, prediction = pred_data)

An example using terra SpatRaster objects.

set.seed(999)
# With SpatRaster
library(terra)
#> terra 1.8.54
r <- terra::rast(ncol=10, nrow=10)
values(r) <- rnorm(terra::ncell(r))
result <- fpROC::auc_metrics(test_prediction = test_data, prediction = r)

Acknowledgments

CONACYT Ciencia de Frontera CF-2023-I-1156. Laboratorio Nacional de Biología del Cambio Climático, SECIHTI, México. To PAPIIT-UNAM IA202824 and PAPIIT-UNAM IA203922.RGC-D thanks the Dirección General de Asuntos del Personal Académico (DGAPA) from the UNAM, and the Secretaría de Ciencia, Humanidades, Tecnología e Innovación for her postdoctoral scholarship.

Copy Link

Version

Install

install.packages('fpROC')

Monthly Downloads

217

Version

0.1.0

License

GPL-3

Maintainer

Luis Osorio-Olvera

Last Published

July 16th, 2025

Functions in fpROC (0.1.0)

auc_metrics

Calculate Partial and complete Area Under the Curve (AUC) Metrics
auc_parallel

Parallel AUC and partial AUC calculation with optimized memory usage
fpROC-package

fpROC: Fast Partial Receiver Operating Characteristic (ROC) Test for Ecological Niche Modeling
summarize_auc_results

Summarize Bootstrap AUC Results
trap_roc

Calculate Area Under Curve (AUC) using trapezoidal rule