pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/language/stats ChangeLog regression.q


From: Jason H Stover
Subject: [Pspp-cvs] pspp/src/language/stats ChangeLog regression.q
Date: Wed, 19 Apr 2006 01:17:50 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Branch:         
Changes by:     Jason H Stover <address@hidden> 06/04/19 01:17:50

Modified files:
        src/language/stats: ChangeLog regression.q 

Log message:
        Fixed residual look up

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/stats/ChangeLog.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/stats/regression.q.diff?tr1=1.13&tr2=1.14&r1=text&r2=text

Patches:
Index: pspp/src/language/stats/ChangeLog
diff -u pspp/src/language/stats/ChangeLog:1.8 
pspp/src/language/stats/ChangeLog:1.9
--- pspp/src/language/stats/ChangeLog:1.8       Mon Apr 17 17:52:38 2006
+++ pspp/src/language/stats/ChangeLog   Wed Apr 19 01:17:50 2006
@@ -1,3 +1,11 @@
+2006-04-18  Jason Stover  <address@hidden>
+
+       * regression.q (regression_trns_proc): Look up the residual
+       variable in the linear regression cache.
+
+       * regression.q (subcommand_save): Set the residual variable in the
+       linear regression cache.
+
 2006-04-17  Jason Stover  <address@hidden>
 
        * regression.q (regression_trns_proc): Accept case_idx as an int
Index: pspp/src/language/stats/regression.q
diff -u pspp/src/language/stats/regression.q:1.13 
pspp/src/language/stats/regression.q:1.14
--- pspp/src/language/stats/regression.q:1.13   Mon Apr 17 17:50:19 2006
+++ pspp/src/language/stats/regression.q        Wed Apr 19 01:17:50 2006
@@ -502,7 +502,7 @@
   statistics_keyword_output (reg_stats_selection, keywords[selection], c);
 }
 static int
-regression_trns_proc (void *m, struct ccase *c, int case_idx)
+regression_trns_proc (void *m, struct ccase *c, int case_idx UNUSED)
 {
   size_t i;
   size_t n_vars;
@@ -511,25 +511,24 @@
   const union value **vals = NULL;
   const union value *obs = NULL;
   struct variable **vars = NULL;
-  struct variable *resid = NULL;
   
   assert (model != NULL);
   assert (model->depvar != NULL);
+  assert (model->resid != NULL);
   
   vals = xnmalloc (n_variables, sizeof (*vals));
   dict_get_vars (default_dict, &vars, &n_vars, 1u << DC_ORDINARY);
-  resid = dict_get_var (default_dict, case_idx);
-  assert (resid != NULL);
-  output = case_data_rw (c, resid->fv);
-  assert (output);
+  output = case_data_rw (c, model->resid->fv);
+  assert (output != NULL);
 
   for (i = 0; i < n_vars; i++)
     {
-      if (i != case_idx) /* Do not use the residual variable as a predictor. */
+      /* Do not use the residual variable as a predictor. */
+      if (vars[i]->index != model->resid->index) 
        {
+         /* Do not use the dependent variable as a predictor. */
          if (vars[i]->index == model->depvar->index) 
            {
-             /* Do not use the dependent variable as a predictor. */
              obs = case_data (c, i);
              assert (obs != NULL);
            }
@@ -554,8 +553,9 @@
 
   if (save)
     {
-      residuals = dict_create_var_assert (default_dict, "residuals", 0);
+      residuals = dict_create_var (default_dict, "residuals", 0);
       assert (residuals != NULL);
+      lc->resid = residuals;
       add_transformation (regression_trns_proc, pspp_linreg_cache_free, lc);
     }
   else 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]