X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fdata-selection.texi;h=c2f3ab31a4ddf0fdd33797a83981acd820e35590;hb=a0ee1f3ba1dd37945983ea651c98b49b318d3e2f;hp=47a73ee1924f94b8feed2ccc81bf3e6173ea183f;hpb=3f3acd91293bc94ecf5183df253d1b138987726f;p=pspp diff --git a/doc/data-selection.texi b/doc/data-selection.texi index 47a73ee192..c2f3ab31a4 100644 --- a/doc/data-selection.texi +++ b/doc/data-selection.texi @@ -1,5 +1,5 @@ @c PSPP - a program for statistical analysis. -@c Copyright (C) 2017 Free Software Foundation, Inc. +@c Copyright (C) 2017, 2020 Free Software Foundation, Inc. @c Permission is granted to copy, distribute and/or modify this document @c under the terms of the GNU Free Documentation License, Version 1.3 @c or any later version published by the Free Software Foundation; @@ -156,11 +156,38 @@ deleted from the data stream. Place @cmd{SELECT IF} as early in the command file as possible. Cases that are deleted early can be processed more efficiently in time and space. +Once cases have been deleted from the active dataset using @cmd{SELECT IF} they +cannot be re-instated. +If you want to be able to re-instate cases, then use @cmd{FILTER} (@pxref{FILTER}) +instead. When @cmd{SELECT IF} is specified following @cmd{TEMPORARY} (@pxref{TEMPORARY}), the @cmd{LAG} function may not be used (@pxref{LAG}). +@subsection Example Select-If + +A shop steward is interested in the salaries of younger personnel in a firm. +The file @file{personnel.sav} provides the salaries of all the workers and their +dates of birth. The syntax in @ref{select-if:ex} shows how @cmd{SELECT IF} can +be used to limit analysis only to those persons born after December 31, 1999. + +@float Example, select-if:ex +@psppsyntax {select-if.sps} +@caption {Using @cmd{SELECT IF} to select persons born on or after a certain date.} +@end float + +From @ref{select-if:res} one can see that there are 56 persons listed in the dataset, +and 17 of them were born after December 31, 1999. + +@float Result, select-if:res +@psppoutput {select-if} +@caption {Salary descriptives before and after the @cmd{SELECT IF} transformation.} +@end float + +Note that the @file{personnel.sav} file from which the data were read is unaffected. +The transformation affects only the active file. + @node SPLIT FILE @section SPLIT FILE @vindex SPLIT FILE @@ -227,6 +254,17 @@ split. Unless @cmd{TEMPORARY} was used, after a split has been defined for a dataset it remains active until explicitly disabled. +In the graphical user interface, the active split variable (if any) is +displayed in the status bar (@pxref{split-status-bar:scr}. +If a dataset is saved to a system file (@pxref{SAVE}) whilst a split +is active, the split stastus is stored in the file and will be +automatically loaded when that file is loaded. + +@float Screenshot, split-status-bar:scr +@psppimage {split-status-bar} +@caption {The status bar indicating that the data set is split using the @exvar{treatment} variable} +@end float + @node TEMPORARY @section TEMPORARY @@ -249,31 +287,30 @@ procedure-like commands. Scratch variables cannot be used following @cmd{TEMPORARY}. -An example may help to clarify: +@subsection Example Temporary -@example -DATA LIST /X 1-2. -BEGIN DATA. - 2 - 4 -10 -15 -20 -24 -END DATA. +In @ref{temporary:ex} there are two @cmd{COMPUTE} transformation. One +of them immediatly follows a @cmd{TEMPORARY} command, and therefore has +effect only for the next procedure, which in this case is the first +@cmd{DESCRIPTIVES} command. -COMPUTE X=X/2. +@float Example, temporary:ex +@psppsyntax {temporary.sps} +@caption {Running a @cmd{COMPUTE} transformation after @cmd{TEMPORARY}} +@end float -TEMPORARY. -COMPUTE X=X+3. +The data read by the first @cmd{DESCRIPTIVES} procedure are 4, 5, 8, +10.5, 13, 15. The data read by the second @cmd{DESCRIPTIVES} procedure are 1, 2, +5, 7.5, 10, 12. This is because the second @cmd{COMPUTE} transformation +has no effect on the second @cmd{DESCRIPTIVES} procedure. You can check these +figures in @ref{temporary:res}. -DESCRIPTIVES X. -DESCRIPTIVES X. -@end example +@float Result, temporary:res +@psppoutput {temporary} +@caption {The results of running two consecutive @cmd{DESCRIPTIVES} commands after + a temporary transformation} +@end float -The data read by the first @cmd{DESCRIPTIVES} are 4, 5, 8, -10.5, 13, 15. The data read by the first @cmd{DESCRIPTIVES} are 1, 2, -5, 7.5, 10, 12. @node WEIGHT @section WEIGHT