pointStats.kt
Jump to navigation
Jump to search
A pointStats.kt is a Kotlin-based IID point estimation system.
- Context:
- It uses a Kotlin Function.
- ...
- Counter-Example(s):
- See: Sample Statistic, Standard Deviation, org.apache.commons.math.stat.descriptive.
References
2023
- Gabor Melli
/* pointStats.kt (v1.0) - a Kotlin-based class that calculates several point statistics. ** Return results as public variables. */ import kotlin.math.pow import kotlin.math.sqrt data class PointStats( val values: DoubleArray ) { val n: Int = values.size val sum: Double = values.sum() val average: Double = sum / n val min: Double = values.minOrNull() ?: 0.0 val max: Double = values.maxOrNull() ?: 0.0 val median: Double = values.sorted().let { (it[n / 2] + it[(n - 1) / 2]) / 2 } val sumSq: Double = values.map { it.pow(2) }.sum() val sumSqDev: Double = values.map { (average - it).pow(2) }.sum() val varS: Double = sumSqDev / (n - 1) val stdDevS: Double = sqrt(varS) companion object { @JvmStatic fun main(args: Array<String>) { val numList = doubleArrayOf(2.0, 20.5, 24.5, 19.0) val inst = PointStats(numList) println("cnt=${inst.n}\tsum=${inst.sum}\tavg=${inst.average}\tmin=${inst.min}\tmax=${inst.max}\tmedian=${inst.median}\tsumSq=${inst.sumSq}\tsumSqDev=${inst.sumSqDev}\tvarS=${inst.varS}\tstdDevS=${inst.stdDevS}") } } }