标签: median

Java中位数的中位数

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

Select(Comparable[] list, int pos, int colSize, int colMed)
Run Code Online (Sandbox Code Playgroud)
  • list 是一个用于查找指定位置的值列表
  • pos 是指定的位置
  • colSize 是我在第一阶段创建的列的大小
  • colMed 是我用作medX的那些列中的位置

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

java sorting algorithm median

2
推荐指数
2
解决办法
3万
查看次数

在Scala中计算最多5的中位数

所以,在回答其他一些问题时,我偶然发现计算中位数为5的必要性.现在,在另一种语言中有一个类似的问题,但是我想要一个Scala算法,我不确定我是否满意我的.

algorithm scala median

2
推荐指数
1
解决办法
1873
查看次数

在c ++中查找值集合的中值

可能重复:
计算存储在Vector-C++中的值的中值?

我需要存储一组值,然后才能计算其中值.

用于存储这些值的c ++中最好的容器是什么,如何找到中位数?

(我可能也希望能够删除特定元素,所以我认为设置可能不是最佳选择...)

c++ sorting median

2
推荐指数
1
解决办法
2036
查看次数

找到序数中位数的惯用法

我需要在R中找到序数(即有序因子)的中位数.

我在标准库中找不到这样做的方法,所以我提出了以下笨重的解决方案:

ordinal.median <- function(x){
        lbls <- levels(x)
        new.vars <- c(NA, 1:length(lbls))
        new.vars[1] <- median(as.numeric(x))
        return(factor(new.vars, labels=lbls, ordered=T)[1])
}
Run Code Online (Sandbox Code Playgroud)

R中的惯用解决方案是什么?

r median ordinal r-factor

2
推荐指数
1
解决办法
1272
查看次数

快速中值更新算法

假设在某个时间点,您有一组N数字并知道中间元素:M.现在,您将获得一个新值,X因此您可能需要更新M.(或者更确切地说,您需要,假设您正在处理的数字都是唯一的.此外,所有样本都是连续接收的,因此并发性没有问题.)

计算新均值很简单:采用旧均值,加X,乘N,除N + 1.(通过检查N元素的平均值是如何定义的,这一点很清楚.目前我并不太担心数字.)

我的问题是:任何人都可以提出更新中位数的创意/小说(或者可能是可证明最优的)方法吗?我将在下面提供一个示例(我自己设计的简单概念),并进行一些分析:

在这个例子中,我将使用a std::forward_list,因为C++ 11是我最近遇到过的.在不失一般性的情况下,我将假设你以正确的方式进行此操作:维护到目前为止遇到的元素(类型T)的有序列表,std::forward_list<T> sorted;T x;出现时,只需使用以下方法将其折叠到位:

sorted.merge(std::forward_list<T> {{ x }});
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我很好奇是否有人有更好的(更有效/更优雅)的方法.欢迎Gripes.

所以,X现在是一部分sorted,简而言之,这就是我的想法:

auto it = sorted.begin(), itend = sorted.end();
typename std::forward_list<T>::size_type count = std::distance(it, itend);
for (const auto &e : sorted) {
    if (it == itend || ++it == itend) {
        M = (count % 2) ? e : (e + M) / …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm mean median forward-list

2
推荐指数
2
解决办法
2361
查看次数

在没有排序的情况下查找java中的中位数

我需要在java中编写一个程序来查找三个或更多整数数组的中位数而不进行排序.我需要一些想法.谢谢

java median

2
推荐指数
1
解决办法
1万
查看次数

如何使用outer()来计算每个向量之间的中位数?

我希望标题不会太混乱......

基本上,我有两个向量,每个向量都是n长度.我想将这两个向量转换为*n矩阵(即包含2个数字的2个向量,每个向量变为2*2矩阵),其中矩阵中的每个位置是两个向量的每个位置的中值.

例如:

a<-as.vector(1,5)
b<-as.vector(1,5)
Run Code Online (Sandbox Code Playgroud)

使用outer()给我一个2*2矩阵

  1 5
1
5
Run Code Online (Sandbox Code Playgroud)

但是,如何使用每个唯一组合之间的中间值填充空矩阵?答案应该是这样的:

1 3
3 5
Run Code Online (Sandbox Code Playgroud)

r vector matrix outer-join median

2
推荐指数
1
解决办法
107
查看次数

求N个8位数的中位数

给定N个8位数字的数组(值0-255)?

如何找到中位数?

我尝试了基数排序和中位数算法的中位数.

如果数字的值在0到255之间,有没有更好的方法?

sorting algorithm radix-sort median median-of-medians

2
推荐指数
1
解决办法
470
查看次数

MATLAB中整个多维数组(不仅仅是一维)的中位数

我有一个10 x 10的值数组,A.我需要M所有这些值的中位数.我可以轻松找到沿行或沿列的中位数:

M = median(A,1) %or
M = median(A,2)
Run Code Online (Sandbox Code Playgroud)

但是,M = median(A)也会沿着行返回中位数.

如何找到所有值的单个中位数?我知道我可以将数组转换为一个非常长的向量,但这似乎令人不快和低效.有更简单的解决方案吗?我希望能够为多维数组做到这一点.

谢谢!

arrays matlab median multidimensional-array

2
推荐指数
1
解决办法
2704
查看次数

在R rstats中计算预汇总数据(具有均值和计数)的中位数

如何median对已经聚合的数据进行适当的计算?

说我有一个看起来像这样的数据框

> df <- data_frame(name = c("A","B","C","D"), count = c(1,3,5,2), avg = c(100,50,20,10))
> df
# A tibble: 4 × 3
   name count   avg
  <chr> <dbl> <dbl>
1     A     1   100
2     B     3    50
3     C     5    20
4     D     2    10
Run Code Online (Sandbox Code Playgroud)

假设我们对垃圾桶中的东西了解不多,但是假设垃圾桶中的变化很小。据我们所知,我们将像这样排列值:

10 10 20 20 20 20 20 50 50 50 100
Run Code Online (Sandbox Code Playgroud)

在11个值中,中位数将是第6个值,即20

但是,如果我简单地采用median(),则R会接受4个值:10, 20, 50, 100

> median(df$avg)
[1] 35
Run Code Online (Sandbox Code Playgroud)

这不是我想要的。

如何解决这个问题并“展开”数据集?

statistics r aggregation median

2
推荐指数
1
解决办法
557
查看次数