在Java中计算一个标准偏差中的数据百分比?
我想使用Java计算目录中已有文件的最大值、最小值、平均值、标准偏差和一个标准偏差内的数据百分比。正如你们在下面看到的,我已经找到了最大值、最小值、平均值和标准偏差。在以下代码中,如何获得一个标准偏差内的数据百分比在Java中计算一个标准偏差中的数据百分比?,java,Java,我想使用Java计算目录中已有文件的最大值、最小值、平均值、标准偏差和一个标准偏差内的数据百分比。正如你们在下面看到的,我已经找到了最大值、最小值、平均值和标准偏差。在以下代码中,如何获得一个标准偏差内的数据百分比 int count = 1; int mean = 0; int sum = 0; int max = Integer.MIN_VALUE; int mi
int count = 1;
int mean = 0;
int sum = 0;
int max = Integer.MIN_VALUE;
int mini = Integer.MAX_VALUE;
double std_deviation = 0;
double squaresum=0;
double computationalsum=0;
int percentage;
long lines = 0;
Scanner file = null;
int number=0;
file_name = JOptionPane.showInputDialog("Enter the data file name:");
try {
file = new Scanner (new FileInputStream (file_name));
}
catch (FileNotFoundException e)
{
System.out.println("File not found");
}
max = file.nextInt();
mini = max;
while (file.hasNextInt()) {
number = file.nextInt();
squaresum += Math.pow(number, 2);
computationalsum += number;
if (number > max) {
max = number;
}
else if (number < mini)
{
mini = number;
}
sum += number;
count +=1;
}
file.close();
mean = sum/count;
// use formula of standard deviation here
double sumofsquares = squaresum - ((Math.pow(computationalsum, 2)/(count-1)));
double ssquared = sumofsquares/(count-1);
double otherstdev = Math.sqrt(ssquared);
double minrange = mean - otherstdev;
double maxrange = mean + otherstdev;
// calculate the percentage of mean in one stedv
// while(scanner.hasNextInt()) { int = scanner.nextint() - mean / standard deviation; if(int > -1 && int < 1) { then: this number is within 1 standard deviation (ie oneDeviation++;}.......THEN you need to
// take that counter and divide it by the total number of numbers in the file
// }
// for (int i =0; i=> min)
System.out.println(count);
System.out.println(mini);
System.out.println(max);
System.out.println(mean);
System.out.println(otherstdev);
// System.out.println(newcount);
}
else
{
JOptionPane.showMessageDialog(null, "Exiting");
done = true;
}
}
while(!done);
}
}
int count=1;
int平均值=0;
整数和=0;
int max=整数的最小值;
int mini=Integer.MAX_值;
双标准偏差=0;
双平方和=0;
双重计算sum=0;
整数百分比;
长线=0;
扫描文件=空;
整数=0;
file_name=JOptionPane.showInputDialog(“输入数据文件名:”);
试一试{
文件=新扫描仪(新文件输入流(文件名));
}
catch(filenotfounde异常)
{
System.out.println(“未找到文件”);
}
max=file.nextInt();
最小值=最大值;
while(文件.hasNextInt()){
number=文件.nextInt();
平方和+=数学功率(数字,2);
计算数+=个数;
如果(数量>最大值){
最大值=数量;
}
否则如果(数量<最小值)
{
mini=数字;
}
总和+=数字;
计数+=1;
}
file.close();
平均值=总和/计数;
//这里使用标准偏差公式
双平方和=平方和-((数学功率(计算量,2)/(计数-1));
双平方=平方和/(计数-1);
double otherstdev=Math.sqrt(ssquared);
双最小范围=平均值-其他偏差;
double maxrange=平均值+其他偏差;
//计算一个stedv的平均百分比
//而(scanner.hasnetint()){int=scanner.nextint()-平均值/标准偏差;如果(int>-1&&int<1){那么:这个数字在1个标准偏差之内(即oneDeviation++;}……。那么您需要
//把那个计数器除以文件中的数字总数
// }
//对于(int i=0;i=>min)
系统输出打印项次(计数);
System.out.println(mini);
系统输出打印项次(最大值);
系统输出打印项数(平均值);
System.out.println(其他stdev);
//系统输出打印项次(新计数);
}
其他的
{
showMessageDialog(null,“正在退出”);
完成=正确;
}
}
而(!完成);
}
}
简短回答,通过计数
例如,您有以下数据集:
Data value Frequency
10 17
11 7
12 23
13 4
14 6
15 12
16 21
使用计算器,您发现平均值约为13.06,标准偏差为2.24。这意味着一个标准偏差的范围为13.06+2.24至13.06-2.24或15.3至10.8。您可以简单地计算这两条线之间的数据点数量
例如,您必须将数字存储在数组中。最后,您可以迭代数组并检查间隔。这是第一次发布问题,网站一直拒绝我的代码。但是,我向您保证,如果您能帮助我在找到的代码中如何找到一个标准偏差中的数据百分比,我会得到它,请!在3个刻度之间添加代码(`code here`````).Aman,我试过了,但它只是用红线突出显示代码。但是,你能看到代码吗?如果你告诉我在代码中以一个标准偏差计算数据百分比的方向,我会得到的。拜托,我需要它。我花了一整天的时间,但失败了。在一个标准偏差内什么?平均值?如果你知道平均值和标准偏差然后您可以计算出您感兴趣的范围。因此,计算该范围内有多少个值,然后除以值的总数。flaxel,如果您查看代码,它运行良好,并且不是通过数组完成的。我只想计算代码中一个标准偏差中的数据百分比()。您需要最后的数字。否则,您无法计算百分比。@Aba Stackoverflow不是一个有人为您编写代码的服务。请用一个可复制的最小示例向我们展示您所做的工作,以及您遇到的具体错误。