diff --git a/NEWS.md b/NEWS.md index 4a60a7b..d434908 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ # pc 0.3 +### enhancements + +* Clarify output indexing and boundary handling in `fnn` generic (#69). + # pc 0.2 ### new diff --git a/R/fnn.R b/R/fnn.R index 005f4d9..765abff 100644 --- a/R/fnn.R +++ b/R/fnn.R @@ -1,4 +1,4 @@ -.fnn_ts = \(data, target, E = 2:10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, +.fnn_ts = \(data, target, E = 10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, dist.metric = c("euclidean", "manhattan", "maximum"), rt = 10, eps = NULL, threads = length(E), higher.parallel = TRUE, ...) { dist.metric = match.arg(dist.metric) @@ -11,7 +11,7 @@ k, threads, higher.parallel, NULL, NULL)) } -.fnn_lattice = \(data, target, E = 3:10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, +.fnn_lattice = \(data, target, E = 10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, dist.metric = c("euclidean", "manhattan", "maximum"), rt = 10, eps = NULL, threads = length(E), higher.parallel = TRUE, detrend = FALSE, nb = NULL, ...) { if (is.null(nb)) nb = sdsfun::spdep_nb(data) @@ -25,7 +25,7 @@ k, threads, higher.parallel, nb, NULL)) } -.fnn_grid = \(data, target, E = 3:10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, +.fnn_grid = \(data, target, E = 10, k = 1, tau = 1, style = 1, lib = NULL, pred = NULL, dist.metric = c("euclidean", "manhattan", "maximum"), rt = 10, eps = NULL, threads = length(E), higher.parallel = TRUE, detrend = FALSE, ...) { dist.metric = match.arg(dist.metric) diff --git a/man/fnn.Rd b/man/fnn.Rd index 05570fa..f710f90 100644 --- a/man/fnn.Rd +++ b/man/fnn.Rd @@ -10,7 +10,7 @@ \S4method{fnn}{data.frame}( data, target, - E = 2:10, + E = 10, k = 1, tau = 1, style = 1, @@ -27,7 +27,7 @@ \S4method{fnn}{sf}( data, target, - E = 3:10, + E = 10, k = 1, tau = 1, style = 1, @@ -46,7 +46,7 @@ \S4method{fnn}{SpatRaster}( data, target, - E = 3:10, + E = 10, k = 1, tau = 1, style = 1, diff --git a/src/FNN.cpp b/src/FNN.cpp index e033f06..13c2738 100644 --- a/src/FNN.cpp +++ b/src/FNN.cpp @@ -261,9 +261,9 @@ Rcpp::NumericVector RcppFNN( result.names() = resnames; // Terminal-friendly hint (one-time, non-intrusive) - Rcpp::Rcout << "[fnn] Output 'E:i' corresponds to the i-th valid embedding dimension.\n" - << "[fnn] Input E values exceeding max embeddable dimension were truncated.\n" - << "[fnn] Please map output indices to original E inputs before interpretation.\n"; + Rcpp::Rcout << "[fnn] Input E values exceeding max embeddable dimension were truncated, and values < 2 were clamped to 2.\n" + << "[fnn] Max embedding dimension E_max is auto-computed, with results returned for dimensions 1 through E_max.\n" + << "[fnn] Output 'E:i' (where i = 1 to E_max-1) corresponds to the comparison between dimension i and i+1.\n"; return result; }