5.1.1 Defining Variables ¶
Variables come in two basic types, viz: numeric and string.
Variables such as age, height and satisfaction are numeric,
whereas name is a string variable.
String variables are best reserved for commentary data to assist the
human observer.
However they can also be used for nominal or categorical data.
The following example defines two variables forename and height,
and reads data into them by manual input:
PSPP> data list list /forename (A12) height.
PSPP> begin data.
data> Ahmed 188
data> Bertram 167
data> Catherine 134.231
data> David 109.1
data> end data
PSPP>
There are several things to note about this example.
- The words ‘data list list’ are an example of the
DATA LIST
command. See DATA LIST.
It tells PSPP to prepare for reading data.
The word ‘list’ intentionally appears twice.
The first occurrence is part of the DATA LIST
call,
whilst the second
tells PSPP that the data is to be read as free format data with
one record per line.
- The ‘/’ character is important. It marks the start of the list of
variables which you wish to define.
- The text ‘forename’ is the name of the first variable,
and ‘(A12)’ says that the variable forename is a string
variable and that its maximum length is 12 bytes.
The second variable’s name is specified by the text ‘height’.
Since no format is given, this variable has the default format.
Normally the default format expects numeric data, which should be
entered in the locale of the operating system.
Thus, the example is correct for English locales and other
locales which use a period (‘.’) as the decimal separator.
However if you are using a system with a locale which uses the comma (‘,’)
as the decimal separator, then you should in the subsequent lines substitute
‘.’ with ‘,’.
Alternatively, you could explicitly tell PSPP that the height
variable is to be read using a period as its decimal separator by appending the
text ‘DOT8.3’ after the word ‘height’.
For more information on data formats, see Input and Output Formats.
- Normally, PSPP displays the prompt PSPP> whenever it’s
expecting a command.
However, when it’s expecting data, the prompt changes to data>
so that you know to enter data and not a command.
- At the end of every command there is a terminating ‘.’ which tells
PSPP that the end of a command has been encountered.
You should not enter ‘.’ when data is expected (ie. when
the data> prompt is current) since it is appropriate only for
terminating commands.