我有两个x-y数据集,它们形成两个潜在相关的散点图。
第一个数据集的近似域(x轴)为0到25,000,范围(y轴)为0到0.3。第二个数据集的近似域为0到550,范围为0到4.5。第一个数据集更加精确,可以认为是正确的。
每个数据集的x和y轴以(示例)data: { xAxis: [0,1,2,3,4...], yAxis: [0.20779456198215485, 0.20824825763702393, 0.20915564894676208, 0.20960935950279236...] }
的形式存储。
我如何正确地删除或减少第一个数据集对象中的xy坐标对,使其在第二个对象中具有相同数量的点(以便它们可以叠加以用于图形/标准偏差)?
我不一定需要代码,我只是在寻求有关如何以保持数据完整性的方式解决问题的帮助,而不仅仅是随机删除数据。我想一种方法可能是返回spearman的相关常数作为从数据集中删除各个点的结果,并将最终结果分配给任何数据集点删除返回最高的spearman常数。
答案 0 :(得分:0)
您可以使用Math.min
对最短长度进行四重分配,然后合并剩余数据:
xAxis.length = yAxis.length = xAxis2.length = yAxis2.length = Math.min(xAxis.length, xAxis2.length);
return { xAxis, yAxis, xAxis2, yAxis2 }
let
dataset_1 = { xAxis: [0,1,2], yAxis: [0,1,2] },
dataset_2 = { xAxis: [0,1,2,3,4], yAxis: [0,1,2,3,4] }
function combine(d1,d2) {
let {xAxis, yAxis} = d1,
{xAxis: xAxis2, yAxis: yAxis2} = d2;
xAxis.length = yAxis.length = xAxis2.length = yAxis2.length = Math.min(xAxis.length, xAxis2.length);
return { xAxis, yAxis, xAxis2, yAxis2 }
}
console.log(
combine(dataset_1, dataset_2)
);
仅当您的x
和y
信息分组同步且两个数组的长度相同时,以上方法才有效。大多数人会认为是这种情况,但如果没有,请随时发表评论。