是否有可用于执行Spearman and/or Pearson相关的Javascript库?
有这个
http://stevegardner.net/2012/06/11/javascript-code-to-calculate-the-pearson-correlation-coefficient/
除此之外,您可以尝试:
http://www.jstat.org/download
或者,如果这些都不符合要求并且您不想自己编写,您可以随时使用:
http://www.rforge.net/Rserve/
同
http://www.gardenersown.co.uk/education/lectures/r/correl.htm
去做吧 .
我在Github上使用了Spearson项目here . 我已经测试了Spearman相关性,它给出了准确的值 .
我刚刚在repo的 /lib 文件夹中下载了 spearson.js 文件 . 以下是在浏览器中使用它的方法:
/lib
spearson.js
<script src="spearson.js"></script>
<script> var x = [3, 4, 5]; var y = [.1, .2, .3]; var corr = spearson.correlation.spearman(x, y); </script>
同样,您可以使用 correlation.pearson 进行Pearson相关 .
correlation.pearson
所以这是我的两个便士值得关注的问题 - Pearson相关性:
const pcorr = (x, y) => { let sumX = 0, sumY = 0, sumXY = 0, sumX2 = 0, sumY2 = 0; const minLength = x.length = y.length = Math.min(x.length, y.length), reduce = (xi, idx) => { const yi = y[idx]; sumX += xi; sumY += yi; sumXY += xi * yi; sumX2 += xi * xi; sumY2 += yi * yi; } x.forEach(reduce); return (minLength * sumXY - sumX * sumY) / Math.sqrt((minLength * sumX2 - sumX * sumX) * (minLength * sumY2 - sumY * sumY)); }; let arrX = [20, 54, 54, 65, 45]; let arrY = [22, 11, 21, 34, 87]; let R = pcorr(arrX, arrY); console.log('arrX', arrX, 'arrY', arrY, 'R', R);
试试这个:
function spearmanCorrelation(multiList, p1, p2){ N=multiList[p1].length; order=[]; sum=0; for(i=0;i<N;i++){ order.push([multiList[p1][i], multiList[p2][i]]); } order.sort(function(a,b){ return a[0]-b[0] }); for(i=0;i<N;i++){ order[i].push(i+1); } order.sort(function(a,b){ return a[1]-b[1] }); for(i=0;i<N;i++){ order[i].push(i+1); } for(i=0;i<N;i++){ sum+=Math.pow((order[i][2])-(order[i][3]), 2); } r=1-(6*sum/(N*(N*N-1))); return r; }
4 回答
有这个
http://stevegardner.net/2012/06/11/javascript-code-to-calculate-the-pearson-correlation-coefficient/
除此之外,您可以尝试:
http://www.jstat.org/download
或者,如果这些都不符合要求并且您不想自己编写,您可以随时使用:
http://www.rforge.net/Rserve/
同
http://www.gardenersown.co.uk/education/lectures/r/correl.htm
去做吧 .
我在Github上使用了Spearson项目here . 我已经测试了Spearman相关性,它给出了准确的值 .
我刚刚在repo的
/lib
文件夹中下载了spearson.js
文件 . 以下是在浏览器中使用它的方法:<script src="spearson.js"></script>
同样,您可以使用
correlation.pearson
进行Pearson相关 .所以这是我的两个便士值得关注的问题 - Pearson相关性:
试试这个: