X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Ftransformation.texi;h=5333d954ad9b9116950f2f39cdb8e0b0d9376b55;hb=1d5a97ba2afec23855a8294ff2814ab052f6777a;hp=b89edb0d6722812271cbf78cc5938dc261ad79b5;hpb=d1bc9c2bfd03aabfd8c00f520b8395b3c07faf69;p=pspp-builds.git diff --git a/doc/transformation.texi b/doc/transformation.texi index b89edb0d..5333d954 100644 --- a/doc/transformation.texi +++ b/doc/transformation.texi @@ -23,7 +23,7 @@ as a rule. @display AGGREGATE - OUTFILE=@{*,'filename'@} + OUTFILE=@{*,'file-name',file_handle@} /PRESORTED /DOCUMENT /MISSING=COLUMNWISE @@ -37,9 +37,11 @@ variables called @dfn{break variables}. Several functions are available for summarizing case contents. The OUTFILE subcommand is required and must appear first. Specify a -system file by file name string or file handle (@pxref{FILE HANDLE}). +system file, portable file, or scratch file by file name or file +handle (@pxref{File Handles}). The aggregated cases are written to this file. If @samp{*} is -specified, then the aggregated cases replace the active file. +specified, then the aggregated cases replace the active file. Use of +OUTFILE to write a portable file or scratch file is a PSPP extension. By default, the active file will be sorted based on the break variables before aggregation takes place. If the active file is already sorted @@ -103,6 +105,9 @@ format is F5.3. @item FIRST(var_name) First non-missing value in break group. The aggregation variable receives the complete dictionary information from the source variable. +The sort performed by AGGREGATE (and by SORT CASES) is stable, so that +the first case with particular values for the break variables before +sorting will also be the first case in that break group after sorting. @item FOUT(var_name, low, high) Fraction of values strictly outside the specified range of constants. @@ -111,6 +116,9 @@ The default format is F5.3. @item LAST(var_name) Last non-missing value in break group. The aggregation variable receives the complete dictionary information from the source variable. +The sort performed by AGGREGATE (and by SORT CASES) is stable, so that +the last case with particular values for the break variables before +sorting will also be the last case in that break group after sorting. @item MAX(var_name) Maximum value. The aggregation variable receives the complete @@ -179,8 +187,9 @@ character codes. On most modern computers, this is a form of ASCII. The aggregation functions listed above exclude all user-missing values from calculations. To include user-missing values, insert a period -(@samp{.}) between the function name and left parenthesis -(e.g.@: @samp{SUM.}). +(@samp{.}) at the end of the function name. (e.g.@: @samp{SUM.}). +(Be aware that specifying such a function as the last token on a line +will cause the period to be interpreted as the end of the command.) @cmd{AGGREGATE} both ignores and cancels the current @cmd{SPLIT FILE} settings (@pxref{SPLIT FILE}). @@ -278,7 +287,7 @@ one or more @dfn{test} variables for each case. The target variable values are always nonnegative integers. They are never missing. The target variable is assigned an F8.2 output format. -@xref{Input/Output Formats}. Any variables, including long and short +@xref{Input and Output Formats}. Any variables, including long and short string variables, may be test variables. User-missing values of test variables are treated just like any other @@ -373,13 +382,14 @@ causes cases to be swapped with variables, and vice versa. All variables in the transposed active file are numeric. String variables take on the system-missing value in the transposed file. -No subcommands are required. The VARIABLES subcommand specifies -variables that will be transformed into cases. Variables not specified -are discarded. By default, all variables are selected for -transposition. +No subcommands are required. If specified, the VARIABLES subcommand +selects variables to be transformed into cases, and variables not +specified are discarded. If the VARIABLES subcommand is omitted, all +variables are selected for transposition. The variables specified by NEWNAMES, which must be a string variable, is -used to give names to the variables created by @cmd{FLIP}. If +used to give names to the variables created by @cmd{FLIP}. Only the +first 8 characters of the variable are used. If NEWNAMES is not specified then the default is a variable named CASE_LBL, if it exists. If it does not then the variables created by FLIP are named VAR000 @@ -393,13 +403,15 @@ extensions are added, starting with 1, until a unique name is found or there are no remaining possibilities. If the latter occurs then the FLIP operation aborts. -The resultant dictionary contains a CASE_LBL variable, which stores the -names of the variables in the dictionary before the transposition. If -the active file is subsequently transposed using @cmd{FLIP}, this -variable can -be used to recreate the original variable names. +The resultant dictionary contains a CASE_LBL variable, a string +variable of width 8, which stores the names of the variables in the +dictionary before the transposition. Variables names longer than 8 +characters are truncated. If the active file is subsequently +transposed using @cmd{FLIP}, this variable can be used to recreate the +original variable names. -FLIP honors N OF CASES. It ignores TEMPORARY, so that ``temporary'' +FLIP honors @cmd{N OF CASES} (@pxref{N OF CASES}). It ignores +@cmd{TEMPORARY} (@pxref{TEMPORARY}), so that ``temporary'' transformations become permanent. @node IF, RECODE, FLIP, Data Manipulation @@ -513,7 +525,7 @@ separate them from the previous recodings. @vindex SORT CASES @display -SORT CASES BY var_list. +SORT CASES BY var_list[(@{D|A@}] [ var_list[(@{D|A@}] ] ... @end display @cmd{SORT CASES} sorts the active file by the values of one or more @@ -522,14 +534,20 @@ variables. Specify BY and a list of variables to sort by. By default, variables are sorted in ascending order. To override sort order, specify (D) or (DOWN) after a list of variables to get descending order, or (A) or (UP) -for ascending order. These apply to the entire list of variables -preceding them. +for ascending order. These apply to all the listed variables +up until the preceding (A), (D), (UP) or (DOWN). + +The sort algorithms used by @cmd{SORT CASES} are stable. That is, +records that have equal values of the sort variables will have the +same relative order before and after sorting. As a special case, +re-sorting an already sorted file will not affect the ordering of +cases. @cmd{SORT CASES} is a procedure. It causes the data to be read. @cmd{SORT CASES} attempts to sort the entire active file in main memory. -If main memory is exhausted, it falls back to a merge sort algorithm that -involves writing and reading numerous temporary files. +If workspace is exhausted, it falls back to a merge sort algorithm that +involves creates numerous temporary files. @cmd{SORT CASES} may not be specified following TEMPORARY. @setfilename ignored