Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
univariate_summary.h
Go to the documentation of this file.
1#pragma once
2#include <optional>
3#include <ostream>
4#include <string>
5#include <vector>
6
7namespace hgps::core {
8
15 public:
18
21 UnivariateSummary(std::string name);
22
25 UnivariateSummary(const std::vector<double> &values);
26
30 UnivariateSummary(std::string name, const std::vector<double> &values);
31
34 std::string name() const noexcept;
35
38 bool is_empty() const noexcept;
39
42 unsigned int count_valid() const noexcept;
43
46 unsigned int count_null() const noexcept;
47
50 unsigned int count_total() const noexcept;
51
54 double min() const noexcept;
55
58 double max() const noexcept;
59
62 double range() const noexcept;
63
66 double sum() const noexcept;
67
70 double average() const noexcept;
71
74 double variance() const noexcept;
75
78 double std_deviation() const noexcept;
79
82 double std_error() const noexcept;
83
86 double kurtosis() const noexcept;
87
90 double skewness() const noexcept;
91
93 void clear() noexcept;
94
97 void append(double value) noexcept;
98
101 void append(const std::optional<double> &option) noexcept;
102
105 void append(const std::vector<double> &values) noexcept;
106
108 void append_null() noexcept;
109
112 void append_null(unsigned int count) noexcept;
113
116 std::string to_string() const noexcept;
117
122 friend std::ostream &operator<<(std::ostream &stream, const UnivariateSummary &summary);
123
124 private:
125 std::string name_;
126 unsigned int null_count_{};
127 double min_{};
128 double max_{};
129 double moments_[5]{};
130};
131} // namespace hgps::core
Defines an univariate statistical summary data type.
Definition univariate_summary.h:14
double variance() const noexcept
Gets the sample variance.
Definition univariate_summary.cpp:48
unsigned int count_valid() const noexcept
Gets the number of valid data points included in the summary.
Definition univariate_summary.cpp:28
bool is_empty() const noexcept
Determine whether the summary is empty.
Definition univariate_summary.cpp:26
UnivariateSummary()
Initialises a new instance of the UnivariateSummary class.
Definition univariate_summary.cpp:9
double skewness() const noexcept
Gets the skewness.
Definition univariate_summary.cpp:73
double std_deviation() const noexcept
Gets the sample standard deviation.
Definition univariate_summary.cpp:56
double max() const noexcept
Gets the maximum.
Definition univariate_summary.cpp:40
double average() const noexcept
Gets the average or mean.
Definition univariate_summary.cpp:46
double range() const noexcept
Gets the summary data range.
Definition univariate_summary.cpp:42
double kurtosis() const noexcept
Gets the kurtosis.
Definition univariate_summary.cpp:60
std::string to_string() const noexcept
Convert this instance to a string representation.
Definition univariate_summary.cpp:135
unsigned int count_total() const noexcept
Gets the total number of data points.
Definition univariate_summary.cpp:34
void append_null() noexcept
Append a single null value to the summary.
Definition univariate_summary.cpp:131
double std_error() const noexcept
Gets the standard error.
Definition univariate_summary.cpp:58
std::string name() const noexcept
Gets the factor or variable name.
Definition univariate_summary.cpp:24
double sum() const noexcept
Gets the sum value.
Definition univariate_summary.cpp:44
friend std::ostream & operator<<(std::ostream &stream, const UnivariateSummary &summary)
Output streams operator for UnivariateSummary type.
Definition univariate_summary.cpp:155
void append(double value) noexcept
Append a new data point to the summary.
Definition univariate_summary.cpp:90
void clear() noexcept
Clears current summary (empty)
Definition univariate_summary.cpp:83
unsigned int count_null() const noexcept
Gets the number of null data points, not included in the summary.
Definition univariate_summary.cpp:32
double min() const noexcept
Gets the minimum.
Definition univariate_summary.cpp:38
Top-level namespace for Health-GPS Core C++ API.
Definition analysis.h:7
std::size_t count
Definition static_linear_model.cpp:179