UNPKG

w-statistic

Version:
132 lines (120 loc) 3.21 kB
import regPoly from './src/regPoly.mjs' async function test() { let arr let r arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = await regPoly(arr, 2) console.log(r) // => { // b: 7.960481099654818, // m1: -0.15371134020614285, // m2: 0.0010756013745701653 // } arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = await regPoly(arr, 3) console.log(r) // => { // b: 21.051572327842386, // m1: -0.7142872117740979, // m2: 0.0087657232709057, // m3: -0.000034014675054462467 // } arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = await regPoly(arr, 2, { useRegIntercept: false }) //不使用截距, 也就是截距b=0 console.log(r) // => { b: 0, m1: 0.06524644304242452, m2: -0.00035672260356343373 } arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = await regPoly(arr, 2, { interpX: 80 }) console.log(r) // => { // b: 7.960481099654818, // m1: -0.15371134020614285, // m2: 0.0010756013745701653, // interpX: 80, // interpY: 2.5474226804124473 // } arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = await regPoly(arr, 2, { calcR2: true }) console.log(r) // => { // b: 7.960481099654818, // m1: -0.15371134020614285, // m2: 0.0010756013745701653, // r2: 0.6732052768464256 // } arr = [ [50, 3.3], [50, 2.8], [50, 2.9], [70, 2.3], [70, 2.6], [70, 2.1], [80, 2.5], [80, 2.9], [80, 2.4], [90, 3], [90, 3.1], [90, 2.8], [100, 3.3], [100, 3.5], [100, 3] ] r = regPoly(arr, 2, { useSync: true }) //使用同步函數(sync) console.log(r) // => { // b: 7.960481099654818, // m1: -0.15371134020614285, // m2: 0.0010756013745701653 // } arr = [ [1, 2.5], [2.5, 1.1], [4, 0.5], ] r = await regPoly(arr, 1) console.log(r) // => { b: 3.0333333333333314, m1: -0.666666666666666 } } test() .catch((err) => { console.log(err) }) //node g.regPoly.mjs