pspp-cvs
[Top][All Lists]
Advanced

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

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


From: Jason H Stover
Subject: [Pspp-cvs] pspp/src/language/stats regression.q ChangeLog
Date: Sat, 08 Apr 2006 02:44:50 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Branch:         
Changes by:     Jason H Stover <address@hidden> 06/04/08 02:44:49

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

Log message:
        added SAVE subcommand

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

Patches:
Index: pspp/src/language/stats/ChangeLog
diff -u pspp/src/language/stats/ChangeLog:1.4 
pspp/src/language/stats/ChangeLog:1.5
--- pspp/src/language/stats/ChangeLog:1.4       Wed Apr  5 02:02:24 2006
+++ pspp/src/language/stats/ChangeLog   Sat Apr  8 02:44:49 2006
@@ -1,3 +1,7 @@
+2006-04-07  Jason Stover  <address@hidden>
+
+       * regression.q (subcommand_save): New function.
+
 2006-04-04  Jason Stover  <address@hidden>
 
        * regression.q: New function reg_has_categorical () to tell
Index: pspp/src/language/stats/regression.q
diff -u pspp/src/language/stats/regression.q:1.7 
pspp/src/language/stats/regression.q:1.8
--- pspp/src/language/stats/regression.q:1.7    Wed Apr  5 01:57:16 2006
+++ pspp/src/language/stats/regression.q        Sat Apr  8 02:44:49 2006
@@ -71,6 +71,7 @@
    all;
    export=custom;
    ^dependent=varlist;
+   save=residuals;
    method=enter.
 */
 /* (declarations) */
@@ -500,6 +501,37 @@
   statistics_keyword_output (reg_stats_tol, keywords[tol], c);
   statistics_keyword_output (reg_stats_selection, keywords[selection], c);
 }
+static void
+subcommand_save (int save, pspp_linreg_cache *lc, const struct casefile *cf, 
int *is_missing)
+{
+  int i;
+  int k;
+  int case_num;
+  double residual;
+  const union value **vals;
+  struct casereader *r;
+  struct ccase c;
+
+  assert (lc != NULL);
+  if (save)
+    {
+      vals = xnmalloc (n_variables, sizeof (*vals));
+      for (r = casefile_get_reader (cf); casereader_read (r, &c);
+          case_destroy (&c))
+       {
+         case_num = casereader_cnum (r) - 1;
+         if (!is_missing[case_num])
+           {
+             for (i = 0; i < n_variables; ++i)
+               {
+                 vals[i] = case_data (&c, v_variables[i]->fv);
+               }
+             residual = (*lc->predict) (v_variables, vals, lc, n_variables);
+           }
+       }
+      free (vals);
+    }
+}
 static int
 reg_inserted (const struct variable *v, struct variable **varlist, int n_vars)
 {
@@ -1002,6 +1034,7 @@
        */
       pspp_linreg ((const gsl_vector *) Y, X->m, &lopts, lcache);
       subcommand_statistics (cmd.a_statistics, lcache);
+      subcommand_save (cmd.sbc_save, lcache, cf, is_missing_case);
       subcommand_export (cmd.sbc_export, lcache);
       gsl_vector_free (Y);
       design_matrix_destroy (X);




reply via email to

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