Java中计算四分位数的问题
我正在制作一个简单的统计计算器,计算平均值、中位数、模式、范围、四分位数1和3、最小值、最大值和标准偏差。到目前为止,除了四分位数外,我对大多数方法都没有任何问题。四分位数的性质因数据量的不同而不同。例如,对于5组数据,第一个四分位数将是第一个值和第二个值之间的值。然而,对于7组数据,第一个四分位数将是第二个值。如何更改以下方法以适应此情况Java中计算四分位数的问题,java,statistics,Java,Statistics,我正在制作一个简单的统计计算器,计算平均值、中位数、模式、范围、四分位数1和3、最小值、最大值和标准偏差。到目前为止,除了四分位数外,我对大多数方法都没有任何问题。四分位数的性质因数据量的不同而不同。例如,对于5组数据,第一个四分位数将是第一个值和第二个值之间的值。然而,对于7组数据,第一个四分位数将是第二个值。如何更改以下方法以适应此情况 public static double q1(double[] m, int num) { int q1 = num/4; if (m.
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;
}
}
当前方法检查偶数或奇数数据量,但正确计算需要更多数据。这似乎与四分位数的统计定义不匹配:需要找到最低、中值和最高值来计算四分位数。我的方法不匹配,不匹配。这是我当前的主要问题。我有所有这些价值观,但我不确定如何处理它们。