问题标签 [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.
sql - 计算 SQL 公用表表达式中列的中位数
在 MSSQL2008 中,我尝试使用经典的中值查询从公用表表达式中计算一列数字的中值,如下所示:
我得到的结果集如下:
换句话说,当我希望中值列一直向下为“x1”时,“中值”列与“数字”列相同。我使用一个类似的表达式来计算模式,它在同一个公用表表达式上工作得很好。
algorithm - 具有最大内存效率的增量中值计算
我有一个产生价值并且我观察到的过程。当进程终止时,我想计算这些值的中位数。
如果我必须计算平均值,我可以只存储总和和生成值的数量,因此需要 O(1) 内存。中位数呢?有没有办法节省来自存储所有值的明显 O(n) ?
编辑:对 2 种情况感兴趣:1)流长度已知,2)不是。
excel - 在 Microsoft Excel 中使用条件语句
我试图找到另一列匹配的某些价格的中位数,
IE,
我知道如何将所有这些作为一个整体的价格中值,但我需要 Excel 来根据我的清单向我展示苹果的中值价格是多少、豌豆的中值价格是多少以及香蕉的中值价格是多少产生(条件中值表达式)。
任何可以提供帮助的东西都将不胜感激。
bash - 如何了解bash中的值是偶数还是奇数?
我正在建立一个电影数据库,我需要找到收视率的中位数。我对 bash 真的很陌生(这是我的第一个任务)。
我写:
当$amount_of_movies = 6
和$amount_of_0_movies = 1
。我希望中位数为 3。但它是 2。这是为什么呢?
algorithm - O(log n) 中的中值算法
我们如何去除时间复杂度为 O(log n) 的集合的中位数?有什么想法?
algorithm - 如何使用快速排序获得 n 个奇数元素的中位数?
谁能解释如何改进快速排序算法以找到 n 个奇数的中位数以及该算法的最坏情况是什么?请帮忙。
c - 用于小 n 值的标准排序网络
我正在寻找一个 5 元素排序的排序网络实现,但是由于我找不到关于 SO 的好的参考,我想要求对所有 n 的小值进行排序网络,至少 n=3通过 n=6 但更高的值也会很棒。一个好的答案至少应该将它们列为“交换”(对 2 个元素排序)操作的序列,但也可以很好地看到低阶排序网络的递归分解。
对于我的应用程序,我实际上只关心 5 个元素的中位数,而不是真正将它们按顺序排列。也就是说,只要中位数在正确的位置结束,其他 4 个元素的顺序可能在结果中未指定。可以使用与排序网络相关的方法来计算交换次数少于执行完整排序的中位数吗?如果是这样,那么对我的问题(对于 n = 5)和其他情况的这种解决方案也将是一个很好的答案。
(注意:我已将此问题标记为 C,因为 C 是我使用的语言,我怀疑遵循 C 标签的人有很好的答案,但我并不关心答案是否实际上是用 C 和伪代码编写的只要它很容易翻译成C,只要满足上述标准,它自然应该这样做。)
algorithm - 中位数选择的最佳中位数 - 3 个元素块与 5 个元素块?
我正在研究基于Select 算法的快速排序变体实现的快速排序变体实现,以选择一个好的枢轴元素。传统的智慧似乎是将数组划分为 5 个元素块,取每个块的中值,然后递归地对生成的中值应用相同的块方法以获得“中值的中值”。
让我困惑的是选择 5 元素块而不是 3 元素块。对于 5 元素块,在我看来,您执行n/4 = n/5 + n/25 + n/125 + n/625 + ...
的是 5 的中位数操作,而对于 3 元素块,您执行n/2 = n/3 + n/9 + n/27 + n/81 + ...
的是 3 的中位数操作。由于每个 5 的中位数是 6 次比较,每个 3 的中位数是 2 次比较,这导致3*n/2
使用 5 的中位数和n
进行比较和使用中位数 3 进行比较。
谁能解释这种差异,以及使用 5 元素块的动机是什么?我不熟悉应用这些算法的通常做法,所以也许有一些方法可以减少一些步骤,并且仍然“足够接近”中位数以确保良好的枢轴,并且这种方法更适用于 5 元素块?
r - 计算每个主题的中位数并更新关系?
我有看起来像这样的数据(这是用于说明的测试数据):
我需要把它变成这样:
speed1 列是这样计算的:计算对象的中值 rt1。如果单个值小于中位数,则得分很快。如果 rt1 的单个单元格值大于中位数,则得分缓慢。如果单元格值为中位数,则从分析中删除该单元格(删除或 NA)并重新计算该受试者的中位数。对 speed2 列重复此过程,但使用 rt2。
也许某种 if 语句?
澄清一下:我希望排除每个主题的中位数(总共 40 个)以及任何处于中位数(对于该主题)的值,并重新计算中位数(对于该主题)。