X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fvariables.texi;h=8396b71475b22288e703c692247734844a1126ed;hb=6b562f8a8263930b8d1ed1862efec76f2511ed08;hp=91b07112fbfa9b463854dd062b3d324c4cd34bdf;hpb=8acca2de53c1852f38726f70fc6516b34732a79f;p=pspp-builds.git diff --git a/doc/variables.texi b/doc/variables.texi index 91b07112..8396b714 100644 --- a/doc/variables.texi +++ b/doc/variables.texi @@ -1,4 +1,4 @@ -@node Variable Attributes, Data Manipulation, System and Portable Files, Top +@node Variable Attributes @chapter Manipulating variables The variables in the active file dictionary are important. There are @@ -6,8 +6,8 @@ several utility functions for examining and adjusting them. @menu * ADD VALUE LABELS:: Add value labels to variables. -* DISPLAY:: Display variable names & descriptions. -* DISPLAY VECTORS:: Display a list of vectors. +* DELETE VARIABLES:: Delete variables. +* DISPLAY:: Display information about the active file. * FORMATS:: Set print and write formats. * LEAVE:: Don't clear variables between cases. * MISSING VALUES:: Set missing values for variables. @@ -17,6 +17,7 @@ several utility functions for examining and adjusting them. * RENAME VARIABLES:: Rename variables. * VALUE LABELS:: Set value labels for variables. * STRING:: Create new string variables. +* VARIABLE ATTRIBUTE:: Set custom attributes on variables. * VARIABLE LABELS:: Set variable labels for variables. * VARIABLE ALIGNMENT:: Set the alignment for display. * VARIABLE WIDTH:: Set the display width. @@ -25,7 +26,7 @@ several utility functions for examining and adjusting them. * WRITE FORMATS:: Set variable write formats. @end menu -@node ADD VALUE LABELS, DISPLAY, Variable Attributes, Variable Attributes +@node ADD VALUE LABELS @section ADD VALUE LABELS @vindex ADD VALUE LABELS @@ -38,20 +39,48 @@ ADD VALUE LABELS LABELS} (@pxref{VALUE LABELS}), but it does not clear value labels from the variables before adding the ones specified. -@node DISPLAY, DISPLAY VECTORS, ADD VALUE LABELS, Variable Attributes +@node DELETE VARIABLES +@section DELETE VARIABLES +@vindex DELETE VARIABLES + +@display +DELETE VARIABLES var_list. +@end display + +@cmd{DELETE VARIABLES} deletes the specified variables from the +dictionary. It may not be used to delete all variables from the +dictionary; use @cmd{NEW FILE} to do that (@pxref{NEW FILE}). + +@cmd{DELETE VARIABLES} should not used after defining transformations +and before executing a procedure. If it is used in such a context, it +causes the data to be read. If it is used while @cmd{TEMPORARY} is in +effect, it causes the temporary transformations to become permanent. + +@node DISPLAY @section DISPLAY @vindex DISPLAY @display -DISPLAY @{NAMES,INDEX,LABELS,VARIABLES,DICTIONARY,SCRATCH@} - [SORTED] [var_list] +DISPLAY [SORTED] NAMES [[/VARIABLES=]var_list]. +DISPLAY [SORTED] INDEX [[/VARIABLES=]var_list]. +DISPLAY [SORTED] LABELS [[/VARIABLES=]var_list]. +DISPLAY [SORTED] VARIABLES [[/VARIABLES=]var_list]. +DISPLAY [SORTED] DICTIONARY [[/VARIABLES=]var_list]. +DISPLAY [SORTED] SCRATCH [[/VARIABLES=]var_list]. +DISPLAY [SORTED] ATTRIBUTES [[/VARIABLES=]var_list]. +DISPLAY [SORTED] @@ATTRIBUTES [[/VARIABLES=]var_list]. +DISPLAY [SORTED] VECTORS. @end display -@cmd{DISPLAY} displays requested information on variables. Variables can -optionally be sorted alphabetically. The entire dictionary or just -specified variables can be described. +@cmd{DISPLAY} displays information about the active file. A variety +of different forms of information can be requested. -One of the following keywords can be present: +The following keywords primarily cause information about variables to +be displayed. With these keywords, by default information is +displayed about all variable in the active file, in the order that +variables occur in the active file dictionary. The SORTED keyword +causes output to be sorted alphabetically by variable name. The +VARIABLES subcommand limits output to the specified variables. @table @asis @item NAMES @@ -73,25 +102,26 @@ Variable names, positions, print and write formats, missing values, variable labels, and value labels are displayed. @item SCRATCH -Varible names are displayed, for scratch variables only (@pxref{Scratch +Variable names are displayed, for scratch variables only (@pxref{Scratch Variables}). -@end table -If SORTED is specified, then the variables are displayed in ascending -order based on their names; otherwise, they are displayed in the order -that they occur in the active file dictionary. +@item ATTRIBUTES +Datafile and variable attributes are displayed, except that attributes +whose names begin with @code{@@} or @code{$@@} are omitted. -@node DISPLAY VECTORS, FORMATS, DISPLAY, Variable Attributes -@section DISPLAY VECTORS -@vindex DISPLAY VECTORS +@itemx @@ATTRIBUTES +All datafile and variable attributes are displayed. +@end table -@display -DISPLAY VECTORS. -@end display +With the @code{VECTOR} keyword, @cmd{DISPLAY} lists all the currently +declared vectors. If the SORTED keyword is given, the vectors are +listed in alphabetical order; otherwise, they are listed in textual +order of definition within the PSPP syntax file. -@cmd{DISPLAY VECTORS} lists all the currently declared vectors. +For related commands, see @ref{DISPLAY DOCUMENTS} and @ref{DISPLAY +FILE LABEL}. -@node FORMATS, LEAVE, DISPLAY VECTORS, Variable Attributes +@node FORMATS @section FORMATS @vindex FORMATS @@ -113,7 +143,7 @@ delimited by a slash (@samp{/}). @cmd{FORMATS} takes effect immediately. It is not affected by conditional and looping structures such as @cmd{DO IF} or @cmd{LOOP}. -@node LEAVE, MISSING VALUES, FORMATS, Variable Attributes +@node LEAVE @section LEAVE @vindex LEAVE @@ -162,7 +192,7 @@ procedure command, because the left status of variables is reset by certain transformations---for instance, @cmd{COMPUTE} and @cmd{IF}. Left status is also reset by all procedure invocations. -@node MISSING VALUES, MODIFY VARS, LEAVE, Variable Attributes +@node MISSING VALUES @section MISSING VALUES @vindex MISSING VALUES @@ -196,7 +226,7 @@ The @cmd{MISSING VALUES} command takes effect immediately. It is not affected by conditional and looping constructs such as @cmd{DO IF} or @cmd{LOOP}. -@node MODIFY VARS, NUMERIC, MISSING VALUES, Variable Attributes +@node MODIFY VARS @section MODIFY VARS @vindex MODIFY VARS @@ -243,7 +273,7 @@ not. @cmd{MODIFY VARS} may not be specified following @cmd{TEMPORARY} (@pxref{TEMPORARY}). -@node NUMERIC, PRINT FORMATS, MODIFY VARS, Variable Attributes +@node NUMERIC @section NUMERIC @vindex NUMERIC @@ -262,7 +292,7 @@ Formats}); otherwise, the default is F8.2. Variables created with @cmd{NUMERIC} are initialized to the system-missing value. -@node PRINT FORMATS, RENAME VARIABLES, NUMERIC, Variable Attributes +@node PRINT FORMATS @section PRINT FORMATS @vindex PRINT FORMATS @@ -276,7 +306,7 @@ numeric variables to the specified format specification. Its syntax is identical to that of @cmd{FORMATS} (@pxref{FORMATS}), but @cmd{PRINT FORMATS} sets only print formats, not write formats. -@node RENAME VARIABLES, VALUE LABELS, PRINT FORMATS, Variable Attributes +@node RENAME VARIABLES @section RENAME VARIABLES @vindex RENAME VARIABLES @@ -297,7 +327,7 @@ to be read. @cmd{RENAME VARIABLES} may not be specified following @cmd{TEMPORARY} (@pxref{TEMPORARY}). -@node VALUE LABELS, STRING, RENAME VARIABLES, Variable Attributes +@node VALUE LABELS @section VALUE LABELS @vindex VALUE LABELS @@ -312,15 +342,14 @@ stand for a long value. To set up value labels for a set of variables, specify the variable names after a slash (@samp{/}), followed by a list of values -and their associated labels, separated by spaces. Long string -variables may not be specified. +and their associated labels, separated by spaces. Before @cmd{VALUE LABELS} is executed, any existing value labels are cleared from the variables specified. Use @cmd{ADD VALUE LABELS} (@pxref{ADD VALUE LABELS}) to add value labels without clearing those already present. -@node STRING, VARIABLE LABELS, VALUE LABELS, Variable Attributes +@node STRING @section STRING @vindex STRING @@ -339,7 +368,61 @@ implicitly derived from the specified output formats. Created variables are initialized to spaces. -@node VARIABLE LABELS, VARIABLE ALIGNMENT, STRING, Variable Attributes +@node VARIABLE ATTRIBUTE +@section VARIABLE ATTRIBUTE +@vindex VARIABLE ATTRIBUTE + +@display +VARIABLE ATTRIBUTE + VARIABLES=var_list + ATTRIBUTE=name('value') [name('value')]@dots{} + ATTRIBUTE=name@b{[}index@b{]}('value') [name@b{[}index@b{]}('value')]@dots{} + DELETE=name [name]@dots{} + DELETE=name@b{[}index@b{]} [name@b{[}index@b{]}]@dots{} +@end display + +@cmd{VARIABLE ATTRIBUTE} adds, modifies, or removes user-defined +attributes associated with variables in the active file. Custom +variable attributes are not interpreted by PSPP, but they are saved as +part of system files and may be used by other software that reads +them. + +The required VARIABLES subcommand must come first. Specify the +variables to which the following ATTRIBUTE or DELETE subcommand +should apply. + +Use the ATTRIBUTE subcommand to add or modify custom variable +attributes. Specify the name of the attribute as an identifier +(@pxref{Tokens}), followed by the desired value, in parentheses, as a +quoted string. The specified attributes are then added or modified in +the variables specified on VARIABLES. Attribute names that begin with +@code{$} are reserved for PSPP's internal use, and attribute names +that begin with @code{@@} or @code{$@@} are not displayed by most PSPP +commands that display other attributes. Other attribute names are not +treated specially. + +Attributes may also be organized into arrays. To assign to an array +element, add an integer array index enclosed in square brackets +(@code{[} and @code{]}) between the attribute name and value. Array +indexes start at 1, not 0. An attribute array that has a single +element (number 1) is not distinguished from a non-array attribute. + +Use the DELETE subcommand to delete an attribute from the variable +specified on VARIABLES. Specify an attribute name by itself to delete +an entire attribute, including all array elements for attribute +arrays. Specify an attribute name followed by an array index in +square brackets to delete a single element of an attribute array. In +the latter case, all the array elements numbered higher than the +deleted element are shifted down, filling the vacated position. + +To associate custom attributes with the entire active file, instead of +with particular variables, use @cmd{DATAFILE ATTRIBUTE} (@pxref{DATAFILE ATTRIBUTE}) instead. + +@cmd{VARIABLE ATTRIBUTE} takes effect immediately. It is not affected +by conditional and looping structures such as @cmd{DO IF} or +@cmd{LOOP}. + +@node VARIABLE LABELS @section VARIABLE LABELS @vindex VARIABLE LABELS @@ -360,10 +443,10 @@ statistical procedures. To assign a variable label to a group of variables, specify a list of variable names and the variable label as a string. To assign different labels to different variables in the same command, -preceed the subsequent variable list with a slash (@samp{/}). +precede the subsequent variable list with a slash (@samp{/}). -@node VARIABLE ALIGNMENT, VARIABLE WIDTH, VARIABLE LABELS, Variable Attributes +@node VARIABLE ALIGNMENT @comment node-name, next, previous, u @section VARIABLE ALIGNMENT @vindex VARIABLE ALIGNMENT @@ -385,7 +468,7 @@ the display of variables in the PSPP output. -@node VARIABLE WIDTH, VARIABLE LEVEL, VARIABLE ALIGNMENT, Variable Attributes +@node VARIABLE WIDTH @comment node-name, next, previous, up @section VARIABLE WIDTH @vindex VARIABLE WIDTH @@ -404,7 +487,7 @@ purposes. This only affects third party software. It does not affect the display of variables in the PSPP output. -@node VARIABLE LEVEL, VECTOR, VARIABLE WIDTH, Variable Attributes +@node VARIABLE LEVEL @comment node-name, next, previous, up @section VARIABLE LEVEL @vindex VARIABLE LEVEL @@ -422,31 +505,33 @@ VARIABLE LEVEL Currently, this has no effect except for certain third party software. -@node VECTOR, WRITE FORMATS, VARIABLE LEVEL, Variable Attributes +@node VECTOR @section VECTOR @vindex VECTOR @display Two possible syntaxes: VECTOR vec_name=var_list. - VECTOR vec_name_list(count). + VECTOR vec_name_list(count [format]). @end display @cmd{VECTOR} allows a group of variables to be accessed as if they 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 that -belong in the vector. +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 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 with print and write format F8.2. -Variable names including numeric suffixes may not exceed 64 characters -in length, and none of the variables may exist prior to @cmd{VECTOR}. - -All the variables in a vector must be the same type. +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}. Vectors created with @cmd{VECTOR} disappear after any procedure or procedure-like command is executed. The variables contained in the @@ -456,10 +541,7 @@ Variables}). Variables within a vector may be referenced in expressions using @code{vector(index)} syntax. - - - -@node WRITE FORMATS, , VECTOR, Variable Attributes +@node WRITE FORMATS @section WRITE FORMATS @vindex WRITE FORMATS @@ -472,4 +554,3 @@ variables to the specified format specification. Its syntax is identical to that of FORMATS (@pxref{FORMATS}), but @cmd{WRITE FORMATS} sets only write formats, not print formats. -@setfilename ignored