使用Apache commons-maths3-3.6.1.jar包进行简单的数据统计分析(java)
使用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)的更多相关文章
- IDEA中MAVEN项目打JAR包的简单方法
Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令. 最简单的方法 ...
- 将项目打成jar包执行 在liunx上执行 java -xx.jar
一:普通maven java项目 项目目录 pom.xml <?xml version="1.0" encoding="UTF-8"?> <p ...
- Android导入自定义的jar包时出现 E/AndroidRuntime(486): java.lang.NoClassDefFoundError错误
把自定义的jar包放在Android的工程的libs目录下,运行程序,会出现一下错误: 10-10 08:34:06.479: E/dalvikvm(486): Could not find clas ...
- Java -cp 命令行引用多个jar包的简单写法(Windows、Linux
1.Windows下用法 在Windows上,可以使用 用法:java your-jar-lib-folder/* your-main-class your-jar-lib-folder为存放一堆ja ...
- 使用C#利用cmd来调用java jar包获取其中的数据
其实也很简单,就是在C#中构建一个Process,启动jar包,并且给jar包传递参数 因为我并没有怎么学过JAVA,所以只写了个很小的Demo,就是根据传入的参数获取对应的数据 以下是JAVA De ...
- [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 ...
- org.apache.hadoop.fs.FsUrlStreamHandlerFactory 在哪个jar包
org.apache.hadoop.fs.FsUrlStreamHandlerFactory在org.apache.hadoop类中,org.apache.hadoop在hadoop安装目录下.
- IDEA 快速将spring boot项目打包成jar包,简单快速有效
原文地址;https://blog.csdn.net/chen846262292/article/details/80701101 https://www.cnblogs.com/chrischen ...
- 从JAR包中如何读取数据文件
还不是很懂.....待总结......
随机推荐
- IntelliJ IDEA重新打开后把字母隐藏怎么办
默认Font的字体melno不行,r会隐形 解决方案:更换idea字体,点击apply按钮即可正常显示 修改Font为的consoleas Size:16 line spacing:1.25
- jdk7中hashmap实现原理和jdk8中hashmap的改进方法总结
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- base64与图片输出屏幕
if ($base64) { ob_start(); // 输出图像 imagepng($this->_image); imagedestroy($this->_image); $imag ...
- CentOS7-Docker 安装 Gitlab
官方教程 https://docs.gitlab.com/omnibus/docker/ 搜索镜像 [root@master ~]# docker search gitlab 拉取镜像 [root@m ...
- 【Maven基础入门】02 了解POM文件构建
温故 上一节我们说过:Maven 是一个基于POM文件的构建工具,当然离不开POM文件 POM文件是一个XML标记语言表示的文件,文件就是:pom.xml 一个POM文件包含了项目的基本信息,用于描述 ...
- 用C#做一个 拉流播放器
做拉流播放器第一个想到就是,.,..FFmpeg没错 我也是用强大的他它来做的.但是我用的不是 cmd 调用 而是用的强大的FFmpeg.AutoGen FFmpeg.AutoGen 这个是C# 一 ...
- C#——零散学习
C#——零散学习0 //控制台输入字符串,转化为int,double,float等数值类型: //Convert.ToXXX32();函数. Convert.ToInt32(); //把字符串转换为i ...
- activiti工作流(传智播客)
1:工作流的概念 说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 2) 图的组成部分: A. 人物:范冰冰 冯小刚 王中军 B. 事件(动作):请假.批准.不批准 工作流(Wo ...
- angular http interceptors 拦截器使用分享
拦截器 在开始创建拦截器之前,一定要了解 $q和延期承诺api 出于全局错误处理,身份验证或请求的任何同步或异步预处理或响应的后处理目的,希望能够在将请求移交给服务器之前拦截请求,并在将请求移交给服务 ...
- 《区块链DAPP开发入门、代码实现、场景应用》笔记5——区块链福利彩票的设计
笔者一直强调,一定要利用区块链的特点来解决行业存在的问题,并且该问题最好用区块链解决或者说只能用区块链解决.彩票行业就是个例子. 在讲解代码之前,首先讲解一下业务设计,如图6.15所示. 图6.15 ...