使用maths3函数进行简单的数据统计性描述;

使用场景:本地,直接运行就可以;

具体后面有个性化的需求,可以再修改~

 package com;

 import org.apache.commons.lang.math.Range;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.math3.stat.StatUtils;
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
import org.apache.commons.math3.stat.descriptive.rank.Median; /*
* @description:简单的数据统计分析
* */ public class MathYsf {
public static void main(String[] args){
double[] values = new double[] { 0.33, 1.33,0.27333, 0.3, 0.501,
0.444, 0.44, 0.34496, 0.33,0.3, 0.292, 0.667 };
double[] values2 = new double[] { 0.89, 1.51,0.37999, 0.4, 0.701,
0.484, 0.54, 0.56496, 0.43,0.3, 0.392, 0.567 }; //计数
System.out.println("计算样本个数为:" +values.length);
//mean--算数平均数
System.out.println("平均数:" + StatUtils.mean(values));
//sum--和
System.out.println("所有数据相加结果为:" + StatUtils.sum(values));
//max--最小值
System.out.println("最小值:" + StatUtils.min(values));
//max--最大值
System.out.println("最大值:" + StatUtils.max(values));
//范围
System.out.println("范围是:" + (StatUtils.max(values)-StatUtils.min(values)));
//标准差
StandardDeviation standardDeviation =new StandardDeviation();
System.out.println("一组数据的标准差为:" + standardDeviation.evaluate(values));
//variance--方差
System.out.println("一组数据的方差为:" + StatUtils.variance(values));
//median--中位数
Median median= new Median();
System.out.println("中位数:" + median.evaluate(values));
//mode--众数
double[] res = StatUtils.mode(values);
System.out.println("众数:" + res[0]+","+res[1]);
for(int i = 0;i<res.length;i++){
System.out.println("第"+(i+1)+"个众数为:"+res[i]);
}
//geometricMean--几何平均数
System.out.println("几何平均数为:" +StatUtils.geometricMean(values));
//meanDifference-- 平均差,平均概率偏差
System.out.println("平均差为:"+StatUtils.meanDifference(values, values2));
//normalize--标准化
double[] norm = StatUtils.normalize(values2);
for(int i = 0;i<res.length;i++){
System.out.println("第"+(i+1)+"个数据标准化结果为:" + norm[i]);
}
//percentile--百分位数
System.out.println("从小到大排序后位于80%位置的数:" + StatUtils.percentile(values, 70.0));
//populationVariance--总体方差
System.out.println("总体方差为:" + StatUtils.populationVariance(values));
//product--乘积
System.out.println("所有数据相乘结果为:" + StatUtils.product(values));
//sumDifference--和差
System.out.println("两样本数据的和差为:" + StatUtils.sumDifference(values,values2));
//sumLog--对数求和
System.out.println("一组数据的对数求和为:" + StatUtils.sumLog(values));
//sumSq--计算一组数值的平方和
System.out.println("一组数据的平方和:" + StatUtils.sumSq(values));
//varianceDifference --方差差异性。
System.out.println("一组数据的方差差异性为:" + StatUtils.varianceDifference(values,values2,StatUtils.meanDifference(values, values2)));
}
}

个人认为,使用这些函数关键是知道他的公式和用法,能准确定位,有一些方法,我也找不到它的公式,只是罗列上了,欢迎批评指正~

使用Apache commons-maths3-3.6.1.jar包进行简单的数据统计分析(java)的更多相关文章

  1. IDEA中MAVEN项目打JAR包的简单方法

      Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令.   最简单的方法 ...

  2. 将项目打成jar包执行 在liunx上执行 java -xx.jar

    一:普通maven java项目 项目目录 pom.xml <?xml version="1.0" encoding="UTF-8"?> <p ...

  3. Android导入自定义的jar包时出现 E/AndroidRuntime(486): java.lang.NoClassDefFoundError错误

    把自定义的jar包放在Android的工程的libs目录下,运行程序,会出现一下错误: 10-10 08:34:06.479: E/dalvikvm(486): Could not find clas ...

  4. Java -cp 命令行引用多个jar包的简单写法(Windows、Linux

    1.Windows下用法 在Windows上,可以使用 用法:java your-jar-lib-folder/* your-main-class your-jar-lib-folder为存放一堆ja ...

  5. 使用C#利用cmd来调用java jar包获取其中的数据

    其实也很简单,就是在C#中构建一个Process,启动jar包,并且给jar包传递参数 因为我并没有怎么学过JAVA,所以只写了个很小的Demo,就是根据传入的参数获取对应的数据 以下是JAVA De ...

  6. [Scala] java使用scala的jar包问题:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Short

    场景 刚写的scala处理bmp文件的实验, 打了jar包让java调用一下, 结果发生这个错误. package org.tanglizi.bmp.demo; import org.tanglizi ...

  7. org.apache.hadoop.fs.FsUrlStreamHandlerFactory 在哪个jar包

    org.apache.hadoop.fs.FsUrlStreamHandlerFactory在org.apache.hadoop类中,org.apache.hadoop在hadoop安装目录下.

  8. IDEA 快速将spring boot项目打包成jar包,简单快速有效

    原文地址;https://blog.csdn.net/chen846262292/article/details/80701101  https://www.cnblogs.com/chrischen ...

  9. 从JAR包中如何读取数据文件

    还不是很懂.....待总结......

随机推荐

  1. readiness与liveness

    一.liveness(存活探针)方式 HTTP GET:对指定的端口和路径执行http get请求,返回非错误代码即代表正常 TCP socket:对指定端口建立TCP链接,链接通过则代表正常 Exe ...

  2. IDEA和JIRA任务联动(redmine同理)

    IDEA和JIRA任务联动-操作流程详解 redmine和这个步骤类似,只是第一步选择的工具不一样 操作流程 添加jira配置,File->Setting-->tools-->Tas ...

  3. Cannot get a STRING value from a NUMERIC cell问题的解决办法

    遇到以下错误的解决办法: 在cell加个setCellType()方法就可以了 cell.setCellType(CellType.STRING);

  4. java + selenium + testng实现简单的UI自动化

    新建Maven项目,添加需要的依赖 1.新建一个Maven项目 2.在pom.xml中添加需要的依赖,这里只要selenium和testng就行 <!-- https://mvnreposito ...

  5. Ubuntu下好用的pdf工具

    安装okular sudo apt-get install okular 汉化 sudo apt-get install kde-l10n-zhcn 然后打开PDF文件时,右键选择打开方式选择okul ...

  6. 【转帖】LSM树 和 TSM存储引擎 简介

    LSM树 和 TSM存储引擎 简介 2019-03-08 11:45:23 长烟慢慢 阅读数 461  收藏 更多 分类专栏: 时序数据库   版权声明:本文为博主原创文章,遵循CC 4.0 BY-S ...

  7. status 和 typedef

  8. C++中const限定符

    const基础 C++中的const,用于定义一个常量,这个常量的值不能被修改.因为const对象一旦创建就不能修改,所以const对象必须初始化.const常量特征仅仅在执行改变其本身的操作时才会发 ...

  9. vim 自定义设置

    修改系统配置(面对所有用户): root@bogon:~# cd /etc/vim/ root@bogon:/etc/vim# ls vimrc vimrc.tiny root@bogon:/etc/ ...

  10. webpack4基础入门操作(二)(讲解下webpack的配置内容)

    前序:我之所以开始写这个系列,是因为我最近出去看了下外面的情况,发现技术更新的脚步太快了.我的技术栈已经完全落伍了. 所以准备今年学习写新的东西,而React.webPack4就是我的第一步.前面我看 ...