35 std::size_t size = data.size();
40 (std::accumulate(data.begin(),
43 [](
double a,
const DataPoint &
b) { return a + b.x; }) /
46 (
sumYTrace(data.begin(), data.end(), 0) / size);
50 for(
size_t i = 0; i < size; i++)
52 sx += std::pow((data[i].
x - x_vec_mean), 2);
53 sxy += (data[i].x - x_vec_mean) * (data[i].
y - y_vec_mean);
82 std::size_t size = data.size();
87 for(
size_t i = 0; i < size; i++)
89 sum_square_deviation +=
92 return sqrt(sum_square_deviation / (
double)size);
107 std::size_t size = data.size();
110 double meanY =
meanYTrace(data.begin(), data.end());
112 for(
size_t i = 0; i < size; i++)
114 sum_square_deviation +=
118 for(
size_t i = 0; i < size; i++)
120 sum_square_total += std::pow((data[i].
y - meanY), 2);
122 return ((
double)1.0 - (sum_square_deviation / sum_square_total));
double getIntercept() const
double getNrmsd(const Trace &data) const
get Normalized Root-Mean-Square Deviation
double getYfromX(double score) const
double getCoefficientOfDetermination(const Trace &data) const
get Coefficient of determination (R2)
double getRmsd(const Trace &data) const
get Root-Mean-Square Deviation
LinearRegression(const Trace &data)
A simple container of DataPoint instances.
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::vector< DataPoint >::const_iterator maxYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
double pappso_double
A type definition for doubles.
double meanYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
calculate the mean of y value of a trace
double sumYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end, double init)
calculate the sum of y value of a trace
std::vector< DataPoint >::const_iterator minYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)