问题标签 [binning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1295 浏览

c# - 如何动态生成每个数据中具有相似数字的波段/数据组?

我想动态生成乐队,然后将其分组在报告中。

我的第一个想法是通过取最小值和最大值然后除以差异来生成波段。

例如,假设您有一大群人的薪水:

  • 最低工资的年收入为 12,000 英镑,最高的收入为 3,000,000 英镑
  • 所以我把它分成 10 个类似大小的乐队:(3 百万英镑 - 1.2 万英镑)/ 10 = 298800 英镑
  • 所以我的第一支乐队从 12,000 英镑到 310,800 英镑,并吸引了成千上万的人
  • 我的第二支乐队从 31 万英镑到 61 万英镑,有几百个
  • 每个其他乐队都有几个人

那么这实际上并不是很有用。如果我要手动创建乐队,我希望每个乐队的数字大致相似,例如:£12k-£14k、£14k-£18k、£18k-£25k、£25-£35k、...、£ 1.5-300万英镑

这只是一个例子——可能有很多不同的分布。

我正在寻找一种算法来生成波段,因此用户将输入他们想要的波段数,并且数据将被分组到每个波段相似的数字中。

条带需要快速 - 我不能只循环整个数据集。

该应用程序是基于 SQL 的 C#,但欢迎使用其他语言的解决方案。

0 投票
2 回答
1391 浏览

r - 在 R 中合并 NMR 数据

我已将 R 上的 NMR 光谱导入为 .csv 文件(第一列代表其他的 ppm 值,各种光谱的信号强度),我想对数据进行分类,比如说,每 5 个点一个。有什么建议么?

干杯,

马塞洛

0 投票
2 回答
1058 浏览

r - 矩阵的分箱平均

我有一个包含 n 行和 n 列的矩阵,我想一次平均 10 行进行分箱,这意味着最后我留下了一个大小为 n/10×n 的矩阵。我添加了 matlab 库并尝试了以下代码:

但它不起作用,我应该使用哪些代码/代码?

谢谢!!

0 投票
1 回答
239 浏览

c# - C# GetHashCode 用于分箱

我想对一组对象进行分类,特别是具有 x 和 y 值的点类型,以便我可以计算点集中存在的每个 x、y 对的点数。x 和 y 的最大值是 [-1000,1000],因此很容易为每个可能的点生成唯一的哈希码。

对于实际的分箱过程,可以使用字典来完成。当我向字典添加/查找点时,GetHashCode 是否会被用于此目的?

有没有更好的方法来进行分箱?

0 投票
1 回答
220 浏览

r - 在 R 中合并不同长度

输入1

输入2

输出

我想使用 input1 值计算点的密度(input2)。表示 a1-100-200 在这 100 到 200 范围内有多少个点?即3。我想对所有输入值做同样的事情。我想互相比较。但问题是值的长度(200-100=100 或 270-250=20)不同。为了将它们相互比较,我需要以我可以比较的方式缩放它们。所以我想出了 10 个 bins 窗口(输出)。我使用 input1 bin 计算 input2 点。最后,我需要在 x 轴上绘制 bin,在 y 轴上绘制值 xyplot(x(bins),y1(a1:100:200:+)+y2(a1:250:270:+y3...+y4)

“+”表示我们在计算 bin 时需要以 100 作为起点,以 200 作为终点(100-110 将是第一个 bin .....) - 表示完全相反(190-200 将是第一个 bin)

1-10 表示 1 到 10 个 bin

您需要根据 column1 键为 bin 使用第 1 列和第 2 列。我们删除不在范围内的值

c = 字符,s =start,e=end,s=strand,1-10 是 input1 的 bin。是的,你是对的。例如 250-270 应该有 2 个数字差异,因为(270-250=20,因此对于 10 个箱,它将是 20/10=2)

0 投票
3 回答
534 浏览

php - bin evenly:余数间距不均匀

我正在编写一个脚本来将任意数字均匀地$epi放入任意数量的 bin$dpi中。Epi 代表每英寸端数。dpi 表示每英寸的凹痕数。有3个要求:

  • 如果可能,bin 编号应减少最小公因数
    • 例如 6 dpi 中的 10 个 Epi 应由 3 dpi 中的 5 个 Epi 表示
  • bin 人口应尽可能统一
    • 例如 2-2-1 优于 3-1-1
  • 短 bin 应均匀分布在 bin 阵列中
    • 例如 1-0-1-0-1 优于 1-1-1-0-0

这就是我到目前为止所拥有的。它主要做我需要的,但是space()方法运行时,如果它的foreach循环必须执行多次,$epi 的分布不均匀。

输出错误:

上面的分布应该是什么样子:

如何修复该space()方法,以便需要多个循环的分箱将产生可接受的分布?

0 投票
2 回答
936 浏览

r - 在数据框中的重复数据之间进行选择

早些时候我问了一个关于从数据框中提取重复行的问题。我现在需要运行一个脚本来决定将哪些重复项保留在我的最终数据集中。

此数据集中的重复条目具有相同的“测定”和“样品”值。这是我正在使用的新数据集的前 10 行,其中包含我的重复条目:

我想运行一个脚本,根据“数据”的值(可以是 1、0 或 NA)将这些重复的样本分成 4 个箱:

上述数据的预期结果如下所示;

在某些情况下,该数据集中存在超过 2 个“重复”数据点。我什至不确定从哪里开始,因为我是 R 的新手。

编辑:使用预期数据。

0 投票
4 回答
32315 浏览

python - 通过平均或重新组合一个 numpy 2d 数组来调整大小

我正在尝试在 python 中重新实现一个 IDL 函数:

http://star.pst.qub.ac.uk/idl/REBIN.html

它通过平均将二维数组缩小一个整数因子。

例如:

我想通过取相关样本的平均值将其调整为 (2,3),预期输出将是:

b[0,0] = np.mean(a[:2,:2]), b[0,1] = np.mean(a[:2,2:4])等等。

我相信我应该重塑为 4 维数组,然后在正确的切片上取平均值,但无法弄清楚算法。你有什么提示吗?

0 投票
4 回答
2746 浏览

performance - Mathematica 快速二维分箱算法

我在 Mathematica 中开发适当快速的分箱算法时遇到了一些麻烦。我有一个 T={{x1,y1,z1},{x2,y2,z2},....} 形式的大型(约 100k 个元素)数据集,我想将它放入一个 2D 数组中100x100 个 bin,bin 值由落入每个 bin 的 Z 值的总和给出。

目前,我正在遍历表的每个元素,使用 Select 根据 bin 边界列表选择它应该在哪个 bin 中,并将 z 值添加到占据该 bin 的值列表中。最后,我将 Total 映射到 bin 列表中,对它们的内容求和(我这样做是因为我有时想做其他事情,比如最大化)。

我曾尝试使用 Gather 和其他此类函数来执行此操作,但上述方法速度快得离谱,尽管我可能使用 Gather 很差。无论如何,按照我的方法进行排序仍然需要几分钟,我觉得 Mathematica 可以做得更好。有没有人有一个很好的高效算法方便?

0 投票
2 回答
2247 浏览

python - 在 python 的 matplotlib 颜色栏上显示小值

我将颜色条与默认的“jet”地图一起使用,并将其与“hexbin”一起使用。我的垃圾箱中的计数范围从 0 到大约 1500。问题是某些六边形垃圾箱中的最小值在 1 到 10 之间,而有些垃圾箱的计数为数百。这意味着在 jet 颜色图中,0 到 10 范围作为颜色 0 出现——即它与计数为 0 的 bin 无法区分。我希望那些小的值是可见的。如何使颜色图执行以下操作:确保大于或等于 N 的 bin 值具有“可见”,这意味着与颜色图中的 0 bin 值不同?

谢谢。