loess icon indicating copy to clipboard operation
loess copied to clipboard

patch median operator

Open mmarkell opened this issue 1 year ago • 0 comments

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch [email protected] for the project I'm working on.

Here is the diff that solved my problem:

diff --git a/node_modules/loess/dist/index.js b/node_modules/loess/dist/index.js
index 9ce0887..8b0bedb 100644
--- a/node_modules/loess/dist/index.js
+++ b/node_modules/loess/dist/index.js
@@ -86,7 +86,9 @@ var Loess = function () {
           fitted.push(_mathjs2.default.squeeze(_mathjs2.default.multiply(point, fit.beta)));
           residuals.push(fit.residual);
           betas.push(fit.beta.toArray());
-          var median = _mathjs2.default.median(_mathjs2.default.abs(fit.residual));
+          const data = _mathjs2.default.abs(fit.residual);
+          // if it's NaN, replace it with 0
+          const median = _mathjs2.default.median(data.map((d) => isNaN(d) ? 0 : d));
           wt[idx] = fit.residual.map(function (r) {
             return (0, _helpers.weightFunc)(r, 6 * median, 2);
           });

This issue body was partially generated by patch-package.

mmarkell avatar Sep 21 '24 20:09 mmarkell