问题标签 [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 投票
6 回答
107695 浏览

c++ - 计算向量中存储的值的中位数 - C++?

我是一名编程学生,对于我正在从事的项目,我要做的事情之一是计算 int 值向量的中值。我将仅使用 STL 中的排序函数和向量成员函数(例如.begin().end().size().

我还应该确保找到向量是否具有奇数个值或偶数个值的中位数。

我被卡住了,下面我已经包括了我的尝试。那么我哪里错了?如果您愿意给我一些指示或资源以朝着正确的方向前进,我将不胜感激。

代码:

0 投票
2 回答
12547 浏览

c++ - 第 n 个元素的算法

我最近发现在 STL中有一个名为nth_element的方法。引用描述:

Nth_element 类似于 partial_sort,因为它对一系列元素进行部分排序:它排列范围 [first, last) 使得迭代器 nth 指向的元素与如果整个元素位于该位置的元素相同range [first, last) 已排序。此外,范围 [nth, last) 中的任何元素都不小于范围 [first, nth) 中的任何元素。

它声称平均具有 O(n) 复杂度。算法是如何工作的?我找不到任何解释。

0 投票
7 回答
54329 浏览

algorithm - 如何使用堆在线性时间内找到数字的中位数?

维基百科说:

选择算法:查找最小值、最大值、最小值和最大值、中值,甚至第 k 个最大元素都可以使用堆在线性时间内完成。

它所说的只是它可以完成,而不是如何完成。

你能给我一些关于如何使用堆来完成这件事的开始吗?

0 投票
1 回答
2163 浏览

ruby-on-rails - 如何在 Heroku 上的 Rails 应用程序中计算箱线图(四分位数、中位数)的数据?(Heroku 使用 Postgresql)

我正在尝试计算生成箱线图所需的数据,这意味着我需要计算出第一和第三四分位数以及中位数。我在 Postgresql 中找到了一些解决方案,但是它们似乎依赖于 PL/Python 或 PL/R,而 Heroku 似乎没有为其 postgresql 数据库启用任何一种。事实上,我运行了“从 pg_language 中选择 lanname;” 并且只返回“内部”、“c”和“sql”。

我还发现了一些代码可以在纯 ruby​​ 中完成,但这对我来说似乎有些低效。

我对 Box Plots、Postgresql 和 Ruby on Rails 还很陌生,所以我愿意接受有关如何处理这个问题的建议。有可能拥有大量数据,这就是我关心性能的原因,但是如果解决方案最终过于复杂,我可能会在 ruby​​ 中完成它,并且如果我的应用程序变得足够大以保证它获得我自己的 Postgresql 我可以在其他地方托管。

*注意:由于我只能发布一个链接,因为我是新人,所以我决定分享一些相关信息的馅饼

0 投票
2 回答
3809 浏览

c++ - 在构建 kd-Tree 时对“中位数”的定义感到困惑

我试图建立一个 kd-tree 来搜索一组点,但我对维基百科文章中“中位数”的使用感到困惑。为了便于使用,维基百科文章将 kd-tree 构造的伪代码声明为:

我对“选择中位数...”行感到困惑,仅仅是因为我不太确定在这里应用中位数的“正确”方法是什么。

据我所知,奇数(排序)数字列表的中位数是中间元素(又名,对于 5 个事物的列表,元素编号 3 或标准从零开始的数组中的索引 2),并且偶数大小数组的中位数是两个“中间”元素的总和除以 2(也就是,对于 6 个事物的列表,中位数是元素 3 和 4 - 或 2 和 3,如果为零 -索引 - 除以 2。)。

但是,当我们使用一组不同的点时,这个定义肯定在这里不起作用吗?那么如何为偶数大小的数字列表选择正确的中位数,尤其是长度为 2 的列表?

我感谢任何和所有的帮助,谢谢!

-斯蒂芬

0 投票
3 回答
3020 浏览

parallel-processing - 并行计算大型数组的中位数

我曾经被问过这个问题,但仍然无法弄清楚:

你有一个N整数数组,其中N很大,比如十亿。你想计算这个数组的中值。假设你有m+1机器(m工人,一个主人)来分配工作。你会怎么做呢?

由于中位数是非线性算子,因此您不能只在每台机器中找到中位数,然后取这些值的中位数。

0 投票
1 回答
556 浏览

excel - Excel 2007 中位数()

我想计算一些统计数据。

为了计算列的某些值的平均值,我使用 AverageIfs()。

现在我想计算相同值的中位数。但是没有 MedianIfs() 函数。

是否有一个简单的解决方案来计算满足某些条件(2 个条件)的值的中位数?

0 投票
4 回答
3938 浏览

java - 如何计算地图的中位数?

对于一个映射,其中键表示序列的数字,值表示该数字在序列中出现的频率,java 中算法的实现如何计算中位数?

例如:

在地图中:

会导致:

所以我正在寻找的是一个 java 实现calculateMedian

0 投票
4 回答
3918 浏览

mean - 何时使用几何平均值与算术平均值?

所以我想这在技术上不是一个代码问题,但我确信在编写代码时会为其他人和我自己提出这个问题,所以希望它仍然是一个在 SO 上发布的好问题。

谷歌已经指导我对何时在财务数字等方面使用其中一个或另一个进行了大量很好的冗长解释。

但是我的特定背景不适合,我想知道这里是否有人有一些见识。我需要就特定项目的“好”程度获得一大堆个人用户的投票。即,一些用户每个给一个特定项目的分数在 0 到 10 之间,我想报告“典型”分数是多少。将几何和/或算术平均值报告为典型响应的直观原因是什么?

或者,就此而言,我是否会更好地报告中位数?

我想“最好”的方法可能涉及到一些心理学......

无论如何,你有它。

谢谢!

0 投票
1 回答
202 浏览

c++ - 向量的上半部和下半部的中位数

我正在尝试编译一个 Octave .oct 函数来计算排序向量的上下“一半”的中位数,该中位数的长度会有所不同,例如对于奇数长度的向量,例如 [5,8,4,6,7]我想要 4,5 和 6 的“下”中值和 6,7 和 8 的“上”中值(6 是两个计算的一部分),以及一个偶数长度向量,例如 [5,8,4 ,6,7,9] 我想要 4,5 和 6 的“下”中值和 7,8 和 9 的“上”中值。我也在尝试使用一种快速的方法来做到这一点并想要使用我已经改编并用于直接中位数计算的代码:-

我可以将输入向量“拆分”成理论上的两半

我遇到的问题是我不确定将上述*注释中位数计算应用于输入向量的指定相关部分的语法。我也许应该提一下,输入是一个 Octave ColumnVector input = args(0).column_vector_value() 并且长度在 10 到 50 个值之间。