Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中计算四分位数的问题_Java_Statistics - Fatal编程技术网

Java中计算四分位数的问题

Java中计算四分位数的问题,java,statistics,Java,Statistics,我正在制作一个简单的统计计算器,计算平均值、中位数、模式、范围、四分位数1和3、最小值、最大值和标准偏差。到目前为止,除了四分位数外,我对大多数方法都没有任何问题。四分位数的性质因数据量的不同而不同。例如,对于5组数据,第一个四分位数将是第一个值和第二个值之间的值。然而,对于7组数据,第一个四分位数将是第二个值。如何更改以下方法以适应此情况 public static double q1(double[] m, int num) { int q1 = num/4; if (m.

我正在制作一个简单的统计计算器,计算平均值、中位数、模式、范围、四分位数1和3、最小值、最大值和标准偏差。到目前为止,除了四分位数外,我对大多数方法都没有任何问题。四分位数的性质因数据量的不同而不同。例如,对于5组数据,第一个四分位数将是第一个值和第二个值之间的值。然而,对于7组数据,第一个四分位数将是第二个值。如何更改以下方法以适应此情况

public static double q1(double[] m, int num) {
    int q1 = num/4;

    if (m.length%2 == 1) {
        return m[q1];
    }
    else {
        return (m[q1-1] + m[q1]) / 2.0;
    }
}
传递给方法的值是包含数据的数组和数组中的值数(double[]m,int num)

我对四分位3也有同样的问题,如下所示:

public static double q3(double[] m, int num) {
    double q = num*.75;
    int q3 = (int) q;

    if (m.length%2 == 1) {
        return m[q3];
    }
    else {
        return (m[q3-1] + m[q3]) / 2.0;
    }
}

当前方法检查偶数或奇数数据量,但正确计算需要更多数据。

这似乎与四分位数的统计定义不匹配:需要找到最低、中值和最高值来计算四分位数。我的方法不匹配,不匹配。这是我当前的主要问题。我有所有这些价值观,但我不确定如何处理它们。