projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set final element in covariance matrix. Use accessor functions for linreg struct...
[pspp-builds.git]
/
src
/
math
/
linreg.c
diff --git
a/src/math/linreg.c
b/src/math/linreg.c
index c5ecf5ac9495ba10ccd7fa3bc1372a93224cf71c..6a0d57f4c3eb20bb67026ff2c36959580cac4174 100644
(file)
--- a/
src/math/linreg.c
+++ b/
src/math/linreg.c
@@
-72,7
+72,7
@@
linreg_alloc (const struct variable *depvar, const struct variable **indep_vars,
linreg *c;
size_t i;
linreg *c;
size_t i;
- c = xmalloc (sizeof (
linreg
));
+ c = xmalloc (sizeof (
*c
));
c->depvar = depvar;
c->indep_vars = xnmalloc (p, sizeof (*indep_vars));
for (i = 0; i < p; i++)
c->depvar = depvar;
c->indep_vars = xnmalloc (p, sizeof (*indep_vars));
for (i = 0; i < p; i++)
@@
-100,8
+100,8
@@
linreg_alloc (const struct variable *depvar, const struct variable **indep_vars,
Default settings.
*/
c->method = LINREG_SWEEP;
Default settings.
*/
c->method = LINREG_SWEEP;
- c->
resid = NULL; /* The variable storing my residuals. */
- c->
pred = NULL; /* The variable storing my predicted values. */
+ c->
pred = NULL;
+ c->
resid = NULL;
return c;
}
return c;
}
@@
-365,6
+365,7
@@
linreg_fit (const gsl_matrix *cov, linreg *l)
params = gsl_matrix_calloc (cov->size1, cov->size2);
gsl_matrix_memcpy (params, cov);
params = gsl_matrix_calloc (cov->size1, cov->size2);
gsl_matrix_memcpy (params, cov);
+ l->sst = gsl_matrix_get (cov, cov->size1 - 1, cov->size2 - 1);
if (l->method == LINREG_SWEEP)
{
if (l->method == LINREG_SWEEP)
{
@@
-419,10
+420,21
@@
linreg_n_obs (const linreg *c)
return c->n_obs;
}
return c->n_obs;
}
+double
+linreg_sse (const linreg *c)
+{
+ return c->sse;
+}
+
double
linreg_ssreg (const linreg *c)
{
double
linreg_ssreg (const linreg *c)
{
- return c->ssm;
+ return (c->sst - c->sse);
+}
+
+double linreg_sst (const linreg *c)
+{
+ return c->sst;
}
double
}
double