-@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
@menu
* ADD VALUE LABELS:: Add value labels to variables.
+* DELETE VARIABLES:: Delete variables.
* DISPLAY:: Display variable names & descriptions.
* DISPLAY VECTORS:: Display a list of vectors.
* FORMATS:: Set print and write formats.
* VALUE LABELS:: Set value labels for variables.
* STRING:: Create new string variables.
* VARIABLE LABELS:: Set variable labels for variables.
+* VARIABLE ALIGNMENT:: Set the alignment for display.
+* VARIABLE WIDTH:: Set the display width.
+* VARIABLE LEVEL:: Set the measurement level.
* VECTOR:: Declare an array of variables.
* 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
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
order based on their names; otherwise, they are displayed in the order
that they occur in the active file dictionary.
-@node DISPLAY VECTORS, FORMATS, DISPLAY, Variable Attributes
+@node DISPLAY VECTORS
@section DISPLAY VECTORS
@vindex DISPLAY VECTORS
@cmd{DISPLAY VECTORS} lists all the currently declared vectors.
-@node FORMATS, LEAVE, DISPLAY VECTORS, Variable Attributes
+@node FORMATS
@section FORMATS
@vindex FORMATS
@end display
@cmd{FORMATS} set both print and write formats for the specified
-variables to the specified format specification. @xref{Input/Output
-Formats}.
+numeric variables to the specified format specification.
+@xref{Input and Output Formats}.
Specify a list of variables followed by a format specification in
parentheses. The print and write formats of the specified variables
@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
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
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
@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
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/Output
+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
system-missing value.
-@node PRINT FORMATS, RENAME VARIABLES, NUMERIC, Variable Attributes
+@node PRINT FORMATS
@section PRINT FORMATS
@vindex PRINT FORMATS
@end display
@cmd{PRINT FORMATS} sets the print formats for the specified
-variables to the specified format specification.
+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
@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
(@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
Specify a slash (@samp{/}), followed by the names of the string
variables to create and the desired output format specification in
-parentheses (@pxref{Input/Output Formats}). Variable widths are
+parentheses (@pxref{Input and Output Formats}). Variable widths are
implicitly derived from the specified output formats.
Created variables are initialized to spaces.
-@node VARIABLE LABELS, VECTOR, STRING, Variable Attributes
+
+@node VARIABLE LABELS
@section VARIABLE LABELS
@vindex VARIABLE LABELS
@display
VARIABLE LABELS
- /var_list 'var_label'.
+ var_list 'var_label'
+ [ /var_list 'var_label']
+ .
+ .
+ .
+ [ /var_list 'var_label']
@end display
@cmd{VARIABLE LABELS} associates explanatory names
with variables. This name, called a @dfn{variable label}, is displayed by
statistical procedures.
-To assign a variable label to a group of variables, specify a slash
-(@samp{/}), followed by the list of variable names and the variable
-label as a string.
+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,
+precede the subsequent variable list with a slash (@samp{/}).
+
+
+@node VARIABLE ALIGNMENT
+@comment node-name, next, previous, u
+@section VARIABLE ALIGNMENT
+@vindex VARIABLE ALIGNMENT
+
+@display
+VARIABLE ALIGNMENT
+ var_list ( LEFT | RIGHT | CENTER )
+ [ /var_list ( LEFT | RIGHT | CENTER ) ]
+ .
+ .
+ .
+ [ /var_list ( LEFT | RIGHT | CENTER ) ]
+@end display
+
+@cmd{VARIABLE ALIGNMENT} sets the alignment of variables for display editing
+purposes. This only has effect for third party software. It does not affect
+the display of variables in the PSPP output.
+
-@node VECTOR, WRITE FORMATS, VARIABLE LABELS, Variable Attributes
+
+
+@node VARIABLE WIDTH
+@comment node-name, next, previous, up
+@section VARIABLE WIDTH
+@vindex VARIABLE WIDTH
+@display
+VARIABLE WIDTH
+ var_list (width)
+ [ /var_list (width) ]
+ .
+ .
+ .
+ [ /var_list (width) ]
+@end display
+
+@cmd{VARIABLE WIDTH} sets the column width of variables for display editing
+purposes. This only affects third party software. It does not affect
+the display of variables in the PSPP output.
+
+
+@node VARIABLE LEVEL
+@comment node-name, next, previous, up
+@section VARIABLE LEVEL
+@vindex VARIABLE LEVEL
+@display
+VARIABLE LEVEL
+ var_list ( SCALE | NOMINAL | ORDINAL )
+ [ /var_list ( SCALE | NOMINAL | ORDINAL ) ]
+ .
+ .
+ .
+ [ /var_list ( SCALE | NOMINAL | ORDINAL ) ]
+@end display
+
+@cmd{VARIABLE LEVEL} sets the measurement level of variables.
+Currently, this has no effect except for certain third party software.
+
+
+@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 8 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
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
WRITE FORMATS var_list (fmt_spec).
@end display
-@cmd{WRITE FORMATS} sets the write formats for the specified variables
+@cmd{WRITE FORMATS} sets the write formats for the specified numeric
+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.