X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=doc%2Fvariables.texi;h=eb931d448bf6a6283dec28484cdfc5edab874dde;hb=3c7a003b64e72aa4a6a97d5197f303c3cd1c6221;hp=00a02be61341bb3047b4bf8431cff278c8508808;hpb=0df9cdd3df66caf4353128feff3008289cda8115;p=pspp diff --git a/doc/variables.texi b/doc/variables.texi index 00a02be613..eb931d448b 100644 --- a/doc/variables.texi +++ b/doc/variables.texi @@ -1,3 +1,12 @@ +@c PSPP - a program for statistical analysis. +@c Copyright (C) 2017 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; +@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +@c A copy of the license is included in the section entitled "GNU +@c Free Documentation License". +@c @node Variable Attributes @chapter Manipulating variables @@ -16,6 +25,7 @@ several utility functions for examining and adjusting them. * NUMERIC:: Create new numeric variables. * PRINT FORMATS:: Set variable print formats. * RENAME VARIABLES:: Rename variables. +* SORT VARIABLES:: Reorder variables. * VALUE LABELS:: Set value labels for variables. * STRING:: Create new string variables. * VARIABLE ATTRIBUTE:: Set custom attributes on variables. @@ -265,8 +275,10 @@ same number of old and new variable names. Each old variable is renamed to the corresponding new variable name. Multiple parenthesized groups of variables may be specified. -The @subcmd{DROP} subcommand deletes a specified list of variables from the -active dataset. +The @subcmd{DROP} subcommand deletes a specified list of variables +from the active dataset. @cmd{MODIFY VARS} may not be used to delete +all variables from the dictionary; use @cmd{NEW FILE} to do that +(@pxref{NEW FILE}). The @subcmd{KEEP} subcommand keeps the specified list of variables in the active dataset. Any unlisted variables are deleted from the active dataset. @@ -392,15 +404,15 @@ response sets are currently used only by third party software. @vindex NUMERIC @display -NUMERIC /@var{var_list} [(@var{fmt_spec})]. +NUMERIC @var{var_list} [(@var{fmt_spec})] [/@var{var_list} [(@var{fmt_spec})]]@dots{} @end display @cmd{NUMERIC} explicitly declares new numeric variables, optionally setting their output formats. -Specify a slash (@samp{/}), followed by the names of the new numeric -variables. If you wish to set their output formats, follow their names -by an output format specification in parentheses (@pxref{Input and Output +Specify the names of the new numeric variables as @var{var_list}. If +you wish to set the variables' output formats, follow their names by +an output format specification in parentheses (@pxref{Input and Output Formats}); otherwise, the default is F8.2. Variables created with @cmd{NUMERIC} are initialized to the @@ -443,6 +455,82 @@ to be read. @cmd{RENAME VARIABLES} may not be specified following @cmd{TEMPORARY} (@pxref{TEMPORARY}). +@node SORT VARIABLES +@section SORT VARIABLES +@vindex SORT VARIABLES + +@display +SORT VARIABLES [BY] + (NAME | TYPE | FORMAT | LABEL | VALUES | MISSING | MEASURE + | ROLE | COLUMNS | ALIGNMENT | ATTRIBUTE @var{name}) + [(D)]. +@end display + +@cmd{SORT VARIABLES} reorders the variables in the active dataset. +The main specification is one of the following identifiers, which +determines how the variables are sorted: + +@table @asis +@item NAME +Sorts the variables according to their names, in a case-insensitive +fashion. However, when variable names differ only in a number at the +end, they are sorted numerically. For example, @code{VAR5} is sorted +before @code{VAR400} even though @samp{4} precedes @samp{5}. + +@item TYPE +Sorts numeric variables before string variables, and shorter string +variables before longer ones. + +@item FORMAT +Groups variables by print format; within a format, sorts narrower +formats before wider ones; with the same format and width, sorts fewer +decimal places before more decimal places. +@xref{FORMATS}. + +@item LABEL +Sorts variables without a variable label before those with one. +@xref{VARIABLE LABELS}. + +@item VALUES +Sorts variables without value labels before those with some. +@xref{VALUE LABELS}. + +@item MISSING +Sorts variables without missing values before those with some. +@xref{MISSING VALUES}. + +@item MEASURE +Sorts nominal variables first, followed by ordinal variables, followed +by scale variables. @xref{VARIABLE LEVEL}. + +@item ROLE +Groups variables according to their role. @xref{VARIABLE ROLE}. + +@item COLUMNS +Sorts variables in ascending display width. @xref{VARIABLE WIDTH}. + +@item ALIGNMENT +Sorts variables according to their alignment, first left-aligned, then +right-aligned, then centered. @xref{VARIABLE ALIGNMENT}. + +@item ATTRIBUTE @var{name} +Sorts variables according to the first value of their @var{name} +attribute. Variables without attribute are sorted first. +@xref{VARIABLE ATTRIBUTE}. +@end table + +Only one sort criterion can be specified. The sort is ``stable,'' so +to sort on multiple criteria one may perform multiple sorts. For +example, the following will sort primarily based on alignment, with +variables that have the same alignment ordered based on display width: + +@example +SORT VARIABLES BY COLUMNS. +SORT VARIABLES BY ALIGNMENT. +@end example + +Specify @code{(D)} to reverse the sort order. + @node VALUE LABELS @section VALUE LABELS @vindex VALUE LABELS @@ -452,11 +540,16 @@ VALUE LABELS /@var{var_list} @var{value} '@var{label}' [@var{value} '@var{label}']@dots{} @end display -@cmd{VALUE LABELS} allows values of numeric and short string +@cmd{VALUE LABELS} allows values of variables to be associated with labels. In this way, a short value can -stand for a long value. +stand for a longer, more descriptive label. + +Both numeric and string variables can be given labels. For string +variables, the values are case-sensitive, so that, for example, a +capitalized value and its lowercase variant would have to be labeled +separately if both are present in the data. -To set up value labels for a set of variables, specify the +To set up value labels for one or more variables, specify the variable names after a slash (@samp{/}), followed by a list of values and their associated labels, separated by spaces. @@ -700,18 +793,20 @@ were consecutive members of an array with a vector(index) notation. To make a vector out of a set of existing variables, specify a name for the vector followed by an equals sign (@samp{=}) and the variables -to put in the vector. All the variables in the vector must be the same -type. String variables in a vector must all have the same width. +to put in the vector. The variables must be all numeric or all +string, and string variables must have the same width. To make a vector and create variables at the same time, specify one or -more vector names followed by a count in parentheses. This will cause -variables named @code{@var{vec}1} through @code{@var{vec}@var{count}} -to be created as numeric variables. By default, the new variables -have print and write format F8.2, but an alternate format may be -specified inside the parentheses before or after the count and -separated from it by white space or a comma. Variable names including -numeric suffixes may not exceed 64 characters in length, and none of -the variables may exist prior to @cmd{VECTOR}. +more vector names followed by a count in parentheses. This will +create variables named @code{@var{vec}1} through +@code{@var{vec}@var{count}}. By default, the new variables are +numeric with format F8.2, but an alternate format may be specified +inside the parentheses before or after the count and separated from it +by white space or a comma. With a string format such as A8, the +variables will be string variables; with a numeric format, they will +be numeric. Variable names including the suffixes may not exceed 64 +characters in length, and none of the variables may exist prior to +@cmd{VECTOR}. Vectors created with @cmd{VECTOR} disappear after any procedure or procedure-like command is executed. The variables contained in the