问题标签 [median]

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 投票
36 回答
586896 浏览

sql-server - 在 SQL Server 中计算中位数的函数

根据MSDN,Median 在 Transact-SQL 中不能用作聚合函数。但是,我想知道是否可以创建此功能(使用Create Aggregate函数、用户定义函数或其他方法)。

执行此操作的最佳方法(如果可能)是什么 - 允许在聚合查询中计算中值(假设为数字数据类型)?

0 投票
1 回答
160 浏览

ruby-on-rails - 绘制 x 轴点的更有效方法?

我一直在做一个需要用价格结果填充条形图的项目。该图表显示给定价格范围内的商品数量。例如,如果亚马逊上有 9 件商品的价格范围在 0 美元到 10 美元之间,那么 x 轴将显示 0 美元到 10 美元,而 y 轴将填充值 9。

我的条形图有 8 个条形图,均具有相似的价格范围。0-10 美元、10-20 美元、20-30 美元……等等。

我的问题是:定义这些点的最佳方法是什么?这些项目之间没有共同的价格范围,因此x 轴不能是静态数字。它们必须在结果范围内动态计算。

因此,目前我正在创建 x 轴点,如下所示:

我取最低的结果: @numbers[0] = results[0];

我拿了最高的结果: @numbers[8] = results[-1];

然后我找到两者的中位数: @numbers[4] = (@numbers[0]+@numbers[8])/2;

然后我再重复这个过程 6 次

@numbers[2] = (@numbers[0]+@numbers[4])/2; @numbers[6] = (@numbers[4]+@numbers[8])/2; @numbers[1] = (@numbers[0]+@numbers[2])/2; @numbers[3] = (@numbers[2]+@numbers[4])/2; @numbers[5] = (@numbers[4]+@numbers[6])/2; @numbers[7] = (@numbers[6]+@numbers[8])/2;

这给了我我需要的结果,但它似乎非常重复,我想有更好的方法。

我尝试创建一个循环,但我无法以一种不那么冗长的方式编写它。

有没有更快的方法来做到这一点,或者可能是更符合 DRY 的方法?

0 投票
4 回答
4598 浏览

algorithm - 计算大型数据集中位数的内存高效方法?

如果一台计算机只能容纳 100 万个数字,如何从 1 亿个数字中找出中位数?

0 投票
4 回答
4597 浏览

perl - 如何在 Perl 中计算一堆数字流的中位数和标准差?

在我们的日志文件中,我们存储请求的响应时间。计算中位响应时间的最有效方法是什么,“75/90/95% 的请求在少于 N 次的时间内得到处理”数字等?(我想我的问题的一个变体是:计算一堆数字流的中位数和标准差的最佳方法是什么)。

我想出的最好的办法就是阅读所有的数字,对它们进行排序,然后挑选出数字,但这似乎真的很愚蠢。没有更聪明的方法吗?

我们使用 Perl,但任何语言的解决方案都可能会有所帮助。

0 投票
13 回答
22311 浏览

algorithm - 如何在 O(n) 时间内找到与 n 个不同数字的中位数最近的 k 个邻居?

我可以使用中位数选择算法的中位数来找到 O(n) 中的中位数。另外,我知道算法完成后,中位数左侧的所有元素都小于中位数,右侧的所有元素都大于中位数。但是如何在 O(n) 时间内找到离中位数最近的 k 个邻居?

如果中位数为n,则左边的数字小于n,右边的数字大于n。但是,数组不是在左侧或右侧排序的。这些数字是用户给出的任何一组不同的数字。

问题来自 Cormen 的算法介绍,问题 9.3-7

0 投票
25 回答
83290 浏览

java - 找到三元组中间值的最快方法?

给定的是一个由三个数值组成的数组,我想知道这三个数值的中间值。

问题是,找到三者中间的最快方法是什么?

我的方法是这种模式 - 因为有三个数字,所以有六个排列:

如果有人能帮助我找到一种更优雅更快捷的方法,那就太好了。

0 投票
2 回答
13165 浏览

algorithm - given 5 numbers, what is the minimum number of comparisons needed to find the median?

how do you setup minimum number of comparisons in general?

0 投票
2 回答
11056 浏览

r - how do you find the median of 2 columns using R?

I am trying to compute the median vector of a data set s with column A1 and B1. The median vector is the median for each observation from both columns.

I tried to do this and it did not work.

Is there another way to do it?

0 投票
10 回答
38934 浏览

c++ - 使用 STL 容器进行中位数计算时,正确的方法是什么?

假设我需要从 1000000 个随机数值序列中检索中位数。

如果使用除 之外的任何东西 std::list我没有(内置)方法对序列进行排序以进行中值计算。

如果使用std::list,我不能随机访问值来检索排序序列的中间(中位数)。

自己实现排序并使用 egstd::vector更好,还是使用std::list和使用std::list::iteratorfor-loop-walk 到中值更好?后者似乎不那么开销,但也感觉更难看..

或者我有更多更好的选择吗?

0 投票
5 回答
30137 浏览

java - Java中位数的中位数

我正在尝试在 Java 中为这样的方法实现 Median of Median:

  • list是要查找指定位置的值的列表
  • pos是指定位置
  • colSize是我在第一阶段创建的列的大小
  • colMed是我用作 medX 的那些列中的位置

我不确定哪种排序算法最适合使用或如何准确实现它..