|
0 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
1 |
"http://www.w3.org/TR/html40/loose.dtd">
|
|
2 |
<HTML>
|
|
3 |
<!-- Created on August, 25 2003 by texi2html 1.66 -->
|
|
4 |
<!--
|
|
5 |
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
|
6 |
Karl Berry <karl@freefriends.org>
|
|
7 |
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
8 |
and many others.
|
|
9 |
Maintained by: Many creative people <dev@texi2html.cvshome.org>
|
|
10 |
Send bugs and suggestions to <users@texi2html.cvshome.org>
|
|
11 |
|
|
12 |
-->
|
|
13 |
<HEAD>
|
|
14 |
<TITLE>PSPP</TITLE>
|
|
15 |
|
|
16 |
<META NAME="description" CONTENT="PSPP">
|
|
17 |
<META NAME="keywords" CONTENT="PSPP">
|
|
18 |
<META NAME="resource-type" CONTENT="document">
|
|
19 |
<META NAME="distribution" CONTENT="global">
|
|
20 |
<META NAME="Generator" CONTENT="texi2html 1.66">
|
|
21 |
|
|
22 |
</HEAD>
|
|
23 |
|
|
24 |
<BODY LANG="en" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
|
25 |
|
|
26 |
<A NAME="SEC_Top"></A>
|
|
27 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
28 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
29 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
30 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
31 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
32 |
</TR></TABLE>
|
|
33 |
<H1>PSPP</H1>
|
|
34 |
|
|
35 |
<P>
|
|
36 |
|
|
37 |
This file documents the PSPP package for statistical analysis of sampled
|
|
38 |
data. This is edition 0.2, for PSPP version
|
|
39 |
0.2, last modified at Time-stamp: &lt;2000-01-02 22:32:14 blp&gt;.
|
|
40 |
</P>
|
|
41 |
<P>
|
|
42 |
|
|
43 |
</P>
|
|
44 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
45 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC1">1. Introduction</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Description of the package.</TD></TR>
|
|
46 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
47 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC3">3. Credits</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Acknowledgement of authors.</TD></TR>
|
|
48 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
49 |
</TH></TR>
|
|
50 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How to compile and install PSPP.</TD></TR>
|
|
51 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC6">5. Configuring PSPP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
52 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC38">6. Invoking PSPP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Starting and running PSPP.</TD></TR>
|
|
53 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
54 |
</TH></TR>
|
|
55 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC44">7. The PSPP language</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Basics of the PSPP command language.</TD></TR>
|
|
56 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC58">8. Mathematical Expressions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Numeric and string expression syntax.</TD></TR>
|
|
57 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
58 |
</TH></TR>
|
|
59 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC83">9. Data Input and Output</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Reading data from user files.</TD></TR>
|
|
60 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC104">10. System Files and Portable Files</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Dealing with system & portable files.</TD></TR>
|
|
61 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC113">11. Manipulating variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Adjusting and examining variables.</TD></TR>
|
|
62 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC129">12. Data transformations</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Simple operations on data.</TD></TR>
|
|
63 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC138">13. Selecting data for analysis</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Select certain cases for analysis.</TD></TR>
|
|
64 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Doing things many times or not at all.</TD></TR>
|
|
65 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC152">15. Statistics</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Basic statistical procedures.</TD></TR>
|
|
66 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC156">16. Utilities</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Other commands.</TD></TR>
|
|
67 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC169">17. Not Implemented</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">What's not here yet</TD></TR>
|
|
68 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
69 |
</TH></TR>
|
|
70 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC170">18. Data File Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Format of PSPP system files.</TD></TR>
|
|
71 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC181">19. Portable File Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Format of PSPP portable files.</TD></TR>
|
|
72 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC191">20. <CODE>q2c</CODE> Input Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Format of syntax accepted by q2c.</TD></TR>
|
|
73 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
74 |
</TH></TR>
|
|
75 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC195">21. Bugs</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Known problems; submitting bug reports.</TD></TR>
|
|
76 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
77 |
</TH></TR>
|
|
78 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC198">22. Function Index</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Index of PSPP functions for expressions.</TD></TR>
|
|
79 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC199">23. Concept Index</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Index of concepts.</TD></TR>
|
|
80 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC200">24. Command Index</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Index of PSPP procedures.</TD></TR>
|
|
81 |
<TR><TH COLSPAN="3" ALIGN="left" VALIGN="TOP">
|
|
82 |
</TH></TR>
|
|
83 |
</TABLE>
|
|
84 |
<P>
|
|
85 |
|
|
86 |
<HR SIZE=1>
|
|
87 |
<A NAME="SEC1"></A>
|
|
88 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
89 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> < </A>]</TD>
|
|
90 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC2"> > </A>]</TD>
|
|
91 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> << </A>]</TD>
|
|
92 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
93 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC2"> >> </A>]</TD>
|
|
94 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
95 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
96 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
97 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
98 |
</TR></TABLE>
|
|
99 |
<A NAME="Introduction"></A>
|
|
100 |
<H1> 1. Introduction </H1>
|
|
101 |
<!--docid::SEC1::-->
|
|
102 |
<P>
|
|
103 |
|
|
104 |
<A NAME="IDX1"></A>
|
|
105 |
<A NAME="IDX2"></A>
|
|
106 |
PSPP is a tool for statistical analysis of sampled data. It reads a
|
|
107 |
syntax file and a data file, analyzes the data, and writes the results
|
|
108 |
to a listing file or to standard output.
|
|
109 |
</P>
|
|
110 |
<P>
|
|
111 |
|
|
112 |
The language accepted by PSPP is similar to those accepted by SPSS
|
|
113 |
statistical products. The details of PSPP's language are given
|
|
114 |
later in this manual.
|
|
115 |
</P>
|
|
116 |
<P>
|
|
117 |
|
|
118 |
<A NAME="IDX3"></A>
|
|
119 |
<A NAME="IDX4"></A>
|
|
120 |
<A NAME="IDX5"></A>
|
|
121 |
<A NAME="IDX6"></A>
|
|
122 |
<A NAME="IDX7"></A>
|
|
123 |
<A NAME="IDX8"></A>
|
|
124 |
PSPP produces output in two forms: tables and charts. Both of these can
|
|
125 |
be written in several formats; currently, ASCII, PostScript, and HTML
|
|
126 |
are supported. In the future, more drivers, such as PCL and X Window
|
|
127 |
System drivers, may be developed. For now, Ghostscript, available from
|
|
128 |
the Free Software Foundation, may be used to convert PostScript chart
|
|
129 |
output to other formats.
|
|
130 |
</P>
|
|
131 |
<P>
|
|
132 |
|
|
133 |
The current version of PSPP, 0.2, is woefully incomplete in
|
|
134 |
terms of its statistical procedure support. PSPP is a work in progress.
|
|
135 |
The author hopes to support fully support all features in the products
|
|
136 |
that PSPP replaces, eventually. The author welcomes questions,
|
|
137 |
comments, donations, and code submissions. See section <A HREF="pspp.html#SEC195">Submitting Bug Reports</A>, for instructions on contacting the author.
|
|
138 |
</P>
|
|
139 |
<P>
|
|
140 |
|
|
141 |
<A NAME="License"></A>
|
|
142 |
<HR SIZE="6">
|
|
143 |
<A NAME="SEC2"></A>
|
|
144 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
145 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC1"> < </A>]</TD>
|
|
146 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC3"> > </A>]</TD>
|
|
147 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC1"> << </A>]</TD>
|
|
148 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
149 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC3"> >> </A>]</TD>
|
|
150 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
151 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
152 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
153 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
154 |
</TR></TABLE>
|
|
155 |
<H1> 2. Your rights and obligations </H1>
|
|
156 |
<!--docid::SEC2::-->
|
|
157 |
<P>
|
|
158 |
|
|
159 |
<A NAME="IDX9"></A>
|
|
160 |
<A NAME="IDX10"></A>
|
|
161 |
<A NAME="IDX11"></A>
|
|
162 |
<A NAME="IDX12"></A>
|
|
163 |
<A NAME="IDX13"></A>
|
|
164 |
<A NAME="IDX14"></A>
|
|
165 |
Most of PSPP is distributed under the GNU General Public
|
|
166 |
License. The General Public License says, in effect, that you may
|
|
167 |
modify and distribute PSPP as you like, as long as you grant the
|
|
168 |
same rights to others. It also states that you must provide source code
|
|
169 |
when you distribute PSPP, or, if you obtained PSPP
|
|
170 |
source code from an anonymous ftp site, give out the name of that site.
|
|
171 |
</P>
|
|
172 |
<P>
|
|
173 |
|
|
174 |
The General Public License is given in full in the source distribution
|
|
175 |
as file `<TT>COPYING</TT>'. In Debian GNU/Linux, this file is also
|
|
176 |
available as file `<TT>/usr/doc/copyright/GPL</TT>'.
|
|
177 |
</P>
|
|
178 |
<P>
|
|
179 |
|
|
180 |
To quote the GPL itself:
|
|
181 |
</P>
|
|
182 |
<P>
|
|
183 |
|
|
184 |
<BLOCKQUOTE>
|
|
185 |
This program is free software; you can redistribute it and/or modify it
|
|
186 |
under the terms of the GNU General Public License as published by the
|
|
187 |
Free Software Foundation; either version 2 of the License, or (at your
|
|
188 |
option) any later version.
|
|
189 |
<P>
|
|
190 |
|
|
191 |
This program is distributed in the hope that it will be useful, but
|
|
192 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
193 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
194 |
General Public License for more details.
|
|
195 |
</P>
|
|
196 |
<P>
|
|
197 |
|
|
198 |
You should have received a copy of the GNU General Public License along
|
|
199 |
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
200 |
675 Mass Ave, Cambridge, MA 02139, USA.
|
|
201 |
</BLOCKQUOTE>
|
|
202 |
<P>
|
|
203 |
|
|
204 |
<A NAME="Credits"></A>
|
|
205 |
<HR SIZE="6">
|
|
206 |
<A NAME="SEC3"></A>
|
|
207 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
208 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC2"> < </A>]</TD>
|
|
209 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> > </A>]</TD>
|
|
210 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC2"> << </A>]</TD>
|
|
211 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
212 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> >> </A>]</TD>
|
|
213 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
214 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
215 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
216 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
217 |
</TR></TABLE>
|
|
218 |
<H1> 3. Credits </H1>
|
|
219 |
<!--docid::SEC3::-->
|
|
220 |
<P>
|
|
221 |
|
|
222 |
<A NAME="IDX15"></A>
|
|
223 |
<A NAME="IDX16"></A>
|
|
224 |
<A NAME="IDX17"></A>
|
|
225 |
<A NAME="IDX18"></A>
|
|
226 |
<BLOCKQUOTE>
|
|
227 |
I'm always embarrassed when I see an index an author has made of his own
|
|
228 |
work. It's a shameless exhibition--to the <I>trained</I> eye. Never
|
|
229 |
index your own book.
|
|
230 |
<P>
|
|
231 |
|
|
232 |
---Claire Minton, <CITE>Cat's Cradle</CITE>, Kurt Vonnegut, Jr.
|
|
233 |
</BLOCKQUOTE>
|
|
234 |
<P>
|
|
235 |
|
|
236 |
<A NAME="IDX19"></A>
|
|
237 |
Most of PSPP, as well as this manual (including the indices),
|
|
238 |
was written by Ben Pfaff. See section <A HREF="pspp.html#SEC197">21.2 Contacting the Author</A>, for
|
|
239 |
instructions on contacting the author.
|
|
240 |
</P>
|
|
241 |
<P>
|
|
242 |
|
|
243 |
<A NAME="IDX20"></A>
|
|
244 |
<A NAME="IDX21"></A>
|
|
245 |
<A NAME="IDX22"></A>
|
|
246 |
<A NAME="IDX23"></A>
|
|
247 |
<A NAME="IDX24"></A>
|
|
248 |
<A NAME="IDX25"></A>
|
|
249 |
The PSPP source code incorporates <CODE>julcal10</CODE> originally
|
|
250 |
written by Michael A. Covington and translated into C by Jim Van Zandt.
|
|
251 |
The original package can be found in directory
|
|
252 |
`<TT>ftp://ftp.cdrom.com/pub/algorithms/c/julcal10</TT>'. The entire
|
|
253 |
contents of that directory constitute the package. The files actually
|
|
254 |
used in PSPP are <CODE>julcal.c</CODE> and <CODE>julcal.h</CODE>.
|
|
255 |
</P>
|
|
256 |
<P>
|
|
257 |
|
|
258 |
<A NAME="Installation"></A>
|
|
259 |
<HR SIZE="6">
|
|
260 |
<A NAME="SEC4"></A>
|
|
261 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
262 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC3"> < </A>]</TD>
|
|
263 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC5"> > </A>]</TD>
|
|
264 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC3"> << </A>]</TD>
|
|
265 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
266 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> >> </A>]</TD>
|
|
267 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
268 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
269 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
270 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
271 |
</TR></TABLE>
|
|
272 |
<H1> 4. Installing PSPP </H1>
|
|
273 |
<!--docid::SEC4::-->
|
|
274 |
<P>
|
|
275 |
|
|
276 |
<A NAME="IDX26"></A>
|
|
277 |
<A NAME="IDX27"></A>
|
|
278 |
<A NAME="IDX28"></A>
|
|
279 |
<A NAME="IDX29"></A>
|
|
280 |
PSPP conforms to the GNU Coding Standards. PSPP is written in, and
|
|
281 |
requires for proper operation, ANSI/ISO C. You might want to
|
|
282 |
additionally note the following points:
|
|
283 |
</P>
|
|
284 |
<P>
|
|
285 |
|
|
286 |
<UL>
|
|
287 |
<LI>
|
|
288 |
The compiler and linker must allow for significance of several
|
|
289 |
characters in external identifiers. The exact number is unknown but at
|
|
290 |
least 31 is recommended.
|
|
291 |
<P>
|
|
292 |
|
|
293 |
</P>
|
|
294 |
<LI>
|
|
295 |
The <CODE>int</CODE> type must be 32 bits or wider.
|
|
296 |
<P>
|
|
297 |
|
|
298 |
</P>
|
|
299 |
<LI>
|
|
300 |
The recommended compiler is gcc 2.7.2.1 or later, but any ANSI compiler
|
|
301 |
will do if it fits the above criteria.
|
|
302 |
</UL>
|
|
303 |
<P>
|
|
304 |
|
|
305 |
Many UNIX variants should work out-of-the-box, as PSPP uses GNU
|
|
306 |
autoconf to detect differences between environments. Please report any
|
|
307 |
problems with compilation of PSPP under UNIX and UNIX-like operating
|
|
308 |
systems--portability is a major concern of the author.
|
|
309 |
</P>
|
|
310 |
<P>
|
|
311 |
|
|
312 |
The pages below give specific instructions for installing PSPP
|
|
313 |
on each type of system mentioned above.
|
|
314 |
</P>
|
|
315 |
<P>
|
|
316 |
|
|
317 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
318 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Installing on UNIX-like environments.</TD></TR>
|
|
319 |
</TABLE>
|
|
320 |
<P>
|
|
321 |
|
|
322 |
<A NAME="UNIX installation"></A>
|
|
323 |
<HR SIZE="6">
|
|
324 |
<A NAME="SEC5"></A>
|
|
325 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
326 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> < </A>]</TD>
|
|
327 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> > </A>]</TD>
|
|
328 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> << </A>]</TD>
|
|
329 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> Up </A>]</TD>
|
|
330 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> >> </A>]</TD>
|
|
331 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
332 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
333 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
334 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
335 |
</TR></TABLE>
|
|
336 |
<H2> 4.1 UNIX installation </H2>
|
|
337 |
<!--docid::SEC5::-->
|
|
338 |
To install PSPP under a UNIX-like operating system, follow the steps
|
|
339 |
below in order. Some of the text below was taken directly from various
|
|
340 |
Free Software Foundation sources.
|
|
341 |
<P>
|
|
342 |
|
|
343 |
<OL>
|
|
344 |
<LI>
|
|
345 |
<CODE>cd</CODE> to the directory containing the PSPP source.
|
|
346 |
<P>
|
|
347 |
|
|
348 |
<A NAME="IDX30"></A>
|
|
349 |
<A NAME="IDX31"></A>
|
|
350 |
</P>
|
|
351 |
<LI>
|
|
352 |
Type `<SAMP>./configure</SAMP>' to configure for your particular operating
|
|
353 |
system and compiler. Running <CODE>configure</CODE> takes a while. While
|
|
354 |
running, it displays some messages telling which features it is checking
|
|
355 |
for.
|
|
356 |
<P>
|
|
357 |
|
|
358 |
You can optionally supply some options to <CODE>configure</CODE> in order to
|
|
359 |
give it hints about how to do its job. Type <CODE>./configure --help</CODE>
|
|
360 |
to see a list of options. One of the most useful options is
|
|
361 |
`<SAMP>--with-checker</SAMP>', which enables the use of the Checker memory
|
|
362 |
debugger under supported operating systems. Checker must already be
|
|
363 |
installed to use this option. Do not use `<SAMP>--with-checker</SAMP>' if you
|
|
364 |
are not debugging PSPP itself.
|
|
365 |
</P>
|
|
366 |
<P>
|
|
367 |
|
|
368 |
<A NAME="IDX32"></A>
|
|
369 |
<A NAME="IDX33"></A>
|
|
370 |
<A NAME="IDX34"></A>
|
|
371 |
<A NAME="IDX35"></A>
|
|
372 |
</P>
|
|
373 |
<LI>
|
|
374 |
(optional) Edit `<TT>Makefile</TT>', `<TT>config.h</TT>', and `<TT>pref.h</TT>'.
|
|
375 |
These files are produced by <CODE>configure</CODE>. Note that most PSPP
|
|
376 |
settings can be changed at runtime.
|
|
377 |
<P>
|
|
378 |
|
|
379 |
`<TT>pref.h</TT>' is only generated by <CODE>configure</CODE> if it does not
|
|
380 |
already exist. (It's copied from `<TT>prefh.orig</TT>'.)
|
|
381 |
</P>
|
|
382 |
<P>
|
|
383 |
|
|
384 |
<A NAME="IDX36"></A>
|
|
385 |
</P>
|
|
386 |
<LI>
|
|
387 |
Type `<SAMP>make</SAMP>' to compile the package. If there are any errors during
|
|
388 |
compilation, try to fix them. If modifications are necessary to compile
|
|
389 |
correctly under your configuration, contact the author.
|
|
390 |
See section <A HREF="pspp.html#SEC195">Submitting Bug Reports</A>, for details.
|
|
391 |
<P>
|
|
392 |
|
|
393 |
<A NAME="IDX37"></A>
|
|
394 |
</P>
|
|
395 |
<LI>
|
|
396 |
Type `<SAMP>make check</SAMP>' to run self-tests on the compiled PSPP package.
|
|
397 |
<P>
|
|
398 |
|
|
399 |
<A NAME="IDX38"></A>
|
|
400 |
<A NAME="IDX39"></A>
|
|
401 |
<A NAME="IDX40"></A>
|
|
402 |
<A NAME="IDX41"></A>
|
|
403 |
<A NAME="IDX42"></A>
|
|
404 |
<A NAME="IDX43"></A>
|
|
405 |
</P>
|
|
406 |
<LI>
|
|
407 |
Become the superuser and type `<SAMP>make install</SAMP>' to install the
|
|
408 |
PSPP binaries, by default in `<TT>/usr/local/bin/</TT>'. The
|
|
409 |
directory `<TT>/usr/local/share/pspp/</TT>' is created and populated with
|
|
410 |
files needed by PSPP at runtime. This step will also cause the
|
|
411 |
PSPP documentation to be installed in `<TT>/usr/local/info/</TT>',
|
|
412 |
but only if that directory already exists.
|
|
413 |
<P>
|
|
414 |
|
|
415 |
</P>
|
|
416 |
<LI>
|
|
417 |
(optional) Type `<SAMP>make clean</SAMP>' to delete the PSPP binaries
|
|
418 |
from the source tree.
|
|
419 |
</OL>
|
|
420 |
<P>
|
|
421 |
|
|
422 |
<A NAME="Configuration"></A>
|
|
423 |
<HR SIZE="6">
|
|
424 |
<A NAME="SEC6"></A>
|
|
425 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
426 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC5"> < </A>]</TD>
|
|
427 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC7"> > </A>]</TD>
|
|
428 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC4"> << </A>]</TD>
|
|
429 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
430 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
431 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
432 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
433 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
434 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
435 |
</TR></TABLE>
|
|
436 |
<H1> 5. Configuring PSPP </H1>
|
|
437 |
<!--docid::SEC6::-->
|
|
438 |
<P>
|
|
439 |
|
|
440 |
PSPP has dozens of configuration possibilities and hundreds of
|
|
441 |
settings. This is both a bane and a blessing. On one hand, it's
|
|
442 |
possible to easily accommodate diverse ranges of setups. But, on the
|
|
443 |
other, the multitude of possibilities can overwhelm the casual user.
|
|
444 |
Fortunately, the configuration mechanisms are profusely described in the
|
|
445 |
sections below<small>....</small>
|
|
446 |
</P>
|
|
447 |
<P>
|
|
448 |
|
|
449 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
450 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC7">5.1 Locating configuration files</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How PSPP finds config files.</TD></TR>
|
|
451 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC8">5.2 Configuration techniques</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Many different methods of configuration<small>....</small></TD></TR>
|
|
452 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC9">5.3 Configuration files</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How configuration files are read.</TD></TR>
|
|
453 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC10">5.4 Environment variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">All about environment variables.</TD></TR>
|
|
454 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC14">5.5 Output devices</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Describing your terminal(s) and printer(s).</TD></TR>
|
|
455 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC22">5.6 The PostScript driver class</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Configuration of PostScript devices.</TD></TR>
|
|
456 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC30">5.7 The ASCII driver class</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Configuration of character-code devices.</TD></TR>
|
|
457 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC34">5.8 The HTML driver class</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Configuration for HTML output.</TD></TR>
|
|
458 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC36">5.9 Miscellaneous configuration</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Even more configuration variables.</TD></TR>
|
|
459 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC37">5.10 Improving output quality</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Hints for producing ever-more-lovely output.</TD></TR>
|
|
460 |
</TABLE>
|
|
461 |
<P>
|
|
462 |
|
|
463 |
<A NAME="File locations"></A>
|
|
464 |
<HR SIZE="6">
|
|
465 |
<A NAME="SEC7"></A>
|
|
466 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
467 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> < </A>]</TD>
|
|
468 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC8"> > </A>]</TD>
|
|
469 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
470 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
471 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
472 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
473 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
474 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
475 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
476 |
</TR></TABLE>
|
|
477 |
<H2> 5.1 Locating configuration files </H2>
|
|
478 |
<!--docid::SEC7::-->
|
|
479 |
<P>
|
|
480 |
|
|
481 |
PSPP uses the same method to find most of its configuration files:
|
|
482 |
</P>
|
|
483 |
<P>
|
|
484 |
|
|
485 |
<OL>
|
|
486 |
<LI>
|
|
487 |
The <EM>base name</EM> of the file being sought is determined.
|
|
488 |
<P>
|
|
489 |
|
|
490 |
</P>
|
|
491 |
<LI>
|
|
492 |
The path to search is determined.
|
|
493 |
<P>
|
|
494 |
|
|
495 |
</P>
|
|
496 |
<LI>
|
|
497 |
Each directory in the search path, from left to right, is searched for a
|
|
498 |
file with the name of the base name. The first occurrence is read
|
|
499 |
as the configuration file.
|
|
500 |
</OL>
|
|
501 |
<P>
|
|
502 |
|
|
503 |
The first two steps are elaborated below for the sake of our pedantic
|
|
504 |
friends.
|
|
505 |
</P>
|
|
506 |
<P>
|
|
507 |
|
|
508 |
<OL>
|
|
509 |
<LI>
|
|
510 |
A <EM>base name</EM> is a file name lacking an absolute directory
|
|
511 |
reference. Some examples of base names are: `<TT>ps-encodings</TT>',
|
|
512 |
`<TT>devices</TT>', `<TT>devps/DESC</TT>' (under UNIX), `<TT>devps\DESC</TT>' (under
|
|
513 |
M$ environments).
|
|
514 |
<P>
|
|
515 |
|
|
516 |
Determining the base name is a two-step process:
|
|
517 |
</P>
|
|
518 |
<P>
|
|
519 |
|
|
520 |
<OL>
|
|
521 |
<LI>
|
|
522 |
If the appropriate environment variable is defined, the value of that
|
|
523 |
variable is used (see section <A HREF="pspp.html#SEC10">5.4 Environment variables</A>). For instance, when
|
|
524 |
searching for the output driver initialization file, the variable
|
|
525 |
examined is <CODE>STAT_OUTPUT_INIT_FILE</CODE>.
|
|
526 |
<P>
|
|
527 |
|
|
528 |
</P>
|
|
529 |
<LI>
|
|
530 |
Otherwise, the compiled-in default is used. For example, when searching
|
|
531 |
for the output driver initialization file, the default base name is
|
|
532 |
`<TT>devices</TT>'.
|
|
533 |
</OL>
|
|
534 |
<P>
|
|
535 |
|
|
536 |
<STRONG>Please note:</STRONG> If a user-specified base name does contain an
|
|
537 |
absolute directory reference, as in a file name like
|
|
538 |
`<TT>/home/pfaff/fonts/TR</TT>', no path is searched--the file name is used
|
|
539 |
exactly as given--and the algorithm terminates.
|
|
540 |
</P>
|
|
541 |
<P>
|
|
542 |
|
|
543 |
</P>
|
|
544 |
<LI>
|
|
545 |
The path is the first of the following that is defined:
|
|
546 |
<P>
|
|
547 |
|
|
548 |
<UL>
|
|
549 |
<LI>
|
|
550 |
A variable definition for the path given in the user environment. This
|
|
551 |
is a PSPP-specific environment variable name; for instance,
|
|
552 |
<CODE>STAT_OUTPUT_INIT_PATH</CODE>.
|
|
553 |
<P>
|
|
554 |
|
|
555 |
</P>
|
|
556 |
<LI>
|
|
557 |
In some cases, another, less-specific environment variable is checked.
|
|
558 |
For instance, when searching for font files, the PostScript driver first
|
|
559 |
checks for a variable with name <CODE>STAT_GROFF_FONT_PATH</CODE>, then for
|
|
560 |
one with name <CODE>GROFF_FONT_PATH</CODE>. (However, font searching has its
|
|
561 |
own list of esoteric search rules.)
|
|
562 |
<P>
|
|
563 |
|
|
564 |
</P>
|
|
565 |
<LI>
|
|
566 |
The configuration file path, which is itself determined by the
|
|
567 |
following rules:
|
|
568 |
<P>
|
|
569 |
|
|
570 |
<OL>
|
|
571 |
<LI>
|
|
572 |
If the command line contains an option of the form `<SAMP>-B <VAR>path</VAR></SAMP>'
|
|
573 |
or `<SAMP>--config-dir=<VAR>path</VAR></SAMP>', then the value given on the
|
|
574 |
rightmost occurrence of such an option is used.
|
|
575 |
<P>
|
|
576 |
|
|
577 |
</P>
|
|
578 |
<LI>
|
|
579 |
Otherwise, if the environment variable <CODE>STAT_CONFIG_PATH</CODE> is
|
|
580 |
defined, the value of that variable is used.
|
|
581 |
<P>
|
|
582 |
|
|
583 |
</P>
|
|
584 |
<LI>
|
|
585 |
Otherwise, the compiled-in fallback default is used. On UNIX machines,
|
|
586 |
the default fallback path is
|
|
587 |
<P>
|
|
588 |
|
|
589 |
<OL>
|
|
590 |
<LI>
|
|
591 |
`<TT>~/.pspp</TT>'
|
|
592 |
<P>
|
|
593 |
|
|
594 |
</P>
|
|
595 |
<LI>
|
|
596 |
`<TT>/usr/local/lib/pspp</TT>'
|
|
597 |
<P>
|
|
598 |
|
|
599 |
</P>
|
|
600 |
<LI>
|
|
601 |
`<TT>/usr/lib/pspp</TT>'
|
|
602 |
</OL>
|
|
603 |
<P>
|
|
604 |
|
|
605 |
On DOS machines, the default fallback path is:
|
|
606 |
</P>
|
|
607 |
<P>
|
|
608 |
|
|
609 |
<OL>
|
|
610 |
<LI>
|
|
611 |
All the paths from the DOS search path in the `<SAMP>PATH</SAMP>' environment
|
|
612 |
variable, in left-to-right order.
|
|
613 |
<P>
|
|
614 |
|
|
615 |
</P>
|
|
616 |
<LI>
|
|
617 |
`<TT>C:\PSPP</TT>', as a last resort.
|
|
618 |
</OL>
|
|
619 |
<P>
|
|
620 |
|
|
621 |
Note that the installer of PSPP can easily change this default
|
|
622 |
fallback path; thus the above should not be taken as gospel.
|
|
623 |
</OL>
|
|
624 |
</UL>
|
|
625 |
</OL>
|
|
626 |
<P>
|
|
627 |
|
|
628 |
As a final note: Under DOS, directories given in paths are delimited by
|
|
629 |
semicolons (`<SAMP>;</SAMP>'); under UNIX, directories are delimited by colons
|
|
630 |
(`<SAMP>:</SAMP>'). This corresponds with the standard path delimiter under
|
|
631 |
these OSes.
|
|
632 |
</P>
|
|
633 |
<P>
|
|
634 |
|
|
635 |
<A NAME="Configuration techniques"></A>
|
|
636 |
<HR SIZE="6">
|
|
637 |
<A NAME="SEC8"></A>
|
|
638 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
639 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC7"> < </A>]</TD>
|
|
640 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC9"> > </A>]</TD>
|
|
641 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
642 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
643 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
644 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
645 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
646 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
647 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
648 |
</TR></TABLE>
|
|
649 |
<H2> 5.2 Configuration techniques </H2>
|
|
650 |
<!--docid::SEC8::-->
|
|
651 |
<P>
|
|
652 |
|
|
653 |
There are many ways that PSPP can be configured. These are
|
|
654 |
described in the list below. Values given by earlier items take
|
|
655 |
precedence over those given by later items.
|
|
656 |
</P>
|
|
657 |
<P>
|
|
658 |
|
|
659 |
<OL>
|
|
660 |
<LI>
|
|
661 |
Syntax commands that modify settings, such as <CODE>SET</CODE>.
|
|
662 |
<P>
|
|
663 |
|
|
664 |
</P>
|
|
665 |
<LI>
|
|
666 |
Command-line options. See section <A HREF="pspp.html#SEC38">6. Invoking PSPP</A>.
|
|
667 |
<P>
|
|
668 |
|
|
669 |
</P>
|
|
670 |
<LI>
|
|
671 |
PSPP-specific environment variable contents. See section <A HREF="pspp.html#SEC10">5.4 Environment variables</A>.
|
|
672 |
<P>
|
|
673 |
|
|
674 |
</P>
|
|
675 |
<LI>
|
|
676 |
General environment variable contents. See section <A HREF="pspp.html#SEC10">5.4 Environment variables</A>.
|
|
677 |
<P>
|
|
678 |
|
|
679 |
</P>
|
|
680 |
<LI>
|
|
681 |
Configuration file contents. See section <A HREF="pspp.html#SEC9">5.3 Configuration files</A>.
|
|
682 |
<P>
|
|
683 |
|
|
684 |
</P>
|
|
685 |
<LI>
|
|
686 |
Fallback defaults.
|
|
687 |
</OL>
|
|
688 |
<P>
|
|
689 |
|
|
690 |
Some of the above may not apply to a particular setting. For instance,
|
|
691 |
the current pager (such as `<SAMP>more</SAMP>', `<SAMP>most</SAMP>', or `<SAMP>less</SAMP>')
|
|
692 |
cannot be determined by configuration file contents because there is no
|
|
693 |
appropriate configuration file.
|
|
694 |
</P>
|
|
695 |
<P>
|
|
696 |
|
|
697 |
<A NAME="Configuration files"></A>
|
|
698 |
<HR SIZE="6">
|
|
699 |
<A NAME="SEC9"></A>
|
|
700 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
701 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC8"> < </A>]</TD>
|
|
702 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC10"> > </A>]</TD>
|
|
703 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
704 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
705 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
706 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
707 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
708 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
709 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
710 |
</TR></TABLE>
|
|
711 |
<H2> 5.3 Configuration files </H2>
|
|
712 |
<!--docid::SEC9::-->
|
|
713 |
<P>
|
|
714 |
|
|
715 |
Most configuration files have a common form:
|
|
716 |
</P>
|
|
717 |
<P>
|
|
718 |
|
|
719 |
<UL>
|
|
720 |
<LI>
|
|
721 |
Each line forms a separate command or directive. This means that lines
|
|
722 |
cannot be broken up, unless they are spliced together with a trailing
|
|
723 |
backslash, as described below.
|
|
724 |
<P>
|
|
725 |
|
|
726 |
</P>
|
|
727 |
<LI>
|
|
728 |
Before anything else is done, trailing whitespace is removed.
|
|
729 |
<P>
|
|
730 |
|
|
731 |
</P>
|
|
732 |
<LI>
|
|
733 |
When a line ends in a backslash (`<SAMP>\</SAMP>'), the backslash is removed,
|
|
734 |
and the next line is read and appended to the current line.
|
|
735 |
<P>
|
|
736 |
|
|
737 |
<UL>
|
|
738 |
<LI>
|
|
739 |
Whitespace preceding the backslash is retained.
|
|
740 |
<P>
|
|
741 |
|
|
742 |
</P>
|
|
743 |
<LI>
|
|
744 |
This rule continues to be applied until the line read does not end in a
|
|
745 |
backslash.
|
|
746 |
<P>
|
|
747 |
|
|
748 |
</P>
|
|
749 |
<LI>
|
|
750 |
It is an error if the last line in the file ends in a backslash.
|
|
751 |
</UL>
|
|
752 |
<P>
|
|
753 |
|
|
754 |
</P>
|
|
755 |
<LI>
|
|
756 |
Comments are introduced by an octothorpe (#), and continue until the
|
|
757 |
end of the line.
|
|
758 |
<P>
|
|
759 |
|
|
760 |
<UL>
|
|
761 |
<LI>
|
|
762 |
An octothorpe inside balanced pairs of double quotation marks (`<SAMP>"</SAMP>')
|
|
763 |
or single quotation marks (`<SAMP>'</SAMP>') does not introduce a comment.
|
|
764 |
<P>
|
|
765 |
|
|
766 |
</P>
|
|
767 |
<LI>
|
|
768 |
The backslash character can be used inside balanced quotes of either
|
|
769 |
type to escape the following character as a literal character.
|
|
770 |
<P>
|
|
771 |
|
|
772 |
(This is distinct from the use of a backslash as a line-splicing
|
|
773 |
character.)
|
|
774 |
</P>
|
|
775 |
<P>
|
|
776 |
|
|
777 |
</P>
|
|
778 |
<LI>
|
|
779 |
Line splicing takes place before comment removal.
|
|
780 |
</UL>
|
|
781 |
<P>
|
|
782 |
|
|
783 |
</P>
|
|
784 |
<LI>
|
|
785 |
Blank lines, and lines that contain only whitespace, are ignored.
|
|
786 |
</UL>
|
|
787 |
<P>
|
|
788 |
|
|
789 |
<A NAME="Environment variables"></A>
|
|
790 |
<HR SIZE="6">
|
|
791 |
<A NAME="SEC10"></A>
|
|
792 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
793 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC9"> < </A>]</TD>
|
|
794 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC11"> > </A>]</TD>
|
|
795 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
796 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
797 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
798 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
799 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
800 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
801 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
802 |
</TR></TABLE>
|
|
803 |
<H2> 5.4 Environment variables </H2>
|
|
804 |
<!--docid::SEC10::-->
|
|
805 |
<P>
|
|
806 |
|
|
807 |
You may think the concept of environment variables is a fairly simple
|
|
808 |
one. However, the author of PSPP has found a way to complicate
|
|
809 |
even something so simple. Environment variables are further described
|
|
810 |
in the sections below:
|
|
811 |
</P>
|
|
812 |
<P>
|
|
813 |
|
|
814 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
815 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC11">5.4.1 Values of environment variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Values of variables are determined this way.</TD></TR>
|
|
816 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How environment substitutions are made.</TD></TR>
|
|
817 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC13">5.4.3 Predefined environment variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">A few variables are automatically defined.</TD></TR>
|
|
818 |
</TABLE>
|
|
819 |
<P>
|
|
820 |
|
|
821 |
<A NAME="Variable values"></A>
|
|
822 |
<HR SIZE="6">
|
|
823 |
<A NAME="SEC11"></A>
|
|
824 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
825 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC10"> < </A>]</TD>
|
|
826 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC12"> > </A>]</TD>
|
|
827 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
828 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC10"> Up </A>]</TD>
|
|
829 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
830 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
831 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
832 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
833 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
834 |
</TR></TABLE>
|
|
835 |
<H3> 5.4.1 Values of environment variables </H3>
|
|
836 |
<!--docid::SEC11::-->
|
|
837 |
<P>
|
|
838 |
|
|
839 |
Values for environment variables are obtained by the following means,
|
|
840 |
which are arranged in order of decreasing precedence:
|
|
841 |
</P>
|
|
842 |
<P>
|
|
843 |
|
|
844 |
<OL>
|
|
845 |
<LI>
|
|
846 |
Command-line options. See section <A HREF="pspp.html#SEC38">6. Invoking PSPP</A>.
|
|
847 |
<P>
|
|
848 |
|
|
849 |
</P>
|
|
850 |
<LI>
|
|
851 |
The `<TT>environment</TT>' configuration file--more on this below.
|
|
852 |
<P>
|
|
853 |
|
|
854 |
</P>
|
|
855 |
<LI>
|
|
856 |
Actual environment variables (defined in the shell or other parent
|
|
857 |
process).
|
|
858 |
</OL>
|
|
859 |
<P>
|
|
860 |
|
|
861 |
The `<TT>environment</TT>' configuration file is located through application
|
|
862 |
of the usual algorithm for configuration files (see section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>),
|
|
863 |
except that its contents do not affect the search path used to find
|
|
864 |
`<TT>environment</TT>' itself. Use of `<TT>environment</TT>' is discouraged on
|
|
865 |
systems that allow an arbitrarily large environment; it is supported for
|
|
866 |
use on systems like MS-DOS that limit environment size.
|
|
867 |
</P>
|
|
868 |
<P>
|
|
869 |
|
|
870 |
`<TT>environment</TT>' is composed of lines having the form
|
|
871 |
`<SAMP><VAR>key</VAR>=<VAR>value</VAR></SAMP>', where <VAR>key</VAR> and the equals sign
|
|
872 |
(`<SAMP>=</SAMP>') are required, and <VAR>value</VAR> is optional. If <VAR>value</VAR> is
|
|
873 |
given, variable <VAR>key</VAR> is given that value; if <VAR>value</VAR> is absent,
|
|
874 |
variable <VAR>key</VAR> is undefined (deleted). Variables may not be defined
|
|
875 |
with a null value.
|
|
876 |
</P>
|
|
877 |
<P>
|
|
878 |
|
|
879 |
Environment substitutions are performed on each line in the file
|
|
880 |
(see section <A HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A>).
|
|
881 |
</P>
|
|
882 |
<P>
|
|
883 |
|
|
884 |
See <A HREF="pspp.html#SEC9">5.3 Configuration files</A>, for more details on formatting of the
|
|
885 |
environment configuration file.
|
|
886 |
</P>
|
|
887 |
<P>
|
|
888 |
|
|
889 |
<BLOCKQUOTE>
|
|
890 |
<STRONG>Please note:</STRONG> Support for `<TT>environment</TT>' is not yet
|
|
891 |
implemented.
|
|
892 |
</BLOCKQUOTE>
|
|
893 |
<P>
|
|
894 |
|
|
895 |
<A NAME="Environment substitutions"></A>
|
|
896 |
<HR SIZE="6">
|
|
897 |
<A NAME="SEC12"></A>
|
|
898 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
899 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC11"> < </A>]</TD>
|
|
900 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC13"> > </A>]</TD>
|
|
901 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
902 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC10"> Up </A>]</TD>
|
|
903 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
904 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
905 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
906 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
907 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
908 |
</TR></TABLE>
|
|
909 |
<H3> 5.4.2 Environment substitutions </H3>
|
|
910 |
<!--docid::SEC12::-->
|
|
911 |
<P>
|
|
912 |
|
|
913 |
Much of the power of environment variables lies in the way that they may
|
|
914 |
be substituted into configuration files. Variable substitutions are
|
|
915 |
described below.
|
|
916 |
</P>
|
|
917 |
<P>
|
|
918 |
|
|
919 |
The line is scanned from left to right. In this scan, all characters
|
|
920 |
other than dollar signs (`<SAMP>$</SAMP>') are retained unmolested. Dollar
|
|
921 |
signs, however, introduce an environment variable reference. References
|
|
922 |
take three forms:
|
|
923 |
</P>
|
|
924 |
<P>
|
|
925 |
|
|
926 |
</P>
|
|
927 |
<DL COMPACT>
|
|
928 |
<DT><CODE>$<VAR>var</VAR></CODE>
|
|
929 |
<DD>Replaced by the value of environment variable <VAR>var</VAR>, determined as
|
|
930 |
specified in <A HREF="pspp.html#SEC11">5.4.1 Values of environment variables</A>. <VAR>var</VAR> must be one of the
|
|
931 |
following:
|
|
932 |
<P>
|
|
933 |
|
|
934 |
<UL>
|
|
935 |
<LI>
|
|
936 |
One or more letters.
|
|
937 |
<P>
|
|
938 |
|
|
939 |
</P>
|
|
940 |
<LI>
|
|
941 |
Exactly one nonalphabetic character. This may not be a left brace
|
|
942 |
(`<SAMP>{</SAMP>').
|
|
943 |
</UL>
|
|
944 |
<P>
|
|
945 |
|
|
946 |
</P>
|
|
947 |
<DT><CODE>${<VAR>var</VAR>}</CODE>
|
|
948 |
<DD>Same as above, but <VAR>var</VAR> may contain any character (except
|
|
949 |
`<SAMP>}</SAMP>').
|
|
950 |
<P>
|
|
951 |
|
|
952 |
</P>
|
|
953 |
<DT><CODE>$$</CODE>
|
|
954 |
<DD>Replaced by a single dollar sign.
|
|
955 |
</DL>
|
|
956 |
<P>
|
|
957 |
|
|
958 |
Undefined variables expand to a empty value.
|
|
959 |
</P>
|
|
960 |
<P>
|
|
961 |
|
|
962 |
<A NAME="Predefined variables"></A>
|
|
963 |
<HR SIZE="6">
|
|
964 |
<A NAME="SEC13"></A>
|
|
965 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
966 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC12"> < </A>]</TD>
|
|
967 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> > </A>]</TD>
|
|
968 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
969 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC10"> Up </A>]</TD>
|
|
970 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
971 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
972 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
973 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
974 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
975 |
</TR></TABLE>
|
|
976 |
<H3> 5.4.3 Predefined environment variables </H3>
|
|
977 |
<!--docid::SEC13::-->
|
|
978 |
<P>
|
|
979 |
|
|
980 |
There are two environment variables predefined for use in environment
|
|
981 |
substitutions:
|
|
982 |
</P>
|
|
983 |
<P>
|
|
984 |
|
|
985 |
</P>
|
|
986 |
<DL COMPACT>
|
|
987 |
<DT>`<SAMP>VER</SAMP>'
|
|
988 |
<DD>Defined as the version number of PSPP, as a string, in a format
|
|
989 |
something like `<SAMP>0.9.4</SAMP>'.
|
|
990 |
<P>
|
|
991 |
|
|
992 |
</P>
|
|
993 |
<DT>`<SAMP>ARCH</SAMP>'
|
|
994 |
<DD>Defined as the host architecture of PSPP, as a string, in standard
|
|
995 |
cpu-manufacturer-OS format. For instance, Debian GNU/Linux 1.1 on an
|
|
996 |
Intel machine defines this as `<SAMP>i586-unknown-linux</SAMP>'. This is
|
|
997 |
somewhat dependent on the system used to compile PSPP.
|
|
998 |
</DL>
|
|
999 |
<P>
|
|
1000 |
|
|
1001 |
Nothing prevents these values from being overridden, although it's a
|
|
1002 |
good idea not to do so.
|
|
1003 |
</P>
|
|
1004 |
<P>
|
|
1005 |
|
|
1006 |
<A NAME="Output devices"></A>
|
|
1007 |
<HR SIZE="6">
|
|
1008 |
<A NAME="SEC14"></A>
|
|
1009 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1010 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC13"> < </A>]</TD>
|
|
1011 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC15"> > </A>]</TD>
|
|
1012 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1013 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
1014 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1015 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1016 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1017 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1018 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1019 |
</TR></TABLE>
|
|
1020 |
<H2> 5.5 Output devices </H2>
|
|
1021 |
<!--docid::SEC14::-->
|
|
1022 |
<P>
|
|
1023 |
|
|
1024 |
Configuring output devices is the most complicated aspect of configuring
|
|
1025 |
PSPP. The output device configuration file is named
|
|
1026 |
`<TT>devices</TT>'. It is searched for using the usual algorithm for
|
|
1027 |
finding configuration files (see section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>). Each line in the
|
|
1028 |
file is read in the usual manner for configuration files
|
|
1029 |
(see section <A HREF="pspp.html#SEC9">5.3 Configuration files</A>).
|
|
1030 |
</P>
|
|
1031 |
<P>
|
|
1032 |
|
|
1033 |
Lines in `<TT>devices</TT>' are divided into three categories, described
|
|
1034 |
briefly in the table below:
|
|
1035 |
</P>
|
|
1036 |
<P>
|
|
1037 |
|
|
1038 |
</P>
|
|
1039 |
<DL COMPACT>
|
|
1040 |
<DT><I>driver category definitions</I>
|
|
1041 |
<DD>Define a driver in terms of other drivers.
|
|
1042 |
<P>
|
|
1043 |
|
|
1044 |
</P>
|
|
1045 |
<DT><I>macro definitions</I>
|
|
1046 |
<DD>Define environment variables local to the the output driver
|
|
1047 |
configuration file.
|
|
1048 |
<P>
|
|
1049 |
|
|
1050 |
</P>
|
|
1051 |
<DT><I>device definitions</I>
|
|
1052 |
<DD>Describe the configuration of an output device.
|
|
1053 |
</DL>
|
|
1054 |
<P>
|
|
1055 |
|
|
1056 |
The following sections further elaborate the contents of the
|
|
1057 |
`<TT>devices</TT>' file.
|
|
1058 |
</P>
|
|
1059 |
<P>
|
|
1060 |
|
|
1061 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
1062 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC15">5.5.1 Driver categories</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How to organize the driver namespace.</TD></TR>
|
|
1063 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC16">5.5.2 Macro definitions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Environment variables local to `<TT>devices</TT>'.</TD></TR>
|
|
1064 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC17">5.5.3 Driver definitions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Output device descriptions.</TD></TR>
|
|
1065 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC18">5.5.4 Dimensions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Lengths, widths, sizes, <small>....</small></TD></TR>
|
|
1066 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC19">5.5.5 Paper sizes</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Letter, legal, A4, envelope, <small>....</small></TD></TR>
|
|
1067 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC20">5.5.6 How lines are divided into types</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Details on `<TT>devices</TT>' parsing.</TD></TR>
|
|
1068 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC21">5.5.7 How lines are divided into tokens</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Dividing `<TT>devices</TT>' lines into tokens.</TD></TR>
|
|
1069 |
</TABLE>
|
|
1070 |
<P>
|
|
1071 |
|
|
1072 |
<A NAME="Driver categories"></A>
|
|
1073 |
<HR SIZE="6">
|
|
1074 |
<A NAME="SEC15"></A>
|
|
1075 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1076 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> < </A>]</TD>
|
|
1077 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC16"> > </A>]</TD>
|
|
1078 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1079 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1080 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1081 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1082 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1083 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1084 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1085 |
</TR></TABLE>
|
|
1086 |
<H3> 5.5.1 Driver categories </H3>
|
|
1087 |
<!--docid::SEC15::-->
|
|
1088 |
<P>
|
|
1089 |
|
|
1090 |
Drivers can be divided into categories. Drivers are specified by their
|
|
1091 |
names, or by the names of the categories that they are contained in.
|
|
1092 |
Only certain drivers are enabled each time PSPP is run; by
|
|
1093 |
default, these are the drivers in the category `default'. To enable a
|
|
1094 |
different set of drivers, use the `<SAMP>-o <VAR>device</VAR></SAMP>' command-line
|
|
1095 |
option (see section <A HREF="pspp.html#SEC38">6. Invoking PSPP</A>).
|
|
1096 |
</P>
|
|
1097 |
<P>
|
|
1098 |
|
|
1099 |
Categories are specified with a line of the form
|
|
1100 |
`<SAMP><VAR>category</VAR>=<VAR>driver1</VAR> <VAR>driver2</VAR> <VAR>driver3</VAR> <VAR><small>...</small></VAR>
|
|
1101 |
<VAR>driver<VAR>n</VAR></VAR></SAMP>'. This line specifies that the category
|
|
1102 |
<VAR>category</VAR> is composed of drivers named <VAR>driver1</VAR>,
|
|
1103 |
<VAR>driver2</VAR>, and so on. There may be any number of drivers in the
|
|
1104 |
category, from zero on up.
|
|
1105 |
</P>
|
|
1106 |
<P>
|
|
1107 |
|
|
1108 |
Categories may also be specified on the command line
|
|
1109 |
(see section <A HREF="pspp.html#SEC38">6. Invoking PSPP</A>).
|
|
1110 |
</P>
|
|
1111 |
<P>
|
|
1112 |
|
|
1113 |
This is all you need to know about categories. If you're still curious,
|
|
1114 |
read on.
|
|
1115 |
</P>
|
|
1116 |
<P>
|
|
1117 |
|
|
1118 |
First of all, the term `categories' is a bit of a misnomer. In fact,
|
|
1119 |
the internal representation is nothing like the hierarchy that the term
|
|
1120 |
seems to imply: a linear list is used to keep track of the enabled
|
|
1121 |
drivers.
|
|
1122 |
</P>
|
|
1123 |
<P>
|
|
1124 |
|
|
1125 |
When PSPP first begins reading `<TT>devices</TT>', this list contains
|
|
1126 |
the name of any drivers or categories specified on the command line, or
|
|
1127 |
the single item `default' if none were specified.
|
|
1128 |
</P>
|
|
1129 |
<P>
|
|
1130 |
|
|
1131 |
Each time a category definition is specified, the list is searched for
|
|
1132 |
an item with the value of <VAR>category</VAR>. If a matching item is found,
|
|
1133 |
it is deleted. If there was a match, the list of drivers (<VAR>driver1</VAR>
|
|
1134 |
through <VAR>driver<VAR>n</VAR></VAR>) is then appended to the list.
|
|
1135 |
</P>
|
|
1136 |
<P>
|
|
1137 |
|
|
1138 |
Each time a driver definition line is encountered, the list is searched.
|
|
1139 |
If the list contains an item with that driver's name, the driver is
|
|
1140 |
enabled and the item is deleted from the list. Otherwise, the driver
|
|
1141 |
is not enabled.
|
|
1142 |
</P>
|
|
1143 |
<P>
|
|
1144 |
|
|
1145 |
It is an error if the list is not empty when the end of `<TT>devices</TT>'
|
|
1146 |
is reached.
|
|
1147 |
</P>
|
|
1148 |
<P>
|
|
1149 |
|
|
1150 |
<A NAME="Macro definitions"></A>
|
|
1151 |
<HR SIZE="6">
|
|
1152 |
<A NAME="SEC16"></A>
|
|
1153 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1154 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC15"> < </A>]</TD>
|
|
1155 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC17"> > </A>]</TD>
|
|
1156 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1157 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1158 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1159 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1160 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1161 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1162 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1163 |
</TR></TABLE>
|
|
1164 |
<H3> 5.5.2 Macro definitions </H3>
|
|
1165 |
<!--docid::SEC16::-->
|
|
1166 |
<P>
|
|
1167 |
|
|
1168 |
Macro definitions take the form `<SAMP>define <VAR>macroname</VAR>
|
|
1169 |
<VAR>definition</VAR></SAMP>'. In such a macro definition, the environment variable
|
|
1170 |
<VAR>macroname</VAR> is defined to expand to the value <VAR>definition</VAR>.
|
|
1171 |
Before the definition is made, however, any macros used in
|
|
1172 |
<VAR>definition</VAR> are expanded.
|
|
1173 |
</P>
|
|
1174 |
<P>
|
|
1175 |
|
|
1176 |
Please note the following nuances of macro usage:
|
|
1177 |
</P>
|
|
1178 |
<P>
|
|
1179 |
|
|
1180 |
<UL>
|
|
1181 |
<LI>
|
|
1182 |
For the purposes of this section, <EM>macro</EM> and <EM>environment
|
|
1183 |
variable</EM> are synonyms.
|
|
1184 |
<P>
|
|
1185 |
|
|
1186 |
</P>
|
|
1187 |
<LI>
|
|
1188 |
Macros may not take arguments.
|
|
1189 |
<P>
|
|
1190 |
|
|
1191 |
</P>
|
|
1192 |
<LI>
|
|
1193 |
Macros may not recurse.
|
|
1194 |
<P>
|
|
1195 |
|
|
1196 |
</P>
|
|
1197 |
<LI>
|
|
1198 |
Macros are just environment variable definitions like other environment
|
|
1199 |
variable definitions, with the exception that they are limited in scope
|
|
1200 |
to the `<TT>devices</TT>' configuration file.
|
|
1201 |
<P>
|
|
1202 |
|
|
1203 |
</P>
|
|
1204 |
<LI>
|
|
1205 |
Macros override other all environment variables of the same name (within
|
|
1206 |
the scope of `<TT>devices</TT>').
|
|
1207 |
<P>
|
|
1208 |
|
|
1209 |
</P>
|
|
1210 |
<LI>
|
|
1211 |
Earlier macro definitions for a particular <VAR>key</VAR> override later
|
|
1212 |
ones. In particular, macro definitions on the command line override
|
|
1213 |
those in the device definition file. See section <A HREF="pspp.html#SEC39">6.1 Non-option Arguments</A>.
|
|
1214 |
<P>
|
|
1215 |
|
|
1216 |
</P>
|
|
1217 |
<LI>
|
|
1218 |
There are two predefined macros, whose values are determined at runtime:
|
|
1219 |
<P>
|
|
1220 |
|
|
1221 |
</P>
|
|
1222 |
<DL COMPACT>
|
|
1223 |
<DT>`<SAMP>viewwidth</SAMP>'
|
|
1224 |
<DD>Defined as the width of the console screen, in columns of text.
|
|
1225 |
<P>
|
|
1226 |
|
|
1227 |
</P>
|
|
1228 |
<DT>`<SAMP>viewlength</SAMP>'
|
|
1229 |
<DD>Defined as the length of the console screen, in lines of text.
|
|
1230 |
</DL>
|
|
1231 |
</UL>
|
|
1232 |
<P>
|
|
1233 |
|
|
1234 |
<A NAME="Device definitions"></A>
|
|
1235 |
<HR SIZE="6">
|
|
1236 |
<A NAME="SEC17"></A>
|
|
1237 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1238 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC16"> < </A>]</TD>
|
|
1239 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC18"> > </A>]</TD>
|
|
1240 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1241 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1242 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1243 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1244 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1245 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1246 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1247 |
</TR></TABLE>
|
|
1248 |
<H3> 5.5.3 Driver definitions </H3>
|
|
1249 |
<!--docid::SEC17::-->
|
|
1250 |
<P>
|
|
1251 |
|
|
1252 |
Driver definitions are the ultimate purpose of the `<TT>devices</TT>'
|
|
1253 |
configuration file. These are where the real action is. Driver
|
|
1254 |
definitions tell PSPP where it should send its output.
|
|
1255 |
</P>
|
|
1256 |
<P>
|
|
1257 |
|
|
1258 |
Each driver definition line is divided into four fields. These fields
|
|
1259 |
are delimited by colons (`<SAMP>:</SAMP>'). Each line is subjected to
|
|
1260 |
environment variable interpolation before it is processed further
|
|
1261 |
(see section <A HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A>). From left to right, the four
|
|
1262 |
fields are, in brief:
|
|
1263 |
</P>
|
|
1264 |
<P>
|
|
1265 |
|
|
1266 |
</P>
|
|
1267 |
<DL COMPACT>
|
|
1268 |
<DT><I>driver name</I>
|
|
1269 |
<DD>A unique identifier, used to determine whether to enable the driver.
|
|
1270 |
<P>
|
|
1271 |
|
|
1272 |
</P>
|
|
1273 |
<DT><I>class name</I>
|
|
1274 |
<DD>One of the predefined driver classes supported by PSPP. The
|
|
1275 |
currently supported driver classes include `postscript' and `ascii'.
|
|
1276 |
<P>
|
|
1277 |
|
|
1278 |
</P>
|
|
1279 |
<DT><I>device type(s)</I>
|
|
1280 |
<DD>Zero or more of the following keywords, delimited by spaces:
|
|
1281 |
<P>
|
|
1282 |
|
|
1283 |
</P>
|
|
1284 |
<DL COMPACT>
|
|
1285 |
<DT><CODE>screen</CODE>
|
|
1286 |
<DD><P>
|
|
1287 |
|
|
1288 |
Indicates that the device is a screen display. This may reduce the
|
|
1289 |
amount of buffering done by the driver, to make interactive use more
|
|
1290 |
convenient.
|
|
1291 |
</P>
|
|
1292 |
<P>
|
|
1293 |
|
|
1294 |
</P>
|
|
1295 |
<DT><CODE>printer</CODE>
|
|
1296 |
<DD><P>
|
|
1297 |
|
|
1298 |
Indicates that the device is a printer.
|
|
1299 |
</P>
|
|
1300 |
<P>
|
|
1301 |
|
|
1302 |
</P>
|
|
1303 |
<DT><CODE>listing</CODE>
|
|
1304 |
<DD><P>
|
|
1305 |
|
|
1306 |
Indicates that the device is a listing file.
|
|
1307 |
</DL>
|
|
1308 |
<P>
|
|
1309 |
|
|
1310 |
These options are just hints to PSPP and do not cause the output to be
|
|
1311 |
directed to the screen, or to the printer, or to a listing file--those
|
|
1312 |
must be set elsewhere in the options. They are used primarily to decide
|
|
1313 |
which devices should be enabled at any given time. See section <A HREF="pspp.html#SEC166">16.10 SET</A>, for more
|
|
1314 |
information.
|
|
1315 |
</P>
|
|
1316 |
<P>
|
|
1317 |
|
|
1318 |
</P>
|
|
1319 |
<DT><I>options</I>
|
|
1320 |
<DD>An optional set of options to pass to the driver itself. The exact
|
|
1321 |
format for the options varies among drivers.
|
|
1322 |
</DL>
|
|
1323 |
<P>
|
|
1324 |
|
|
1325 |
The driver is enabled if:
|
|
1326 |
</P>
|
|
1327 |
<P>
|
|
1328 |
|
|
1329 |
<OL>
|
|
1330 |
<LI>
|
|
1331 |
Its driver name is specified on the command line, or
|
|
1332 |
<P>
|
|
1333 |
|
|
1334 |
</P>
|
|
1335 |
<LI>
|
|
1336 |
It's in a category specified on the command line, or
|
|
1337 |
<P>
|
|
1338 |
|
|
1339 |
</P>
|
|
1340 |
<LI>
|
|
1341 |
If no categories or driver names are specified on the command line, it
|
|
1342 |
is in category <CODE>default</CODE>.
|
|
1343 |
</OL>
|
|
1344 |
<P>
|
|
1345 |
|
|
1346 |
For more information on driver names, see <A HREF="pspp.html#SEC15">5.5.1 Driver categories</A>.
|
|
1347 |
</P>
|
|
1348 |
<P>
|
|
1349 |
|
|
1350 |
The class name must be one of those supported by PSPP. The
|
|
1351 |
classes supported depend on the options with which PSPP was
|
|
1352 |
compiled. See later sections in this chapter for descriptions of the
|
|
1353 |
available driver classes.
|
|
1354 |
</P>
|
|
1355 |
<P>
|
|
1356 |
|
|
1357 |
Options are dependent on the driver. See the driver descriptions for
|
|
1358 |
details.
|
|
1359 |
</P>
|
|
1360 |
<P>
|
|
1361 |
|
|
1362 |
<A NAME="Dimensions"></A>
|
|
1363 |
<HR SIZE="6">
|
|
1364 |
<A NAME="SEC18"></A>
|
|
1365 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1366 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC17"> < </A>]</TD>
|
|
1367 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC19"> > </A>]</TD>
|
|
1368 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1369 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1370 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1371 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1372 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1373 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1374 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1375 |
</TR></TABLE>
|
|
1376 |
<H3> 5.5.4 Dimensions </H3>
|
|
1377 |
<!--docid::SEC18::-->
|
|
1378 |
<P>
|
|
1379 |
|
|
1380 |
Quite often in configuration it is necessary to specify a length or a
|
|
1381 |
size. PSPP uses a common syntax for all such, calling them
|
|
1382 |
collectively by the name <EM>dimensions</EM>.
|
|
1383 |
</P>
|
|
1384 |
<P>
|
|
1385 |
|
|
1386 |
<UL>
|
|
1387 |
<LI>
|
|
1388 |
You can specify dimensions in decimal form (`<SAMP>12.5</SAMP>') or as
|
|
1389 |
fractions, either as mixed numbers (`<SAMP>12-1/2</SAMP>') or raw fractions
|
|
1390 |
(`<SAMP>25/2</SAMP>').
|
|
1391 |
<P>
|
|
1392 |
|
|
1393 |
</P>
|
|
1394 |
<LI>
|
|
1395 |
A number of different units are available. These are suffixed to the
|
|
1396 |
numeric part of the dimension. There must be no spaces between the
|
|
1397 |
number and the unit. The available units are identical to those offered
|
|
1398 |
by the popular typesetting system TeX:
|
|
1399 |
<P>
|
|
1400 |
|
|
1401 |
</P>
|
|
1402 |
<DL COMPACT>
|
|
1403 |
<DT><CODE>in</CODE>
|
|
1404 |
<DD>inch (1 <CODE>in</CODE> = 2.54 <CODE>cm</CODE>)
|
|
1405 |
<P>
|
|
1406 |
|
|
1407 |
</P>
|
|
1408 |
<DT><CODE>"</CODE>
|
|
1409 |
<DD>inch (1 <CODE>in</CODE> = 2.54 <CODE>cm</CODE>)
|
|
1410 |
<P>
|
|
1411 |
|
|
1412 |
</P>
|
|
1413 |
<DT><CODE>pt</CODE>
|
|
1414 |
<DD>printer's point (1 <CODE>in</CODE> = 72.27 <CODE>pt</CODE>)
|
|
1415 |
<P>
|
|
1416 |
|
|
1417 |
</P>
|
|
1418 |
<DT><CODE>pc</CODE>
|
|
1419 |
<DD>pica (12 <CODE>pt</CODE> = 1 <CODE>pc</CODE>)
|
|
1420 |
<P>
|
|
1421 |
|
|
1422 |
</P>
|
|
1423 |
<DT><CODE>bp</CODE>
|
|
1424 |
<DD>PostScript point (1 <CODE>in</CODE> = 72 <CODE>bp</CODE>)
|
|
1425 |
<P>
|
|
1426 |
|
|
1427 |
</P>
|
|
1428 |
<DT><CODE>cm</CODE>
|
|
1429 |
<DD>centimeter
|
|
1430 |
<P>
|
|
1431 |
|
|
1432 |
</P>
|
|
1433 |
<DT><CODE>mm</CODE>
|
|
1434 |
<DD>millimeter (10 <CODE>mm</CODE> = 1 <CODE>cm</CODE>)
|
|
1435 |
<P>
|
|
1436 |
|
|
1437 |
</P>
|
|
1438 |
<DT><CODE>dd</CODE>
|
|
1439 |
<DD>didot point (1157 <CODE>dd</CODE> = 1238 <CODE>pt</CODE>)
|
|
1440 |
<P>
|
|
1441 |
|
|
1442 |
</P>
|
|
1443 |
<DT><CODE>cc</CODE>
|
|
1444 |
<DD>cicero (1 <CODE>cc</CODE> = 12 <CODE>dd</CODE>)
|
|
1445 |
<P>
|
|
1446 |
|
|
1447 |
</P>
|
|
1448 |
<DT><CODE>sp</CODE>
|
|
1449 |
<DD>scaled point (65536 <CODE>sp</CODE> = 1 <CODE>pt</CODE>)
|
|
1450 |
</DL>
|
|
1451 |
<P>
|
|
1452 |
|
|
1453 |
</P>
|
|
1454 |
<LI>
|
|
1455 |
If no explicit unit is given, a DWIM<A NAME="DOCF1" HREF="pspp.html#FOOT1">(1)</A>
|
|
1456 |
"feature" attempts to guess the best unit:
|
|
1457 |
<P>
|
|
1458 |
|
|
1459 |
<UL>
|
|
1460 |
<LI>
|
|
1461 |
Numbers less than 50 are assumed to be in inches.
|
|
1462 |
<P>
|
|
1463 |
|
|
1464 |
</P>
|
|
1465 |
<LI>
|
|
1466 |
Numbers 50 or greater are assumed to be in millimeters.
|
|
1467 |
</UL>
|
|
1468 |
</UL>
|
|
1469 |
<P>
|
|
1470 |
|
|
1471 |
<A NAME="papersize"></A>
|
|
1472 |
<HR SIZE="6">
|
|
1473 |
<A NAME="SEC19"></A>
|
|
1474 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1475 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC18"> < </A>]</TD>
|
|
1476 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC20"> > </A>]</TD>
|
|
1477 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1478 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1479 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1480 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1481 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1482 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1483 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1484 |
</TR></TABLE>
|
|
1485 |
<H3> 5.5.5 Paper sizes </H3>
|
|
1486 |
<!--docid::SEC19::-->
|
|
1487 |
<P>
|
|
1488 |
|
|
1489 |
Output drivers usually deal with some sort of hardcopy media. This
|
|
1490 |
media is called <EM>paper</EM> by the drivers, though in reality it could
|
|
1491 |
be a transparency or film or thinly veiled sarcasm. To make it easier
|
|
1492 |
for you to deal with paper, PSPP allows you to have (of course!) a
|
|
1493 |
configuration file that gives symbolic names, like "letter" or
|
|
1494 |
"legal" or "a4", to paper sizes, rather than forcing you to use
|
|
1495 |
cryptic numbers like "8-1/2 x 11" or "210 by 297". Surprisingly
|
|
1496 |
enough, this configuration file is named `<TT>papersize</TT>'.
|
|
1497 |
See section <A HREF="pspp.html#SEC9">5.3 Configuration files</A>.
|
|
1498 |
</P>
|
|
1499 |
<P>
|
|
1500 |
|
|
1501 |
When PSPP tries to connect a symbolic paper name to a paper size, it
|
|
1502 |
reads and parses each non-comment line in the file, in order. The first
|
|
1503 |
field on each line must be a symbolic paper name in double quotes.
|
|
1504 |
Paper names may not contain double quotes. Paper names are not
|
|
1505 |
case-sensitive: `<SAMP>legal</SAMP>' and `<SAMP>Legal</SAMP>' are equivalent.
|
|
1506 |
</P>
|
|
1507 |
<P>
|
|
1508 |
|
|
1509 |
If a match is found for the paper name, the rest of the line is parsed.
|
|
1510 |
If it is found to be a pair of dimensions (see section <A HREF="pspp.html#SEC18">5.5.4 Dimensions</A>) separated
|
|
1511 |
by either `<SAMP>x</SAMP>' or `<SAMP>by</SAMP>', then those are taken to be the paper
|
|
1512 |
size, in order of width followed by length. There <EM>must</EM> be at
|
|
1513 |
least one space on each side of `<SAMP>x</SAMP>' or `<SAMP>by</SAMP>'.
|
|
1514 |
</P>
|
|
1515 |
<P>
|
|
1516 |
|
|
1517 |
Otherwise the line must be of the form
|
|
1518 |
`<SAMP>"<VAR>paper-1</VAR>"="<VAR>paper-2</VAR>"</SAMP>'. In this case the target of the
|
|
1519 |
search becomes paper name <VAR>paper-2</VAR> and the search through the file
|
|
1520 |
continues.
|
|
1521 |
</P>
|
|
1522 |
<P>
|
|
1523 |
|
|
1524 |
<A NAME="Distinguishing line types"></A>
|
|
1525 |
<HR SIZE="6">
|
|
1526 |
<A NAME="SEC20"></A>
|
|
1527 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1528 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC19"> < </A>]</TD>
|
|
1529 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC21"> > </A>]</TD>
|
|
1530 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1531 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1532 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1533 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1534 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1535 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1536 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1537 |
</TR></TABLE>
|
|
1538 |
<H3> 5.5.6 How lines are divided into types </H3>
|
|
1539 |
<!--docid::SEC20::-->
|
|
1540 |
<P>
|
|
1541 |
|
|
1542 |
The lines in `<TT>devices</TT>' are distinguished in the following manner:
|
|
1543 |
</P>
|
|
1544 |
<P>
|
|
1545 |
|
|
1546 |
<OL>
|
|
1547 |
<LI>
|
|
1548 |
Leading whitespace is removed.
|
|
1549 |
<P>
|
|
1550 |
|
|
1551 |
</P>
|
|
1552 |
<LI>
|
|
1553 |
If the resulting line begins with the exact string <CODE>define</CODE>,
|
|
1554 |
followed by one or more whitespace characters, the line is processed as
|
|
1555 |
a macro definition.
|
|
1556 |
<P>
|
|
1557 |
|
|
1558 |
</P>
|
|
1559 |
<LI>
|
|
1560 |
Otherwise, the line is scanned for the first instance of a colon
|
|
1561 |
(`<SAMP>:</SAMP>') or an equals sign (`<SAMP>=</SAMP>').
|
|
1562 |
<P>
|
|
1563 |
|
|
1564 |
</P>
|
|
1565 |
<LI>
|
|
1566 |
If a colon is encountered first, the line is processed as a driver
|
|
1567 |
definition.
|
|
1568 |
<P>
|
|
1569 |
|
|
1570 |
</P>
|
|
1571 |
<LI>
|
|
1572 |
Otherwise, if an equals sign is encountered, the line is processed as a
|
|
1573 |
macro definition.
|
|
1574 |
<P>
|
|
1575 |
|
|
1576 |
</P>
|
|
1577 |
<LI>
|
|
1578 |
Otherwise, the line is ill-formed.
|
|
1579 |
</OL>
|
|
1580 |
<P>
|
|
1581 |
|
|
1582 |
<A NAME="Tokenizing lines"></A>
|
|
1583 |
<HR SIZE="6">
|
|
1584 |
<A NAME="SEC21"></A>
|
|
1585 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1586 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC20"> < </A>]</TD>
|
|
1587 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> > </A>]</TD>
|
|
1588 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1589 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC14"> Up </A>]</TD>
|
|
1590 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1591 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1592 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1593 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1594 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1595 |
</TR></TABLE>
|
|
1596 |
<H3> 5.5.7 How lines are divided into tokens </H3>
|
|
1597 |
<!--docid::SEC21::-->
|
|
1598 |
<P>
|
|
1599 |
|
|
1600 |
Each driver definition line is run through a simple tokenizer. This
|
|
1601 |
tokenizer recognizes two basic types of tokens.
|
|
1602 |
</P>
|
|
1603 |
<P>
|
|
1604 |
|
|
1605 |
The first type is an equals sign (`<SAMP>=</SAMP>'). Equals signs are both
|
|
1606 |
delimiters between tokens and tokens in themselves.
|
|
1607 |
</P>
|
|
1608 |
<P>
|
|
1609 |
|
|
1610 |
The second type is an identifier or string token. Identifiers and
|
|
1611 |
strings are equivalent after tokenization, though they are written
|
|
1612 |
differently. An identifier is any string of characters other than
|
|
1613 |
whitespace or equals sign.
|
|
1614 |
</P>
|
|
1615 |
<P>
|
|
1616 |
|
|
1617 |
A string is introduced by a single- or double-quote character (`<SAMP>'</SAMP>'
|
|
1618 |
or `<SAMP>"</SAMP>') and, in general, continues until the next occurrence of
|
|
1619 |
that same character. The following standard C escapes can also be
|
|
1620 |
embedded within strings:
|
|
1621 |
</P>
|
|
1622 |
<P>
|
|
1623 |
|
|
1624 |
</P>
|
|
1625 |
<DL COMPACT>
|
|
1626 |
<DT><CODE>\'</CODE>
|
|
1627 |
<DD>A single-quote (`<SAMP>'</SAMP>').
|
|
1628 |
<P>
|
|
1629 |
|
|
1630 |
</P>
|
|
1631 |
<DT><CODE>\"</CODE>
|
|
1632 |
<DD>A double-quote (`<SAMP>"</SAMP>').
|
|
1633 |
<P>
|
|
1634 |
|
|
1635 |
</P>
|
|
1636 |
<DT><CODE>\?</CODE>
|
|
1637 |
<DD>A question mark (`<SAMP>?</SAMP>'). Included for hysterical raisins.
|
|
1638 |
<P>
|
|
1639 |
|
|
1640 |
</P>
|
|
1641 |
<DT><CODE>\\</CODE>
|
|
1642 |
<DD>A backslash (`<SAMP>\</SAMP>').
|
|
1643 |
<P>
|
|
1644 |
|
|
1645 |
</P>
|
|
1646 |
<DT><CODE>\a</CODE>
|
|
1647 |
<DD>Audio bell (ASCII 7).
|
|
1648 |
<P>
|
|
1649 |
|
|
1650 |
</P>
|
|
1651 |
<DT><CODE>\b</CODE>
|
|
1652 |
<DD>Backspace (ASCII 8).
|
|
1653 |
<P>
|
|
1654 |
|
|
1655 |
</P>
|
|
1656 |
<DT><CODE>\f</CODE>
|
|
1657 |
<DD>Formfeed (ASCII 12).
|
|
1658 |
<P>
|
|
1659 |
|
|
1660 |
</P>
|
|
1661 |
<DT><CODE>\n</CODE>
|
|
1662 |
<DD>Newline (ASCII 10)
|
|
1663 |
<P>
|
|
1664 |
|
|
1665 |
</P>
|
|
1666 |
<DT><CODE>\r</CODE>
|
|
1667 |
<DD>Carriage return (ASCII 13).
|
|
1668 |
<P>
|
|
1669 |
|
|
1670 |
</P>
|
|
1671 |
<DT><CODE>\t</CODE>
|
|
1672 |
<DD>Tab (ASCII 9).
|
|
1673 |
<P>
|
|
1674 |
|
|
1675 |
</P>
|
|
1676 |
<DT><CODE>\v</CODE>
|
|
1677 |
<DD>Vertical tab (ASCII 11).
|
|
1678 |
<P>
|
|
1679 |
|
|
1680 |
</P>
|
|
1681 |
<DT><CODE>\<VAR>o</VAR><VAR>o</VAR><VAR>o</VAR></CODE>
|
|
1682 |
<DD>Each `<SAMP>o</SAMP>' must be an octal digit. The character is the one having
|
|
1683 |
the octal value specified. Any number of octal digits is read and
|
|
1684 |
interpreted; only the lower 8 bits are used.
|
|
1685 |
<P>
|
|
1686 |
|
|
1687 |
</P>
|
|
1688 |
<DT><CODE>\x<VAR>h</VAR><VAR>h</VAR></CODE>
|
|
1689 |
<DD>Each `<SAMP>h</SAMP>' must be a hex digit. The character is the one having the
|
|
1690 |
hexadecimal value specified. Any number of hex digits is read and
|
|
1691 |
interpreted; only the lower 8 bits are used.
|
|
1692 |
</DL>
|
|
1693 |
<P>
|
|
1694 |
|
|
1695 |
Tokens, outside of quoted strings, are delimited by whitespace or equals
|
|
1696 |
signs.
|
|
1697 |
</P>
|
|
1698 |
<P>
|
|
1699 |
|
|
1700 |
<A NAME="PostScript driver class"></A>
|
|
1701 |
<HR SIZE="6">
|
|
1702 |
<A NAME="SEC22"></A>
|
|
1703 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1704 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC21"> < </A>]</TD>
|
|
1705 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC23"> > </A>]</TD>
|
|
1706 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1707 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
1708 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1709 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1710 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1711 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1712 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1713 |
</TR></TABLE>
|
|
1714 |
<H2> 5.6 The PostScript driver class </H2>
|
|
1715 |
<!--docid::SEC22::-->
|
|
1716 |
<P>
|
|
1717 |
|
|
1718 |
The <CODE>postscript</CODE> driver class is used to produce output that is
|
|
1719 |
acceptable to PostScript printers and to PC-based PostScript
|
|
1720 |
interpreters such as Ghostscript. Continuing a long tradition,
|
|
1721 |
PSPP's PostScript driver is configurable to the point of
|
|
1722 |
absurdity.
|
|
1723 |
</P>
|
|
1724 |
<P>
|
|
1725 |
|
|
1726 |
There are actually two PostScript drivers. The first one,
|
|
1727 |
`<SAMP>postscript</SAMP>', produces ordinary DSC-compliant PostScript output.
|
|
1728 |
The second one `<SAMP>epsf</SAMP>', produces an Encapsulated PostScript file.
|
|
1729 |
The two drivers are otherwise identical in configuration and in
|
|
1730 |
operation.
|
|
1731 |
</P>
|
|
1732 |
<P>
|
|
1733 |
|
|
1734 |
The PostScript driver is described in further detail below.
|
|
1735 |
</P>
|
|
1736 |
<P>
|
|
1737 |
|
|
1738 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
1739 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC23">5.6.1 PostScript output options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Output file options.</TD></TR>
|
|
1740 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC24">5.6.2 PostScript page options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Paper, margins, scaling & rotation, more!</TD></TR>
|
|
1741 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC25">5.6.3 PostScript file options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Configuration files.</TD></TR>
|
|
1742 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC26">5.6.4 PostScript font options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Default fonts, font options.</TD></TR>
|
|
1743 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC27">5.6.5 PostScript line options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Line widths, options.</TD></TR>
|
|
1744 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC28">5.6.6 The PostScript prologue</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Details on the PostScript prologue.</TD></TR>
|
|
1745 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC29">5.6.7 PostScript encodings</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Details on PostScript font encodings.</TD></TR>
|
|
1746 |
</TABLE>
|
|
1747 |
<P>
|
|
1748 |
|
|
1749 |
<A NAME="PS output options"></A>
|
|
1750 |
<HR SIZE="6">
|
|
1751 |
<A NAME="SEC23"></A>
|
|
1752 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1753 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> < </A>]</TD>
|
|
1754 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC24"> > </A>]</TD>
|
|
1755 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1756 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
1757 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1758 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1759 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1760 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1761 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1762 |
</TR></TABLE>
|
|
1763 |
<H3> 5.6.1 PostScript output options </H3>
|
|
1764 |
<!--docid::SEC23::-->
|
|
1765 |
<P>
|
|
1766 |
|
|
1767 |
These options deal with the form of the output and the output file
|
|
1768 |
itself:
|
|
1769 |
</P>
|
|
1770 |
<P>
|
|
1771 |
|
|
1772 |
</P>
|
|
1773 |
<DL COMPACT>
|
|
1774 |
<DT><CODE>output-file=<VAR>filename</VAR></CODE>
|
|
1775 |
<DD><P>
|
|
1776 |
|
|
1777 |
File to which output should be sent. This can be an ordinary filename
|
|
1778 |
(i.e., <CODE>"pspp.ps"</CODE>), a pipe filename (i.e., <CODE>"|lpr"</CODE>), or
|
|
1779 |
stdout (<CODE>"-"</CODE>). Default: <CODE>"pspp.ps"</CODE>.
|
|
1780 |
</P>
|
|
1781 |
<P>
|
|
1782 |
|
|
1783 |
</P>
|
|
1784 |
<DT><CODE>color=<VAR>boolean</VAR></CODE>
|
|
1785 |
<DD><P>
|
|
1786 |
|
|
1787 |
Most of the time black-and-white PostScript devices are smart enough to
|
|
1788 |
map colors to shades themselves. However, you can cause the PSPP
|
|
1789 |
output driver to do an ugly simulation of this in its own driver by
|
|
1790 |
turning <CODE>color</CODE> off. Default: <CODE>on</CODE>.
|
|
1791 |
</P>
|
|
1792 |
<P>
|
|
1793 |
|
|
1794 |
This is a boolean setting, as are many settings in the PostScript
|
|
1795 |
driver. Valid positive boolean values are `<SAMP>on</SAMP>', `<SAMP>true</SAMP>',
|
|
1796 |
`<SAMP>yes</SAMP>', and nonzero integers. Negative boolean values are
|
|
1797 |
`<SAMP>off</SAMP>', `<SAMP>false</SAMP>', `<SAMP>no</SAMP>', and zero.
|
|
1798 |
</P>
|
|
1799 |
<P>
|
|
1800 |
|
|
1801 |
</P>
|
|
1802 |
<DT><CODE>data=<VAR>data-type</VAR></CODE>
|
|
1803 |
<DD><P>
|
|
1804 |
|
|
1805 |
One of <CODE>clean7bit</CODE>, <CODE>clean8bit</CODE>, or <CODE>binary</CODE>. This
|
|
1806 |
controls what characters will be written to the output file. PostScript
|
|
1807 |
produced with <CODE>clean7bit</CODE> can be transmitted over 7-bit
|
|
1808 |
transmission channels that use ASCII control characters for line
|
|
1809 |
control. <CODE>clean8bit</CODE> is similar but allows characters above 127 to
|
|
1810 |
be written to the output file. <CODE>binary</CODE> allows any character in
|
|
1811 |
the output file. Default: <CODE>clean7bit</CODE>.
|
|
1812 |
</P>
|
|
1813 |
<P>
|
|
1814 |
|
|
1815 |
</P>
|
|
1816 |
<DT><CODE>line-ends=<VAR>line-end-type</VAR></CODE>
|
|
1817 |
<DD><P>
|
|
1818 |
|
|
1819 |
One of <CODE>cr</CODE>, <CODE>lf</CODE>, or <CODE>crlf</CODE>. This controls what is used
|
|
1820 |
for newline in the output file. Default: <CODE>cr</CODE>.
|
|
1821 |
</P>
|
|
1822 |
<P>
|
|
1823 |
|
|
1824 |
</P>
|
|
1825 |
<DT><CODE>optimize-line-size=<VAR>level</VAR></CODE>
|
|
1826 |
<DD><P>
|
|
1827 |
|
|
1828 |
Either <CODE>0</CODE> or <CODE>1</CODE>. If <VAR>level</VAR> is <CODE>1</CODE>, then short
|
|
1829 |
line segments will be collected and merged into longer ones. This
|
|
1830 |
reduces output file size but requires more time and memory. A
|
|
1831 |
<VAR>level</VAR> of <CODE>0</CODE> has the advantage of being better for
|
|
1832 |
interactive environments. <CODE>1</CODE> is the default unless the
|
|
1833 |
<CODE>screen</CODE> flag is set; in that case, the default is <CODE>0</CODE>.
|
|
1834 |
</P>
|
|
1835 |
<P>
|
|
1836 |
|
|
1837 |
</P>
|
|
1838 |
<DT><CODE>optimize-text-size=<VAR>level</VAR></CODE>
|
|
1839 |
<DD><P>
|
|
1840 |
|
|
1841 |
One of <CODE>0</CODE>, <CODE>1</CODE>, or <CODE>2</CODE>, each higher level representing
|
|
1842 |
correspondingly more aggressive space savings for text in the output
|
|
1843 |
file and requiring correspondingly more time and memory. Unfortunately
|
|
1844 |
the levels presently are all the same. <CODE>1</CODE> is the default unless
|
|
1845 |
the <CODE>screen</CODE> flag is set; in that case, the default is <CODE>0</CODE>.
|
|
1846 |
</DL>
|
|
1847 |
<P>
|
|
1848 |
|
|
1849 |
<A NAME="PS page options"></A>
|
|
1850 |
<HR SIZE="6">
|
|
1851 |
<A NAME="SEC24"></A>
|
|
1852 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1853 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC23"> < </A>]</TD>
|
|
1854 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC25"> > </A>]</TD>
|
|
1855 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1856 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
1857 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1858 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1859 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1860 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1861 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1862 |
</TR></TABLE>
|
|
1863 |
<H3> 5.6.2 PostScript page options </H3>
|
|
1864 |
<!--docid::SEC24::-->
|
|
1865 |
<P>
|
|
1866 |
|
|
1867 |
These options affect page setup:
|
|
1868 |
</P>
|
|
1869 |
<P>
|
|
1870 |
|
|
1871 |
</P>
|
|
1872 |
<DL COMPACT>
|
|
1873 |
<DT><CODE>headers=<VAR>boolean</VAR></CODE>
|
|
1874 |
<DD><P>
|
|
1875 |
|
|
1876 |
Controls whether the standard headers showing the time and date and
|
|
1877 |
title and subtitle are printed at the top of each page. Default:
|
|
1878 |
<CODE>on</CODE>.
|
|
1879 |
</P>
|
|
1880 |
<P>
|
|
1881 |
|
|
1882 |
</P>
|
|
1883 |
<DT><CODE>paper-size=<VAR>paper-size</VAR></CODE>
|
|
1884 |
<DD><P>
|
|
1885 |
|
|
1886 |
Paper size, either as a symbolic name (i.e., <CODE>letter</CODE> or <CODE>a4</CODE>)
|
|
1887 |
or specific measurements (i.e., <CODE>8-1/2x11</CODE> or <CODE>"210 x 297"</CODE>.
|
|
1888 |
See section <A HREF="pspp.html#SEC19">Paper sizes</A>. Default: <CODE>letter</CODE>.
|
|
1889 |
</P>
|
|
1890 |
<P>
|
|
1891 |
|
|
1892 |
</P>
|
|
1893 |
<DT><CODE>orientation=<VAR>orientation</VAR></CODE>
|
|
1894 |
<DD><P>
|
|
1895 |
|
|
1896 |
Either <CODE>portrait</CODE> or <CODE>landscape</CODE>. Default: <CODE>portrait</CODE>.
|
|
1897 |
</P>
|
|
1898 |
<P>
|
|
1899 |
|
|
1900 |
</P>
|
|
1901 |
<DT><CODE>left-margin=<VAR>dimension</VAR></CODE>
|
|
1902 |
<DD><DT><CODE>right-margin=<VAR>dimension</VAR></CODE>
|
|
1903 |
<DD><DT><CODE>top-margin=<VAR>dimension</VAR></CODE>
|
|
1904 |
<DD><DT><CODE>bottom-margin=<VAR>dimension</VAR></CODE>
|
|
1905 |
<DD><P>
|
|
1906 |
|
|
1907 |
Sets the margins around the page. The headers, if enabled, are not
|
|
1908 |
included in the margins; they are in addition to the margins. For a
|
|
1909 |
description of dimensions, see <A HREF="pspp.html#SEC18">5.5.4 Dimensions</A>. Default: <CODE>0.5in</CODE>.
|
|
1910 |
</P>
|
|
1911 |
<P>
|
|
1912 |
|
|
1913 |
</DL>
|
|
1914 |
<P>
|
|
1915 |
|
|
1916 |
<A NAME="PS file options"></A>
|
|
1917 |
<HR SIZE="6">
|
|
1918 |
<A NAME="SEC25"></A>
|
|
1919 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
1920 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC24"> < </A>]</TD>
|
|
1921 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC26"> > </A>]</TD>
|
|
1922 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
1923 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
1924 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
1925 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
1926 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
1927 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
1928 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
1929 |
</TR></TABLE>
|
|
1930 |
<H3> 5.6.3 PostScript file options </H3>
|
|
1931 |
<!--docid::SEC25::-->
|
|
1932 |
<P>
|
|
1933 |
|
|
1934 |
Oh, my. You don't really want to know about the way that the PostScript
|
|
1935 |
driver deals with files, do you? Well I suppose you're entitled, but I
|
|
1936 |
warn you right now: it's not pretty. Here goes<small>....</small>
|
|
1937 |
</P>
|
|
1938 |
<P>
|
|
1939 |
|
|
1940 |
First let's look at the options that are available:
|
|
1941 |
</P>
|
|
1942 |
<P>
|
|
1943 |
|
|
1944 |
</P>
|
|
1945 |
<DL COMPACT>
|
|
1946 |
|
|
1947 |
<DT><CODE>font-dir=<VAR>font-directory</VAR></CODE>
|
|
1948 |
<DD><P>
|
|
1949 |
|
|
1950 |
Sets the font directory. Default: <CODE>devps</CODE>.
|
|
1951 |
</P>
|
|
1952 |
<P>
|
|
1953 |
|
|
1954 |
</P>
|
|
1955 |
<DT><CODE>prologue-file=<VAR>prologue-file-name</VAR></CODE>
|
|
1956 |
<DD><P>
|
|
1957 |
|
|
1958 |
Sets the name of the PostScript prologue file. You can write your own
|
|
1959 |
prologue, though I have no idea why you'd want to: see <A HREF="pspp.html#SEC28">5.6.6 The PostScript prologue</A>.
|
|
1960 |
Default: <CODE>ps-prologue</CODE>.
|
|
1961 |
</P>
|
|
1962 |
<P>
|
|
1963 |
|
|
1964 |
</P>
|
|
1965 |
<DT><CODE>device-file=<VAR>device-file-name</VAR></CODE>
|
|
1966 |
<DD><P>
|
|
1967 |
|
|
1968 |
Sets the name of the Groff-format device description file. The
|
|
1969 |
PostScript driver reads this in order to know about the scaling of fonts
|
|
1970 |
and so on. The format of such files is described in groff_font(5),
|
|
1971 |
included with Groff. Default: <CODE>DESC</CODE>.
|
|
1972 |
</P>
|
|
1973 |
<P>
|
|
1974 |
|
|
1975 |
</P>
|
|
1976 |
<DT><CODE>encoding-file=<VAR>encoding-file-name</VAR></CODE>
|
|
1977 |
<DD><P>
|
|
1978 |
|
|
1979 |
Sets the name of the encoding file. This file contains a list of all
|
|
1980 |
font encodings that will be needed so that the driver can put all of
|
|
1981 |
them at the top of the prologue. See section <A HREF="pspp.html#SEC29">5.6.7 PostScript encodings</A>. Default:
|
|
1982 |
<CODE>ps-encodings</CODE>.
|
|
1983 |
</P>
|
|
1984 |
<P>
|
|
1985 |
|
|
1986 |
If the specified encoding file cannot be found, this error will be
|
|
1987 |
silently ignored, since most people do not need any encodings besides
|
|
1988 |
the ones that can be found using <CODE>auto-encodings</CODE>, described below.
|
|
1989 |
</P>
|
|
1990 |
<P>
|
|
1991 |
|
|
1992 |
</P>
|
|
1993 |
<DT><CODE>auto-encode=<VAR>boolean</VAR></CODE>
|
|
1994 |
<DD><P>
|
|
1995 |
|
|
1996 |
When enabled, the font encodings needed by the default proportional- and
|
|
1997 |
fixed-pitch fonts will automatically be dumped to the PostScript
|
|
1998 |
output. Otherwise, it is assumed that the user has an encoding file
|
|
1999 |
and knows how to use it (see section <A HREF="pspp.html#SEC29">5.6.7 PostScript encodings</A>). There is probably no good
|
|
2000 |
reason to turn off this convenient feature. Default: <CODE>on</CODE>.
|
|
2001 |
</P>
|
|
2002 |
<P>
|
|
2003 |
|
|
2004 |
</DL>
|
|
2005 |
<P>
|
|
2006 |
|
|
2007 |
Next I suppose it's time to describe the search algorithm. When the
|
|
2008 |
PostScript driver needs a file, whether that file be a font, a
|
|
2009 |
PostScript prologue, or what you will, it searches in this manner:
|
|
2010 |
</P>
|
|
2011 |
<P>
|
|
2012 |
|
|
2013 |
<OL>
|
|
2014 |
|
|
2015 |
<LI>
|
|
2016 |
Constructs a path by taking the first of the following that is defined:
|
|
2017 |
<P>
|
|
2018 |
|
|
2019 |
<OL>
|
|
2020 |
|
|
2021 |
<LI>
|
|
2022 |
Environment variable <CODE>STAT_GROFF_FONT_PATH</CODE>. See section <A HREF="pspp.html#SEC10">5.4 Environment variables</A>.
|
|
2023 |
<P>
|
|
2024 |
|
|
2025 |
</P>
|
|
2026 |
<LI>
|
|
2027 |
Environment variable <CODE>GROFF_FONT_PATH</CODE>.
|
|
2028 |
<P>
|
|
2029 |
|
|
2030 |
</P>
|
|
2031 |
<LI>
|
|
2032 |
The compiled-in fallback default.
|
|
2033 |
</OL>
|
|
2034 |
<P>
|
|
2035 |
|
|
2036 |
</P>
|
|
2037 |
<LI>
|
|
2038 |
Constructs a base name from concatenating, in order, the font directory,
|
|
2039 |
a path separator (`<SAMP>/</SAMP>' or `<SAMP>\</SAMP>'), and the file to be found. A
|
|
2040 |
typical base name would be something like <CODE>devps/ps-encodings</CODE>.
|
|
2041 |
<P>
|
|
2042 |
|
|
2043 |
</P>
|
|
2044 |
<LI>
|
|
2045 |
Searches for the base name in the path constructed above. If the file
|
|
2046 |
is found, the algorithm terminates.
|
|
2047 |
<P>
|
|
2048 |
|
|
2049 |
</P>
|
|
2050 |
<LI>
|
|
2051 |
Searches for the base name in the standard configuration path. See
|
|
2052 |
<A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>, for more details. If the file is found, the
|
|
2053 |
algorithm terminates.
|
|
2054 |
<P>
|
|
2055 |
|
|
2056 |
</P>
|
|
2057 |
<LI>
|
|
2058 |
At this point we remove the font directory and path separator from the
|
|
2059 |
base name. Now the base name is simply the file to be found, i.e.,
|
|
2060 |
<CODE>ps-encodings</CODE>.
|
|
2061 |
<P>
|
|
2062 |
|
|
2063 |
</P>
|
|
2064 |
<LI>
|
|
2065 |
Searches for the base name in the path constructed in the first step.
|
|
2066 |
If the file is found, the algorithm terminates.
|
|
2067 |
<P>
|
|
2068 |
|
|
2069 |
</P>
|
|
2070 |
<LI>
|
|
2071 |
Searches for the base name in the standard configuration path. If the
|
|
2072 |
file is found, the algorithm terminates.
|
|
2073 |
<P>
|
|
2074 |
|
|
2075 |
</P>
|
|
2076 |
<LI>
|
|
2077 |
The algorithm terminates unsuccessfully.
|
|
2078 |
</OL>
|
|
2079 |
<P>
|
|
2080 |
|
|
2081 |
So, as you see, there are several ways to configure the PostScript
|
|
2082 |
drivers. Careful selection of techniques can make the configuration
|
|
2083 |
very flexible indeed.
|
|
2084 |
</P>
|
|
2085 |
<P>
|
|
2086 |
|
|
2087 |
<A NAME="PS font options"></A>
|
|
2088 |
<HR SIZE="6">
|
|
2089 |
<A NAME="SEC26"></A>
|
|
2090 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2091 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC25"> < </A>]</TD>
|
|
2092 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC27"> > </A>]</TD>
|
|
2093 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2094 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
2095 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2096 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2097 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2098 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2099 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2100 |
</TR></TABLE>
|
|
2101 |
<H3> 5.6.4 PostScript font options </H3>
|
|
2102 |
<!--docid::SEC26::-->
|
|
2103 |
<P>
|
|
2104 |
|
|
2105 |
The list of available font options is short and sweet:
|
|
2106 |
</P>
|
|
2107 |
<P>
|
|
2108 |
|
|
2109 |
</P>
|
|
2110 |
<DL COMPACT>
|
|
2111 |
<DT><CODE>prop-font=<VAR>font-name</VAR></CODE>
|
|
2112 |
<DD><P>
|
|
2113 |
|
|
2114 |
Sets the default proportional font. The name should be that of a
|
|
2115 |
PostScript font. Default: <CODE>"Helvetica"</CODE>.
|
|
2116 |
</P>
|
|
2117 |
<P>
|
|
2118 |
|
|
2119 |
</P>
|
|
2120 |
<DT><CODE>fixed-font=<VAR>font-name</VAR></CODE>
|
|
2121 |
<DD><P>
|
|
2122 |
|
|
2123 |
Sets the default fixed-pitch font. The name should be that of a
|
|
2124 |
PostScript font. Default: <CODE>"Courier"</CODE>.
|
|
2125 |
</P>
|
|
2126 |
<P>
|
|
2127 |
|
|
2128 |
</P>
|
|
2129 |
<DT><CODE>font-size=<VAR>font-size</VAR></CODE>
|
|
2130 |
<DD><P>
|
|
2131 |
|
|
2132 |
Sets the size of the default fonts, in thousandths of a point. Default:
|
|
2133 |
<CODE>10000</CODE>.
|
|
2134 |
</P>
|
|
2135 |
<P>
|
|
2136 |
|
|
2137 |
</DL>
|
|
2138 |
<P>
|
|
2139 |
|
|
2140 |
<A NAME="PS line options"></A>
|
|
2141 |
<HR SIZE="6">
|
|
2142 |
<A NAME="SEC27"></A>
|
|
2143 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2144 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC26"> < </A>]</TD>
|
|
2145 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC28"> > </A>]</TD>
|
|
2146 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2147 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
2148 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2149 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2150 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2151 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2152 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2153 |
</TR></TABLE>
|
|
2154 |
<H3> 5.6.5 PostScript line options </H3>
|
|
2155 |
<!--docid::SEC27::-->
|
|
2156 |
<P>
|
|
2157 |
|
|
2158 |
Most tables contain lines, or rules, between cells. Some features of
|
|
2159 |
the way that lines are drawn in PostScript tables are user-definable:
|
|
2160 |
</P>
|
|
2161 |
<P>
|
|
2162 |
|
|
2163 |
</P>
|
|
2164 |
<DL COMPACT>
|
|
2165 |
|
|
2166 |
<DT><CODE>line-style=<VAR>style</VAR></CODE>
|
|
2167 |
<DD><P>
|
|
2168 |
|
|
2169 |
Sets the style used for lines used to divide tables into sections.
|
|
2170 |
<VAR>style</VAR> must be either <CODE>thick</CODE>, in which case thick lines are
|
|
2171 |
used, or <VAR>double</VAR>, in which case double lines are used. Default:
|
|
2172 |
<CODE>thick</CODE>.
|
|
2173 |
</P>
|
|
2174 |
<P>
|
|
2175 |
|
|
2176 |
</P>
|
|
2177 |
<DT><CODE>line-gutter=<VAR>dimension</VAR></CODE>
|
|
2178 |
<DD><P>
|
|
2179 |
|
|
2180 |
Sets the line gutter, which is the amount of whitespace on either side
|
|
2181 |
of lines that border text or graphics objects. See section <A HREF="pspp.html#SEC18">5.5.4 Dimensions</A>.
|
|
2182 |
Default: <CODE>0.5pt</CODE>.
|
|
2183 |
</P>
|
|
2184 |
<P>
|
|
2185 |
|
|
2186 |
</P>
|
|
2187 |
<DT><CODE>line-spacing=<VAR>dimension</VAR></CODE>
|
|
2188 |
<DD><P>
|
|
2189 |
|
|
2190 |
Sets the line spacing, which is the amount of whitespace that separates
|
|
2191 |
lines that are side by side, as in a double line. Default:
|
|
2192 |
<CODE>0.5pt</CODE>.
|
|
2193 |
</P>
|
|
2194 |
<P>
|
|
2195 |
|
|
2196 |
</P>
|
|
2197 |
<DT><CODE>line-width=<VAR>dimension</VAR></CODE>
|
|
2198 |
<DD><P>
|
|
2199 |
|
|
2200 |
Sets the width of a typical line used in tables. Default: <CODE>0.5pt</CODE>.
|
|
2201 |
</P>
|
|
2202 |
<P>
|
|
2203 |
|
|
2204 |
</P>
|
|
2205 |
<DT><CODE>line-width-thick=<VAR>dimension</VAR></CODE>
|
|
2206 |
<DD><P>
|
|
2207 |
|
|
2208 |
Sets the width of a thick line used in tables. Not used if
|
|
2209 |
<CODE>line-style</CODE> is set to <CODE>thick</CODE>. Default: <CODE>1.5pt</CODE>.
|
|
2210 |
</P>
|
|
2211 |
<P>
|
|
2212 |
|
|
2213 |
</DL>
|
|
2214 |
<P>
|
|
2215 |
|
|
2216 |
<A NAME="Prologue"></A>
|
|
2217 |
<HR SIZE="6">
|
|
2218 |
<A NAME="SEC28"></A>
|
|
2219 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2220 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC27"> < </A>]</TD>
|
|
2221 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC29"> > </A>]</TD>
|
|
2222 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2223 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
2224 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2225 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2226 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2227 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2228 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2229 |
</TR></TABLE>
|
|
2230 |
<H3> 5.6.6 The PostScript prologue </H3>
|
|
2231 |
<!--docid::SEC28::-->
|
|
2232 |
<P>
|
|
2233 |
|
|
2234 |
Most PostScript files that are generated mechanically by programs
|
|
2235 |
consist of two parts: a prologue and a body. The prologue is generally
|
|
2236 |
a collection of boilerplate. Only the body differs greatly between
|
|
2237 |
two outputs from the same program.
|
|
2238 |
|
|
2239 |
This is also the strategy used in the PSPP PostScript driver. In
|
|
2240 |
general, the prologue supplied with PSPP will be more than sufficient.
|
|
2241 |
In this case, you will not need to read the rest of this section.
|
|
2242 |
However, hackers might want to know more. Read on, if you fall into
|
|
2243 |
this category.
|
|
2244 |
</P>
|
|
2245 |
<P>
|
|
2246 |
|
|
2247 |
The prologue is dumped into the output stream essentially unmodified.
|
|
2248 |
However, two actions are performed on its lines. First, certain lines
|
|
2249 |
may be omitted as specified in the prologue file itself. Second,
|
|
2250 |
variables are substituted.
|
|
2251 |
</P>
|
|
2252 |
<P>
|
|
2253 |
|
|
2254 |
The following lines are omitted:
|
|
2255 |
</P>
|
|
2256 |
<P>
|
|
2257 |
|
|
2258 |
<OL>
|
|
2259 |
<LI>
|
|
2260 |
All lines that contain three bangs in a row (<CODE>!!!</CODE>).
|
|
2261 |
<P>
|
|
2262 |
|
|
2263 |
</P>
|
|
2264 |
<LI>
|
|
2265 |
Lines that contain <CODE>!eps</CODE>, if the PostScript driver is producing
|
|
2266 |
ordinary PostScript output. Otherwise an EPS file is being produced,
|
|
2267 |
and the line is included in the output, although everything following
|
|
2268 |
<CODE>!eps</CODE> is deleted.
|
|
2269 |
<P>
|
|
2270 |
|
|
2271 |
</P>
|
|
2272 |
<LI>
|
|
2273 |
Lines that contain <CODE>!ps</CODE>, if the PostScript driver is producing EPS
|
|
2274 |
output. Otherwise, ordinary PostScript is being produced, and the line
|
|
2275 |
is included in the output, although everything following <CODE>!ps</CODE> is
|
|
2276 |
deleted.
|
|
2277 |
</OL>
|
|
2278 |
<P>
|
|
2279 |
|
|
2280 |
The following are the variables that are substituted. Only the
|
|
2281 |
variables listed are substituted; environment variables are not.
|
|
2282 |
See section <A HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A>.
|
|
2283 |
</P>
|
|
2284 |
<P>
|
|
2285 |
|
|
2286 |
</P>
|
|
2287 |
<DL COMPACT>
|
|
2288 |
<DT><CODE>bounding-box</CODE>
|
|
2289 |
<DD><P>
|
|
2290 |
|
|
2291 |
The page bounding box, in points, as four space-separated numbers. For
|
|
2292 |
U.S. letter size paper, this is `<SAMP>0 0 612 792</SAMP>'.
|
|
2293 |
</P>
|
|
2294 |
<P>
|
|
2295 |
|
|
2296 |
</P>
|
|
2297 |
<DT><CODE>creator</CODE>
|
|
2298 |
<DD><P>
|
|
2299 |
|
|
2300 |
PSPP version as a string: `<SAMP>GNU PSPP 0.1b</SAMP>', for example.
|
|
2301 |
</P>
|
|
2302 |
<P>
|
|
2303 |
|
|
2304 |
</P>
|
|
2305 |
<DT><CODE>date</CODE>
|
|
2306 |
<DD><P>
|
|
2307 |
|
|
2308 |
Date the file was created. Example: `<SAMP>Tue May 21 13:46:22 1991</SAMP>'.
|
|
2309 |
</P>
|
|
2310 |
<P>
|
|
2311 |
|
|
2312 |
</P>
|
|
2313 |
<DT><CODE>data</CODE>
|
|
2314 |
<DD><P>
|
|
2315 |
|
|
2316 |
Value of the <CODE>data</CODE> PostScript driver option, as one of the strings
|
|
2317 |
`<SAMP>Clean7Bit</SAMP>', `<SAMP>Clean8Bit</SAMP>', or `<SAMP>Binary</SAMP>'.
|
|
2318 |
</P>
|
|
2319 |
<P>
|
|
2320 |
|
|
2321 |
</P>
|
|
2322 |
<DT><CODE>orientation</CODE>
|
|
2323 |
<DD><P>
|
|
2324 |
|
|
2325 |
Page orientation, as one of the strings <CODE>Portrait</CODE> or
|
|
2326 |
<CODE>Landscape</CODE>.
|
|
2327 |
</P>
|
|
2328 |
<P>
|
|
2329 |
|
|
2330 |
</P>
|
|
2331 |
<DT><CODE>user</CODE>
|
|
2332 |
<DD><P>
|
|
2333 |
|
|
2334 |
Under multiuser OSes, the user's login name, taken either from the
|
|
2335 |
environment variable <CODE>LOGNAME</CODE> or, if that fails, the result of the
|
|
2336 |
C library function <CODE>getlogin()</CODE>. Defaults to `<SAMP>nobody</SAMP>'.
|
|
2337 |
</P>
|
|
2338 |
<P>
|
|
2339 |
|
|
2340 |
</P>
|
|
2341 |
<DT><CODE>host</CODE>
|
|
2342 |
<DD><P>
|
|
2343 |
|
|
2344 |
System hostname as reported by <CODE>gethostname()</CODE>. Defaults to
|
|
2345 |
`<SAMP>nowhere</SAMP>'.
|
|
2346 |
</P>
|
|
2347 |
<P>
|
|
2348 |
|
|
2349 |
</P>
|
|
2350 |
<DT><CODE>prop-font</CODE>
|
|
2351 |
<DD><P>
|
|
2352 |
|
|
2353 |
Name of the default proportional font, prefixed by the word
|
|
2354 |
`<SAMP>font</SAMP>' and a space. Example: `<SAMP>font Times-Roman</SAMP>'.
|
|
2355 |
</P>
|
|
2356 |
<P>
|
|
2357 |
|
|
2358 |
</P>
|
|
2359 |
<DT><CODE>fixed-font</CODE>
|
|
2360 |
<DD><P>
|
|
2361 |
|
|
2362 |
Name of the default fixed-pitch font, prefixed by the word `<SAMP>font</SAMP>'
|
|
2363 |
and a space.
|
|
2364 |
</P>
|
|
2365 |
<P>
|
|
2366 |
|
|
2367 |
</P>
|
|
2368 |
<DT><CODE>scale-factor</CODE>
|
|
2369 |
<DD><P>
|
|
2370 |
|
|
2371 |
The page scaling factor as a floating-point number. Example:
|
|
2372 |
<CODE>1.0</CODE>. Note that this is also passed as an argument to the BP
|
|
2373 |
macro.
|
|
2374 |
</P>
|
|
2375 |
<P>
|
|
2376 |
|
|
2377 |
</P>
|
|
2378 |
<DT><CODE>paper-length</CODE>
|
|
2379 |
<DD><DT><CODE>paper-width</CODE>
|
|
2380 |
<DD><P>
|
|
2381 |
|
|
2382 |
The paper length and paper width, respectively, in thousandths of a
|
|
2383 |
point. Note that these are also passed as arguments to the BP macro.
|
|
2384 |
</P>
|
|
2385 |
<P>
|
|
2386 |
|
|
2387 |
</P>
|
|
2388 |
<DT><CODE>left-margin</CODE>
|
|
2389 |
<DD><DT><CODE>top-margin</CODE>
|
|
2390 |
<DD><P>
|
|
2391 |
|
|
2392 |
The left margin and top margin, respectively, in thousandths of a
|
|
2393 |
point. Note that these are also passed as arguments to the BP macro.
|
|
2394 |
</P>
|
|
2395 |
<P>
|
|
2396 |
|
|
2397 |
</P>
|
|
2398 |
<DT><CODE>title</CODE>
|
|
2399 |
<DD><P>
|
|
2400 |
|
|
2401 |
Document title as a string. This is not the title specified in the
|
|
2402 |
PSPP syntax file. A typical title is the word `<SAMP>PSPP</SAMP>' followed
|
|
2403 |
by the syntax file name in parentheses. Example: `<SAMP>PSPP
|
|
2404 |
(<stdin>)</SAMP>'.
|
|
2405 |
</P>
|
|
2406 |
<P>
|
|
2407 |
|
|
2408 |
</P>
|
|
2409 |
<DT><CODE>source-file</CODE>
|
|
2410 |
<DD><P>
|
|
2411 |
|
|
2412 |
PSPP syntax file name. Example: `<SAMP>mary96/first.stat</SAMP>'.
|
|
2413 |
</P>
|
|
2414 |
<P>
|
|
2415 |
|
|
2416 |
</DL>
|
|
2417 |
<P>
|
|
2418 |
|
|
2419 |
Any other questions about the PostScript prologue can best be answered
|
|
2420 |
by examining the default prologue or the PSPP source.
|
|
2421 |
</P>
|
|
2422 |
<P>
|
|
2423 |
|
|
2424 |
<A NAME="Encodings"></A>
|
|
2425 |
<HR SIZE="6">
|
|
2426 |
<A NAME="SEC29"></A>
|
|
2427 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2428 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC28"> < </A>]</TD>
|
|
2429 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC30"> > </A>]</TD>
|
|
2430 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2431 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC22"> Up </A>]</TD>
|
|
2432 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2433 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2434 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2435 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2436 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2437 |
</TR></TABLE>
|
|
2438 |
<H3> 5.6.7 PostScript encodings </H3>
|
|
2439 |
<!--docid::SEC29::-->
|
|
2440 |
<P>
|
|
2441 |
|
|
2442 |
PostScript fonts often contain many more than 256 characters, in order
|
|
2443 |
to accommodate foreign language characters and special symbols.
|
|
2444 |
PostScript uses <EM>encodings</EM> to map these onto single-byte symbol
|
|
2445 |
sets. Each font can have many different encodings applied to it.
|
|
2446 |
</P>
|
|
2447 |
<P>
|
|
2448 |
|
|
2449 |
PSPP's PostScript driver needs to know which encoding to apply to each
|
|
2450 |
font. It can determine this from the information encapsulated in the
|
|
2451 |
Groff font description that it reads. However, there is an additional
|
|
2452 |
problem--for efficiency, the PostScript driver needs to have a complete
|
|
2453 |
list of all encodings that will be used in the entire session <EM>when
|
|
2454 |
it opens the output file</EM>. For this reason, it can't use the
|
|
2455 |
information built into the fonts because it doesn't know which fonts
|
|
2456 |
will be used.
|
|
2457 |
</P>
|
|
2458 |
<P>
|
|
2459 |
|
|
2460 |
As a stopgap solution, there are two mechanisms for specifying which
|
|
2461 |
encodings will be used. The first mechanism is automatic and it is the
|
|
2462 |
only one that most PSPP users will ever need. The second mechanism is
|
|
2463 |
manual, but it is more flexible. Either mechanism or both may be used
|
|
2464 |
at one time.
|
|
2465 |
</P>
|
|
2466 |
<P>
|
|
2467 |
|
|
2468 |
The first mechanism is activated by the `<SAMP>auto-encode</SAMP>' driver option
|
|
2469 |
(see section <A HREF="pspp.html#SEC25">5.6.3 PostScript file options</A>). When enabled, `<SAMP>auto-encode</SAMP>' causes the
|
|
2470 |
PostScript driver to include the encodings used by the default
|
|
2471 |
proportional and fixed-pitch fonts (see section <A HREF="pspp.html#SEC26">5.6.4 PostScript font options</A>). Many
|
|
2472 |
PSPP output files will only need these encodings.
|
|
2473 |
</P>
|
|
2474 |
<P>
|
|
2475 |
|
|
2476 |
The second mechanism is the file specified by the `<SAMP>encoding-file</SAMP>'
|
|
2477 |
option (see section <A HREF="pspp.html#SEC25">5.6.3 PostScript file options</A>). If it exists, this file must consist
|
|
2478 |
of lines in PSPP configuration-file format (see section <A HREF="pspp.html#SEC9">5.3 Configuration files</A>). Each line that is not a comment should name a PostScript
|
|
2479 |
encoding to include in the output.
|
|
2480 |
</P>
|
|
2481 |
<P>
|
|
2482 |
|
|
2483 |
It is not an error if an encoding is included more than once, by either
|
|
2484 |
mechanism. It will appear only once in the output. It is also not an
|
|
2485 |
error if an encoding is included in the output but never used. It
|
|
2486 |
<EM>is</EM> an error if an encoding is used but not included by one of
|
|
2487 |
these mechanisms. In this case, the built-in PostScript encoding
|
|
2488 |
`<SAMP>ISOLatin1Encoding</SAMP>' is substituted.
|
|
2489 |
</P>
|
|
2490 |
<P>
|
|
2491 |
|
|
2492 |
<A NAME="ASCII driver class"></A>
|
|
2493 |
<HR SIZE="6">
|
|
2494 |
<A NAME="SEC30"></A>
|
|
2495 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2496 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC29"> < </A>]</TD>
|
|
2497 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC31"> > </A>]</TD>
|
|
2498 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2499 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
2500 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2501 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2502 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2503 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2504 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2505 |
</TR></TABLE>
|
|
2506 |
<H2> 5.7 The ASCII driver class </H2>
|
|
2507 |
<!--docid::SEC30::-->
|
|
2508 |
<P>
|
|
2509 |
|
|
2510 |
The ASCII driver class produces output that can be displayed on a
|
|
2511 |
terminal or output to printers. All of its options are highly
|
|
2512 |
configurable. The ASCII driver has class name `<SAMP>ascii</SAMP>'.
|
|
2513 |
</P>
|
|
2514 |
<P>
|
|
2515 |
|
|
2516 |
The ASCII driver is described in further detail below.
|
|
2517 |
</P>
|
|
2518 |
<P>
|
|
2519 |
|
|
2520 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
2521 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC31">5.7.1 ASCII output options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Output file options.</TD></TR>
|
|
2522 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC32">5.7.2 ASCII page options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Page size, margins, more.</TD></TR>
|
|
2523 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC33">5.7.3 ASCII font options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Box character, bold & italics.</TD></TR>
|
|
2524 |
</TABLE>
|
|
2525 |
<P>
|
|
2526 |
|
|
2527 |
<A NAME="ASCII output options"></A>
|
|
2528 |
<HR SIZE="6">
|
|
2529 |
<A NAME="SEC31"></A>
|
|
2530 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2531 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC30"> < </A>]</TD>
|
|
2532 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC32"> > </A>]</TD>
|
|
2533 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2534 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC30"> Up </A>]</TD>
|
|
2535 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2536 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2537 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2538 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2539 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2540 |
</TR></TABLE>
|
|
2541 |
<H3> 5.7.1 ASCII output options </H3>
|
|
2542 |
<!--docid::SEC31::-->
|
|
2543 |
<P>
|
|
2544 |
|
|
2545 |
</P>
|
|
2546 |
<DL COMPACT>
|
|
2547 |
<DT><CODE>output-file=<VAR>filename</VAR></CODE>
|
|
2548 |
<DD><P>
|
|
2549 |
|
|
2550 |
File to which output should be sent. This can be an ordinary filename
|
|
2551 |
(i.e., <CODE>"pspp.ps"</CODE>), a pipe filename (i.e., <CODE>"|lpr"</CODE>), or
|
|
2552 |
stdout (<CODE>"-"</CODE>). Default: <CODE>"pspp.list"</CODE>.
|
|
2553 |
</P>
|
|
2554 |
<P>
|
|
2555 |
|
|
2556 |
</P>
|
|
2557 |
<DT><CODE>char-set=<VAR>char-set-type</VAR></CODE>
|
|
2558 |
<DD><P>
|
|
2559 |
|
|
2560 |
One of `<SAMP>ascii</SAMP>' or `<SAMP>latin1</SAMP>'. This has no effect on output at
|
|
2561 |
the present time. Default: <CODE>ascii</CODE>.
|
|
2562 |
</P>
|
|
2563 |
<P>
|
|
2564 |
|
|
2565 |
</P>
|
|
2566 |
<DT><CODE>form-feed-string=<VAR>form-feed-value</VAR></CODE>
|
|
2567 |
<DD><P>
|
|
2568 |
|
|
2569 |
The string written to the output to cause a formfeed. See also
|
|
2570 |
<CODE>paginate</CODE>, described below, for a related setting. Default:
|
|
2571 |
<CODE>"\f"</CODE>.
|
|
2572 |
</P>
|
|
2573 |
<P>
|
|
2574 |
|
|
2575 |
</P>
|
|
2576 |
<DT><CODE>newline-string=<VAR>newline-value</VAR></CODE>
|
|
2577 |
<DD><P>
|
|
2578 |
|
|
2579 |
The string written to the output to cause a newline (carriage return
|
|
2580 |
plus linefeed). The default, which can be specified explicitly with
|
|
2581 |
<CODE>newline-string=default</CODE>, is to use the system-dependent newline
|
|
2582 |
sequence by opening the output file in text mode. This is usually the
|
|
2583 |
right choice.
|
|
2584 |
</P>
|
|
2585 |
<P>
|
|
2586 |
|
|
2587 |
However, <CODE>newline-string</CODE> can be set to any string. When this is
|
|
2588 |
done, the output file is opened in binary mode.
|
|
2589 |
</P>
|
|
2590 |
<P>
|
|
2591 |
|
|
2592 |
</P>
|
|
2593 |
<DT><CODE>paginate=<VAR>boolean</VAR></CODE>
|
|
2594 |
<DD><P>
|
|
2595 |
|
|
2596 |
If set, a formfeed (as set in <CODE>form-feed-string</CODE>, described above)
|
|
2597 |
will be written to the device after every page. Default: <CODE>on</CODE>.
|
|
2598 |
</P>
|
|
2599 |
<P>
|
|
2600 |
|
|
2601 |
</P>
|
|
2602 |
<DT><CODE>tab-width=<VAR>tab-width-value</VAR></CODE>
|
|
2603 |
<DD><P>
|
|
2604 |
|
|
2605 |
The distance between tab stops for this device. If set to 0, tabs will
|
|
2606 |
not be used in the output. Default: <CODE>8</CODE>.
|
|
2607 |
</P>
|
|
2608 |
<P>
|
|
2609 |
|
|
2610 |
</P>
|
|
2611 |
<DT><CODE>init=<VAR>initialization-string</VAR>.</CODE>
|
|
2612 |
<DD><P>
|
|
2613 |
|
|
2614 |
String written to the device before anything else, at the beginning of
|
|
2615 |
the output. Default: <CODE>""</CODE> (the empty string).
|
|
2616 |
</P>
|
|
2617 |
<P>
|
|
2618 |
|
|
2619 |
</P>
|
|
2620 |
<DT><CODE>done=<VAR>finalization-string</VAR>.</CODE>
|
|
2621 |
<DD><P>
|
|
2622 |
|
|
2623 |
String written to the device after everything else, at the end of the
|
|
2624 |
output. Default: <CODE>""</CODE> (the empty string).
|
|
2625 |
</DL>
|
|
2626 |
<P>
|
|
2627 |
|
|
2628 |
<A NAME="ASCII page options"></A>
|
|
2629 |
<HR SIZE="6">
|
|
2630 |
<A NAME="SEC32"></A>
|
|
2631 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2632 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC31"> < </A>]</TD>
|
|
2633 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC33"> > </A>]</TD>
|
|
2634 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2635 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC30"> Up </A>]</TD>
|
|
2636 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2637 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2638 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2639 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2640 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2641 |
</TR></TABLE>
|
|
2642 |
<H3> 5.7.2 ASCII page options </H3>
|
|
2643 |
<!--docid::SEC32::-->
|
|
2644 |
<P>
|
|
2645 |
|
|
2646 |
These options affect page setup:
|
|
2647 |
</P>
|
|
2648 |
<P>
|
|
2649 |
|
|
2650 |
</P>
|
|
2651 |
<DL COMPACT>
|
|
2652 |
<DT><CODE>headers=<VAR>boolean</VAR></CODE>
|
|
2653 |
<DD><P>
|
|
2654 |
|
|
2655 |
If enabled, two lines of header information giving title and subtitle,
|
|
2656 |
page number, date and time, and PSPP version are printed at the top of
|
|
2657 |
every page. These two lines are in addition to any top margin
|
|
2658 |
requested. Default: <CODE>on</CODE>.
|
|
2659 |
</P>
|
|
2660 |
<P>
|
|
2661 |
|
|
2662 |
</P>
|
|
2663 |
<DT><CODE>length=<VAR>line-count</VAR></CODE>
|
|
2664 |
<DD><P>
|
|
2665 |
|
|
2666 |
Physical length of a page, in lines. Headers and margins are subtracted
|
|
2667 |
from this value. Default: <CODE>66</CODE>.
|
|
2668 |
</P>
|
|
2669 |
<P>
|
|
2670 |
|
|
2671 |
</P>
|
|
2672 |
<DT><CODE>width=<VAR>character-count</VAR></CODE>
|
|
2673 |
<DD><P>
|
|
2674 |
|
|
2675 |
Physical width of a page, in characters. Margins are subtracted from
|
|
2676 |
this value. Default: <CODE>130</CODE>.
|
|
2677 |
</P>
|
|
2678 |
<P>
|
|
2679 |
|
|
2680 |
</P>
|
|
2681 |
<DT><CODE>lpi=<VAR>lines-per-inch</VAR></CODE>
|
|
2682 |
<DD><P>
|
|
2683 |
|
|
2684 |
Number of lines per vertical inch. Not currently used. Default: <CODE>6</CODE>.
|
|
2685 |
</P>
|
|
2686 |
<P>
|
|
2687 |
|
|
2688 |
</P>
|
|
2689 |
<DT><CODE>cpi=<VAR>characters-per-inch</VAR></CODE>
|
|
2690 |
<DD><P>
|
|
2691 |
|
|
2692 |
Number of characters per horizontal inch. Not currently used. Default:
|
|
2693 |
<CODE>10</CODE>.
|
|
2694 |
</P>
|
|
2695 |
<P>
|
|
2696 |
|
|
2697 |
</P>
|
|
2698 |
<DT><CODE>left-margin=<VAR>left-margin-width</VAR></CODE>
|
|
2699 |
<DD><P>
|
|
2700 |
|
|
2701 |
Width of the left margin, in characters. PSPP subtracts this value
|
|
2702 |
from the page width. Default: <CODE>0</CODE>.
|
|
2703 |
</P>
|
|
2704 |
<P>
|
|
2705 |
|
|
2706 |
</P>
|
|
2707 |
<DT><CODE>right-margin=<VAR>right-margin-width</VAR></CODE>
|
|
2708 |
<DD><P>
|
|
2709 |
|
|
2710 |
Width of the right margin, in characters. PSPP subtracts this value
|
|
2711 |
from the page width. Default: <CODE>0</CODE>.
|
|
2712 |
</P>
|
|
2713 |
<P>
|
|
2714 |
|
|
2715 |
</P>
|
|
2716 |
<DT><CODE>top-margin=<VAR>top-margin-lines</VAR></CODE>
|
|
2717 |
<DD><P>
|
|
2718 |
|
|
2719 |
Length of the top margin, in lines. PSPP subtracts this value from
|
|
2720 |
the page length. Default: <CODE>2</CODE>.
|
|
2721 |
</P>
|
|
2722 |
<P>
|
|
2723 |
|
|
2724 |
</P>
|
|
2725 |
<DT><CODE>bottom-margin=<VAR>bottom-margin-lines</VAR></CODE>
|
|
2726 |
<DD><P>
|
|
2727 |
|
|
2728 |
Length of the bottom margin, in lines. PSPP subtracts this value from
|
|
2729 |
the page length. Default: <CODE>2</CODE>.
|
|
2730 |
</P>
|
|
2731 |
<P>
|
|
2732 |
|
|
2733 |
</DL>
|
|
2734 |
<P>
|
|
2735 |
|
|
2736 |
<A NAME="ASCII font options"></A>
|
|
2737 |
<HR SIZE="6">
|
|
2738 |
<A NAME="SEC33"></A>
|
|
2739 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
2740 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC32"> < </A>]</TD>
|
|
2741 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC34"> > </A>]</TD>
|
|
2742 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
2743 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC30"> Up </A>]</TD>
|
|
2744 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
2745 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
2746 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
2747 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
2748 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
2749 |
</TR></TABLE>
|
|
2750 |
<H3> 5.7.3 ASCII font options </H3>
|
|
2751 |
<!--docid::SEC33::-->
|
|
2752 |
<P>
|
|
2753 |
|
|
2754 |
These are the ASCII font options:
|
|
2755 |
</P>
|
|
2756 |
<P>
|
|
2757 |
|
|
2758 |
</P>
|
|
2759 |
<DL COMPACT>
|
|
2760 |
<DT><CODE>box[<VAR>line-type</VAR>]=<VAR>box-chars</VAR></CODE>
|
|
2761 |
<DD><P>
|
|
2762 |
|
|
2763 |
The characters used for lines in tables produced by the ASCII driver can
|
|
2764 |
be changed using this option. <VAR>line-type</VAR> is used to indicate which
|
|
2765 |
type of line to change; <VAR>box-chars</VAR> is the character or string of
|
|
2766 |
characters to use for this type of line.
|
|
2767 |
</P>
|
|
2768 |
<P>
|
|
2769 |
|
|
2770 |
<VAR>line-type</VAR> must be a 4-digit number in base 4. The digits are in
|
|
2771 |
the order `right', `bottom', `left', `top'. The four possibilities for
|
|
2772 |
each digit are:
|
|
2773 |
</P>
|
|
2774 |
<P>
|
|
2775 |
|
|
2776 |
</P>
|
|
2777 |
<DL COMPACT>
|
|
2778 |
<DT>0
|
|
2779 |
<DD>No line.
|
|
2780 |
<P>
|
|
2781 |
|
|
2782 |
</P>
|
|
2783 |
<DT>1
|
|
2784 |
<DD>Single line.
|
|
2785 |
<P>
|
|
2786 |
|
|
2787 |
</P>
|
|
2788 |
<DT>2
|
|
2789 |
<DD>Double line.
|
|
2790 |
<P>
|
|
2791 |
|
|
2792 |
</P>
|
|
2793 |
<DT>3
|
|
2794 |
<DD>Special device-defined line, if one is available; otherwise, a double
|
|
2795 |
line.
|
|
2796 |
</DL>
|
|
2797 |
<P>
|
|
2798 |
|
|
2799 |
Examples:
|
|
2800 |
</P>
|
|
2801 |
<P>
|
|
2802 |
|
|
2803 |
</P>
|
|
2804 |
<DL COMPACT>
|
|
2805 |
<DT><CODE>box[0101]="|"</CODE>
|
|
2806 |
<DD><P>
|
|
2807 |
|
|
2808 |
Sets `<SAMP>|</SAMP>' as the character to use for a single-width line with
|
|
2809 |
bottom and top components.
|
|
2810 |
</P>
|
|
2811 |
<P>
|
|
2812 |
|
|
2813 |
</P>
|
|
2814 |
<DT><CODE>box[2222]="#"</CODE>
|
|
2815 |
<DD><P>
|
|
2816 |
|
|
2817 |
Sets `<SAMP>#</SAMP>' as the character to use for the intersection of four
|
|
2818 |
double-width lines, one each from the top, bottom, left and right.
|
|
2819 |
</P>
|
|
2820 |
<P>
|
|
2821 |
|
|
2822 |
</P>
|
|
2823 |
<DT><CODE>box[1100]="\xda"</CODE>
|
|
2824 |
<DD><P>
|
|
2825 |
|
|
2826 |
Sets `<SAMP>"\xda"</SAMP>', which under MS-DOG is a box character suitable for
|
|
2827 |
the top-left corner of a box, as the character for the intersection of
|
|
2828 |
two single-width lines, one each from the right and bottom.
|
|
2829 |
</P>
|
|
2830 |
<P>
|
|
2831 |
|
|
2832 |
</DL>
|
|
2833 |
<P>
|
|
2834 |
|
|
2835 |
Defaults:
|
|
2836 |
</P>
|
|
2837 |
<P>
|
|
2838 |
|
|
2839 |
<UL>
|
|
2840 |
<LI>
|
|
2841 |
<CODE>box[0000]=" "</CODE>
|
|
2842 |
<P>
|
|
2843 |
|
|
2844 |
</P>
|
|
2845 |
<LI>
|
|
2846 |
<CODE>box[1000]="-"</CODE>
|
|
2847 |
<BR><CODE>box[0010]="-"</CODE>
|
|
2848 |
<BR><CODE>box[1010]="-"</CODE>
|
|
2849 |
<P>
|
|
2850 |
|
|
2851 |
</P>
|
|
2852 |
<LI>
|
|
2853 |
<CODE>box[0100]="|"</CODE>
|
|
2854 |
<BR><CODE>box[0001]="|"</CODE>
|
|
2855 |
<BR><CODE>box[0101]="|"</CODE>
|
|
2856 |
<P>
|
|
2857 |
|
|
2858 |
</P>
|
|
2859 |
<LI>
|
|
2860 |
<CODE>box[2000]="="</CODE>
|
|
2861 |
<BR><CODE>box[0020]="="</CODE>
|
|
2862 |
<BR><CODE>box[2020]="="</CODE>
|
|
2863 |
<P>
|
|
2864 |
|
|
2865 |
</P>
|
|
2866 |
<LI>
|
|
2867 |
<CODE>box[0200]="#"</CODE>
|
|
2868 |
<BR><CODE>box[0002]="#"</CODE>
|
|
2869 |
<BR><CODE>box[0202]="#"</CODE>
|
|
2870 |
<P>
|
|
2871 |
|
|
2872 |
</P>
|
|
2873 |
<LI>
|
|
2874 |
<CODE>box[3000]="="</CODE>
|
|
2875 |
<BR><CODE>box[0030]="="</CODE>
|
|
2876 |
<BR><CODE>box[3030]="="</CODE>
|
|
2877 |
<P>
|
|
2878 |
|
|
2879 |
</P>
|
|
2880 |
<LI>
|
|
2881 |
<CODE>box[0300]="#"</CODE>
|
|
2882 |
<BR><CODE>box[0003]="#"</CODE>
|
|
2883 |
<BR><CODE>box[0303]="#"</CODE>
|
|
2884 |
<P>
|
|
2885 |
|
|
2886 |
</P>
|
|
2887 |
<LI>
|
|
2888 |
For all others, `<SAMP>+</SAMP>' is used unless there are double lines or
|
|
2889 |
special lines, in which case `<SAMP>#</SAMP>' is used.
|
|
2890 |
</UL>
|
|
2891 |
<P>
|
|
2892 |
|
|
2893 |
</P>
|
|
2894 |
<DT><CODE>italic-on=<VAR>italic-on-string</VAR></CODE>
|
|
2895 |
<DD><P>
|
|
2896 |
|
|
2897 |
Character sequence written to turn on italics or underline printing. If
|
|
2898 |
this is set to <CODE>overstrike</CODE>, then the driver will simulate
|
|
2899 |
underlining by overstriking with underscore characters (`<SAMP>_</SAMP>') in the
|
|
2900 |
manner described by <CODE>overstrike-style</CODE> and
|
|
2901 |
<CODE>carriage-return-style</CODE>. Default: <CODE>overstrike</CODE>.
|
|
2902 |
</P>
|
|
2903 |
<P>
|
|
2904 |
|
|
2905 |
</P>
|
|
2906 |
<DT><CODE>italic-off=<VAR>italic-off-string</VAR></CODE>
|
|
2907 |
<DD><P>
|
|
2908 |
|
|
2909 |
Character sequence to turn off italics or underline printing. Default:
|
|
2910 |
<CODE>""</CODE> (the empty string).
|
|
2911 |
</P>
|
|
2912 |
<P>
|
|
2913 |
|
|
2914 |
</P>
|
|
2915 |
<DT><CODE>bold-on=<VAR>bold-on-string</VAR></CODE>
|
|
2916 |
<DD><P>
|
|
2917 |
|
|
2918 |
Character sequence written to turn on bold or emphasized printing. If
|
|
2919 |
set to <CODE>overstrike</CODE>, then the driver will simulated bold printing
|
|
2920 |
by overstriking characters in the manner described by
|
|
2921 |
<CODE>overstrike-style</CODE> and <CODE>carriage-return-style</CODE>. Default:
|
|
2922 |
<CODE>overstrike</CODE>.
|
|
2923 |
</P>
|
|
2924 |
<P>
|
|
2925 |
|
|
2926 |
</P>
|
|
2927 |
<DT><CODE>bold-off=<VAR>bold-off-string</VAR></CODE>
|
|
2928 |
<DD><P>
|
|
2929 |
|
|
2930 |
Character sequence to turn off bold or emphasized printing. Default:
|
|
2931 |
<CODE>""</CODE> (the empty string).
|
|
2932 |
</P>
|
|
2933 |
<P>
|
|
2934 |
|
|
2935 |
</P>
|
|
2936 |
<DT><CODE>bold-italic-on=<VAR>bold-italic-on-string</VAR></CODE>
|
|
2937 |
<DD><P>
|
|
2938 |
|
|
2939 |
Character sequence written to turn on bold-italic printing. If set to
|
|
2940 |
<CODE>overstrike</CODE>, then the driver will simulate bold-italics by
|
|
2941 |
overstriking twice, once with the character, a second time with an
|
|
2942 |
underscore (`<SAMP>_</SAMP>') character, in the manner described by
|
|
2943 |
<CODE>overstrike-style</CODE> and <CODE>carriage-return-style</CODE>. Default:
|
|
2944 |
<CODE>overstrike</CODE>.
|
|
2945 |
</P>
|
|
2946 |
<P>
|
|
2947 |
|
|
2948 |
</P>
|
|
2949 |
<DT><CODE>bold-italic-off=<VAR>bold-italic-off-string</VAR></CODE>
|
|
2950 |
<DD><P>
|
|
2951 |
|
|
2952 |
Character sequence to turn off bold-italic printing. Default: <CODE>""</CODE>
|
|
2953 |
(the empty string).
|
|
2954 |
</P>
|
|
2955 |
<P>
|
|
2956 |
|
|
2957 |
</P>
|
|
2958 |
<DT><CODE>overstrike-style=<VAR>overstrike-option</VAR></CODE>
|
|
2959 |
<DD><P>
|
|
2960 |
|
|
2961 |
Either <CODE>single</CODE> or <CODE>line</CODE>:
|
|
2962 |
</P>
|
|
2963 |
<P>
|
|
2964 |
|
|
2965 |
<UL>
|
|
2966 |
<LI>
|
|
2967 |
If <CODE>single</CODE> is selected, then, to overstrike a line of text, the
|
|
2968 |
output driver will output a character, backspace, overstrike, output a
|
|
2969 |
character, backspace, overstrike, and so on along a line.
|
|
2970 |
<P>
|
|
2971 |
|
|
2972 |
</P>
|
|
2973 |
<LI>
|
|
2974 |
If <CODE>line</CODE> is selected then the output driver will output an entire
|
|
2975 |
line, then backspace or emit a carriage return (as indicated by
|
|
2976 |
<CODE>carriage-return-style</CODE>), then overstrike the entire line at once.
|
|
2977 |
</UL>
|
|
2978 |
<P>
|
|
2979 |
|
|
2980 |
<CODE>single</CODE> is recommended for use with ttys and programs that
|
|
2981 |
understand overstriking in text files, such as the pager <CODE>less</CODE>.
|
|
2982 |
<CODE>single</CODE> will also work with printer devices but results in rapid
|
|
2983 |
back-and-forth motions of the printhead that can cause the printer to
|
|
2984 |
physically overheat!
|
|
2985 |
</P>
|
|
2986 |
<P>
|
|
2987 |
|
|
2988 |
<CODE>line</CODE> is recommended for use with printer devices. Most programs
|
|
2989 |
that understand overstriking in text files will not properly deal with
|
|
2990 |
<CODE>line</CODE> mode.
|
|
2991 |
</P>
|
|
2992 |
<P>
|
|
2993 |
|
|
2994 |
Default: <CODE>single</CODE>.
|
|
2995 |
</P>
|
|
2996 |
<P>
|
|
2997 |
|
|
2998 |
</P>
|
|
2999 |
<DT><CODE>carriage-return-style=<VAR>carriage-return-type</VAR></CODE>
|
|
3000 |
<DD><P>
|
|
3001 |
|
|
3002 |
Either <CODE>bs</CODE> or <CODE>cr</CODE>. This option applies only when one or
|
|
3003 |
more of the font commands is set to <CODE>overstrike</CODE> and, at the same
|
|
3004 |
time, <CODE>overstrike-style</CODE> is set to <CODE>line</CODE>.
|
|
3005 |
</P>
|
|
3006 |
<P>
|
|
3007 |
|
|
3008 |
<UL>
|
|
3009 |
<LI>
|
|
3010 |
If <CODE>bs</CODE> is selected then the driver will return to the beginning of
|
|
3011 |
a line by emitting a sequence of backspace characters (ASCII 8).
|
|
3012 |
<P>
|
|
3013 |
|
|
3014 |
</P>
|
|
3015 |
<LI>
|
|
3016 |
If <CODE>cr</CODE> is selected then the driver will return to the beginning of
|
|
3017 |
a line by emitting a single carriage-return character (ASCII 13).
|
|
3018 |
</UL>
|
|
3019 |
<P>
|
|
3020 |
|
|
3021 |
Although <CODE>cr</CODE> is preferred as being more compact, <CODE>bs</CODE> is more
|
|
3022 |
general since some devices do not interpret carriage returns in the
|
|
3023 |
desired manner. Default: <CODE>bs</CODE>.
|
|
3024 |
</DL>
|
|
3025 |
<P>
|
|
3026 |
|
|
3027 |
<A NAME="HTML driver class"></A>
|
|
3028 |
<HR SIZE="6">
|
|
3029 |
<A NAME="SEC34"></A>
|
|
3030 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3031 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC33"> < </A>]</TD>
|
|
3032 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC35"> > </A>]</TD>
|
|
3033 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
3034 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
3035 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
3036 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3037 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3038 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3039 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3040 |
</TR></TABLE>
|
|
3041 |
<H2> 5.8 The HTML driver class </H2>
|
|
3042 |
<!--docid::SEC34::-->
|
|
3043 |
<P>
|
|
3044 |
|
|
3045 |
The <CODE>html</CODE> driver class is used to produce output for viewing in
|
|
3046 |
tables-capable web browsers such as Emacs' w3-mode. Its configuration
|
|
3047 |
is very simple. Currently, the output has a very plain format. In the
|
|
3048 |
future, further work may be done on improving the output appearance.
|
|
3049 |
</P>
|
|
3050 |
<P>
|
|
3051 |
|
|
3052 |
There are few options for use with the <CODE>html</CODE> driver class:
|
|
3053 |
</P>
|
|
3054 |
<P>
|
|
3055 |
|
|
3056 |
</P>
|
|
3057 |
<DL COMPACT>
|
|
3058 |
<DT><CODE>output-file=<VAR>filename</VAR></CODE>
|
|
3059 |
<DD><P>
|
|
3060 |
|
|
3061 |
File to which output should be sent. This can be an ordinary filename
|
|
3062 |
(i.e., <CODE>"pspp.ps"</CODE>), a pipe filename (i.e., <CODE>"|lpr"</CODE>), or
|
|
3063 |
stdout (<CODE>"-"</CODE>). Default: <CODE>"pspp.html"</CODE>.
|
|
3064 |
</P>
|
|
3065 |
<P>
|
|
3066 |
|
|
3067 |
</P>
|
|
3068 |
<DT><CODE>prologue-file=<VAR>prologue-file-name</VAR></CODE>
|
|
3069 |
<DD><P>
|
|
3070 |
|
|
3071 |
Sets the name of the PostScript prologue file. You can write your own
|
|
3072 |
prologue if you want to customize colors or other settings: see
|
|
3073 |
<A HREF="pspp.html#SEC35">5.8.1 The HTML prologue</A>. Default: <CODE>html-prologue</CODE>.
|
|
3074 |
</DL>
|
|
3075 |
<P>
|
|
3076 |
|
|
3077 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
3078 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC35">5.8.1 The HTML prologue</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Format of the HTML prologue file.</TD></TR>
|
|
3079 |
</TABLE>
|
|
3080 |
<P>
|
|
3081 |
|
|
3082 |
<A NAME="HTML Prologue"></A>
|
|
3083 |
<HR SIZE="6">
|
|
3084 |
<A NAME="SEC35"></A>
|
|
3085 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3086 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC34"> < </A>]</TD>
|
|
3087 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC36"> > </A>]</TD>
|
|
3088 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
3089 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC34"> Up </A>]</TD>
|
|
3090 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
3091 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3092 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3093 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3094 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3095 |
</TR></TABLE>
|
|
3096 |
<H3> 5.8.1 The HTML prologue </H3>
|
|
3097 |
<!--docid::SEC35::-->
|
|
3098 |
<P>
|
|
3099 |
|
|
3100 |
HTML files that are generated by PSPP consist of two parts: a prologue
|
|
3101 |
and a body. The prologue is a collection of boilerplate. Only the body
|
|
3102 |
differs greatly between two outputs. You can tune the colors and other
|
|
3103 |
attributes of the output by editing the prologue.
|
|
3104 |
|
|
3105 |
The prologue is dumped into the output stream essentially unmodified.
|
|
3106 |
However, two actions are performed on its lines. First, certain lines
|
|
3107 |
may be omitted as specified in the prologue file itself. Second,
|
|
3108 |
variables are substituted.
|
|
3109 |
</P>
|
|
3110 |
<P>
|
|
3111 |
|
|
3112 |
The following lines are omitted:
|
|
3113 |
</P>
|
|
3114 |
<P>
|
|
3115 |
|
|
3116 |
<OL>
|
|
3117 |
<LI>
|
|
3118 |
All lines that contain three bangs in a row (<CODE>!!!</CODE>).
|
|
3119 |
<P>
|
|
3120 |
|
|
3121 |
</P>
|
|
3122 |
<LI>
|
|
3123 |
Lines that contain <CODE>!title</CODE>, if no title is set for the output. If
|
|
3124 |
a title is set, then the characters <CODE>!title</CODE> are removed before the
|
|
3125 |
line is output.
|
|
3126 |
<P>
|
|
3127 |
|
|
3128 |
</P>
|
|
3129 |
<LI>
|
|
3130 |
Lines that contain <CODE>!subtitle</CODE>, if no subtitle is set for the
|
|
3131 |
output. If a subtitle is set, then the characters <CODE>!subtitle</CODE> are
|
|
3132 |
removed before the line is output.
|
|
3133 |
</OL>
|
|
3134 |
<P>
|
|
3135 |
|
|
3136 |
The following are the variables that are substituted. Only the
|
|
3137 |
variables listed are substituted; environment variables are not.
|
|
3138 |
See section <A HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A>.
|
|
3139 |
</P>
|
|
3140 |
<P>
|
|
3141 |
|
|
3142 |
</P>
|
|
3143 |
<DL COMPACT>
|
|
3144 |
<DT><CODE>generator</CODE>
|
|
3145 |
<DD><P>
|
|
3146 |
|
|
3147 |
PSPP version as a string: `<SAMP>GNU PSPP 0.1b</SAMP>', for example.
|
|
3148 |
</P>
|
|
3149 |
<P>
|
|
3150 |
|
|
3151 |
</P>
|
|
3152 |
<DT><CODE>date</CODE>
|
|
3153 |
<DD><P>
|
|
3154 |
|
|
3155 |
Date the file was created. Example: `<SAMP>Tue May 21 13:46:22 1991</SAMP>'.
|
|
3156 |
</P>
|
|
3157 |
<P>
|
|
3158 |
|
|
3159 |
</P>
|
|
3160 |
<DT><CODE>user</CODE>
|
|
3161 |
<DD><P>
|
|
3162 |
|
|
3163 |
Under multiuser OSes, the user's login name, taken either from the
|
|
3164 |
environment variable <CODE>LOGNAME</CODE> or, if that fails, the result of the
|
|
3165 |
C library function <CODE>getlogin()</CODE>. Defaults to `<SAMP>nobody</SAMP>'.
|
|
3166 |
</P>
|
|
3167 |
<P>
|
|
3168 |
|
|
3169 |
</P>
|
|
3170 |
<DT><CODE>host</CODE>
|
|
3171 |
<DD><P>
|
|
3172 |
|
|
3173 |
System hostname as reported by <CODE>gethostname()</CODE>. Defaults to
|
|
3174 |
`<SAMP>nowhere</SAMP>'.
|
|
3175 |
</P>
|
|
3176 |
<P>
|
|
3177 |
|
|
3178 |
</P>
|
|
3179 |
<DT><CODE>title</CODE>
|
|
3180 |
<DD><P>
|
|
3181 |
|
|
3182 |
Document title as a string. This is the title specified in the PSPP
|
|
3183 |
syntax file.
|
|
3184 |
</P>
|
|
3185 |
<P>
|
|
3186 |
|
|
3187 |
</P>
|
|
3188 |
<DT><CODE>subtitle</CODE>
|
|
3189 |
<DD><P>
|
|
3190 |
|
|
3191 |
Document subtitle as a string.
|
|
3192 |
</P>
|
|
3193 |
<P>
|
|
3194 |
|
|
3195 |
</P>
|
|
3196 |
<DT><CODE>source-file</CODE>
|
|
3197 |
<DD><P>
|
|
3198 |
|
|
3199 |
PSPP syntax file name. Example: `<SAMP>mary96/first.stat</SAMP>'.
|
|
3200 |
</DL>
|
|
3201 |
<P>
|
|
3202 |
|
|
3203 |
<A NAME="Miscellaneous configuring"></A>
|
|
3204 |
<HR SIZE="6">
|
|
3205 |
<A NAME="SEC36"></A>
|
|
3206 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3207 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC35"> < </A>]</TD>
|
|
3208 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC37"> > </A>]</TD>
|
|
3209 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
3210 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
3211 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
3212 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3213 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3214 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3215 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3216 |
</TR></TABLE>
|
|
3217 |
<H2> 5.9 Miscellaneous configuration </H2>
|
|
3218 |
<!--docid::SEC36::-->
|
|
3219 |
<P>
|
|
3220 |
|
|
3221 |
The following environment variables can be used to further configure
|
|
3222 |
PSPP:
|
|
3223 |
</P>
|
|
3224 |
<P>
|
|
3225 |
|
|
3226 |
</P>
|
|
3227 |
<DL COMPACT>
|
|
3228 |
<DT><CODE>HOME</CODE>
|
|
3229 |
<DD><P>
|
|
3230 |
|
|
3231 |
Used to determine the user's home directory. No default value.
|
|
3232 |
</P>
|
|
3233 |
<P>
|
|
3234 |
|
|
3235 |
</P>
|
|
3236 |
<DT><CODE>STAT_INCLUDE_PATH</CODE>
|
|
3237 |
<DD><P>
|
|
3238 |
|
|
3239 |
Path used to find include files in PSPP syntax files. Defaults vary
|
|
3240 |
across operating systems:
|
|
3241 |
</P>
|
|
3242 |
<P>
|
|
3243 |
|
|
3244 |
</P>
|
|
3245 |
<DL COMPACT>
|
|
3246 |
<DT>UNIX
|
|
3247 |
<DD><P>
|
|
3248 |
|
|
3249 |
<UL>
|
|
3250 |
<LI>
|
|
3251 |
`<TT>.</TT>'
|
|
3252 |
<P>
|
|
3253 |
|
|
3254 |
</P>
|
|
3255 |
<LI>
|
|
3256 |
`<TT>~/.pspp/include</TT>'
|
|
3257 |
<P>
|
|
3258 |
|
|
3259 |
</P>
|
|
3260 |
<LI>
|
|
3261 |
`<TT>/usr/local/lib/pspp/include</TT>'
|
|
3262 |
<P>
|
|
3263 |
|
|
3264 |
</P>
|
|
3265 |
<LI>
|
|
3266 |
`<TT>/usr/lib/pspp/include</TT>'
|
|
3267 |
<P>
|
|
3268 |
|
|
3269 |
</P>
|
|
3270 |
<LI>
|
|
3271 |
`<TT>/usr/local/share/pspp/include</TT>'
|
|
3272 |
<P>
|
|
3273 |
|
|
3274 |
</P>
|
|
3275 |
<LI>
|
|
3276 |
`<TT>/usr/share/pspp/include</TT>'
|
|
3277 |
</UL>
|
|
3278 |
<P>
|
|
3279 |
|
|
3280 |
</P>
|
|
3281 |
<DT>MS-DOS
|
|
3282 |
<DD><P>
|
|
3283 |
|
|
3284 |
<UL>
|
|
3285 |
<LI>
|
|
3286 |
`<TT>.</TT>'
|
|
3287 |
<P>
|
|
3288 |
|
|
3289 |
</P>
|
|
3290 |
<LI>
|
|
3291 |
`<TT>C:\PSPP\INCLUDE</TT>'
|
|
3292 |
<P>
|
|
3293 |
|
|
3294 |
</P>
|
|
3295 |
<LI>
|
|
3296 |
`<TT>$PATH</TT>'
|
|
3297 |
</UL>
|
|
3298 |
<P>
|
|
3299 |
|
|
3300 |
</P>
|
|
3301 |
<DT>Other OSes
|
|
3302 |
<DD>No default path.
|
|
3303 |
</DL>
|
|
3304 |
<P>
|
|
3305 |
|
|
3306 |
</P>
|
|
3307 |
<DT><CODE>STAT_PAGER</CODE>
|
|
3308 |
<DD><DT><CODE>PAGER</CODE>
|
|
3309 |
<DD><P>
|
|
3310 |
|
|
3311 |
When PSPP invokes an external pager, it uses the first of these that
|
|
3312 |
is defined. There is a default pager only if the person who compiled
|
|
3313 |
PSPP defined one.
|
|
3314 |
</P>
|
|
3315 |
<P>
|
|
3316 |
|
|
3317 |
</P>
|
|
3318 |
<DT><CODE>TERM</CODE>
|
|
3319 |
<DD><P>
|
|
3320 |
|
|
3321 |
The terminal type <CODE>termcap</CODE> or <CODE>ncurses</CODE> will use, if such
|
|
3322 |
support was compiled into PSPP.
|
|
3323 |
</P>
|
|
3324 |
<P>
|
|
3325 |
|
|
3326 |
</P>
|
|
3327 |
<DT><CODE>STAT_OUTPUT_INIT_FILE</CODE>
|
|
3328 |
<DD><P>
|
|
3329 |
|
|
3330 |
The basename used to search for the driver definition file.
|
|
3331 |
See section <A HREF="pspp.html#SEC14">5.5 Output devices</A>. See section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>. Default: <CODE>devices</CODE>.
|
|
3332 |
</P>
|
|
3333 |
<P>
|
|
3334 |
|
|
3335 |
</P>
|
|
3336 |
<DT><CODE>STAT_OUTPUT_PAPERSIZE_FILE</CODE>
|
|
3337 |
<DD><P>
|
|
3338 |
|
|
3339 |
The basename used to search for the papersize file. See section <A HREF="pspp.html#SEC19">5.5.5 Paper sizes</A>.
|
|
3340 |
See section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>. Default: <CODE>papersize</CODE>.
|
|
3341 |
</P>
|
|
3342 |
<P>
|
|
3343 |
|
|
3344 |
</P>
|
|
3345 |
<DT><CODE>STAT_OUTPUT_INIT_PATH</CODE>
|
|
3346 |
<DD><P>
|
|
3347 |
|
|
3348 |
The path used to search for the driver definition file and the papersize
|
|
3349 |
file. See section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>. Default: the standard configuration path.
|
|
3350 |
</P>
|
|
3351 |
<P>
|
|
3352 |
|
|
3353 |
</P>
|
|
3354 |
<DT><CODE>TMPDIR</CODE>
|
|
3355 |
<DD><P>
|
|
3356 |
|
|
3357 |
The <CODE>sort</CODE> procedure stores its temporary files in this directory.
|
|
3358 |
Default: (UNIX) `<TT>/tmp</TT>', (MS-DOS) `<TT>\</TT>', (other OSes) empty string.
|
|
3359 |
</P>
|
|
3360 |
<P>
|
|
3361 |
|
|
3362 |
</P>
|
|
3363 |
<DT><CODE>TEMP</CODE>
|
|
3364 |
<DD><DT><CODE>TMP</CODE>
|
|
3365 |
<DD><P>
|
|
3366 |
|
|
3367 |
Under MS-DOS only, these variables are consulted after TMPDIR, in this
|
|
3368 |
order.
|
|
3369 |
</DL>
|
|
3370 |
<P>
|
|
3371 |
|
|
3372 |
<A NAME="Improving output quality"></A>
|
|
3373 |
<HR SIZE="6">
|
|
3374 |
<A NAME="SEC37"></A>
|
|
3375 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3376 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC36"> < </A>]</TD>
|
|
3377 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> > </A>]</TD>
|
|
3378 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
3379 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> Up </A>]</TD>
|
|
3380 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> >> </A>]</TD>
|
|
3381 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3382 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3383 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3384 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3385 |
</TR></TABLE>
|
|
3386 |
<H2> 5.10 Improving output quality </H2>
|
|
3387 |
<!--docid::SEC37::-->
|
|
3388 |
<P>
|
|
3389 |
|
|
3390 |
When its drivers are set up properly, PSPP can produce output that
|
|
3391 |
looks very good indeed. The PostScript driver, suitably configured, can
|
|
3392 |
produce presentation-quality output. Here are a few guidelines for
|
|
3393 |
producing better-looking output, regardless of output driver. Your
|
|
3394 |
mileage may vary, of course, and everyone has different esthetic
|
|
3395 |
preferences.
|
|
3396 |
</P>
|
|
3397 |
<P>
|
|
3398 |
|
|
3399 |
<UL>
|
|
3400 |
<LI>
|
|
3401 |
Width is important in PSPP output. Greater output width leads to more
|
|
3402 |
readable output, to a point. Try the following to increase the output
|
|
3403 |
width:
|
|
3404 |
<P>
|
|
3405 |
|
|
3406 |
<UL>
|
|
3407 |
<LI>
|
|
3408 |
If you're using the ASCII driver with a dot-matrix printer, figure out
|
|
3409 |
what you need to do to put the printer into compressed mode. Put that
|
|
3410 |
string into the <CODE>init-string</CODE> setting. Try to get 132 columns; 160
|
|
3411 |
might be better, but you might find that print that tiny is difficult to
|
|
3412 |
read.
|
|
3413 |
<P>
|
|
3414 |
|
|
3415 |
</P>
|
|
3416 |
<LI>
|
|
3417 |
With the PostScript driver, try these ideas:
|
|
3418 |
<P>
|
|
3419 |
|
|
3420 |
<UL>
|
|
3421 |
<LI>
|
|
3422 |
Landscape mode.
|
|
3423 |
<P>
|
|
3424 |
|
|
3425 |
</P>
|
|
3426 |
<LI>
|
|
3427 |
Legal-size (8.5" x 14") paper in landscape mode.
|
|
3428 |
<P>
|
|
3429 |
|
|
3430 |
</P>
|
|
3431 |
<LI>
|
|
3432 |
Reducing font sizes. If you're using 12-point fonts, try 10 point; if
|
|
3433 |
you're using 10-point fonts, try 8 point. Some fonts are more readable
|
|
3434 |
than others at small sizes.
|
|
3435 |
</UL>
|
|
3436 |
</UL>
|
|
3437 |
<P>
|
|
3438 |
|
|
3439 |
Try to strike a balance between character size and page width.
|
|
3440 |
</P>
|
|
3441 |
<P>
|
|
3442 |
|
|
3443 |
</P>
|
|
3444 |
<LI>
|
|
3445 |
Use high-quality fonts. Many public domain fonts are poor in quality.
|
|
3446 |
Recently, URW made some high-quality fonts available under the GPL.
|
|
3447 |
These are probably suitable.
|
|
3448 |
<P>
|
|
3449 |
|
|
3450 |
</P>
|
|
3451 |
<LI>
|
|
3452 |
Be sure you're using the proper font metrics. The font metrics provided
|
|
3453 |
with PSPP may not correspond to the fonts actually being printed.
|
|
3454 |
This can cause bizarre-looking output.
|
|
3455 |
<P>
|
|
3456 |
|
|
3457 |
</P>
|
|
3458 |
<LI>
|
|
3459 |
Make sure that you're using good ink/ribbon/toner. Darker print is
|
|
3460 |
easier to read.
|
|
3461 |
<P>
|
|
3462 |
|
|
3463 |
</P>
|
|
3464 |
<LI>
|
|
3465 |
Use plain fonts with serifs, such as Times-Roman or Palatino. Avoid
|
|
3466 |
choosing italic or bold fonts as document base fonts.
|
|
3467 |
</UL>
|
|
3468 |
<P>
|
|
3469 |
|
|
3470 |
<A NAME="Invocation"></A>
|
|
3471 |
<HR SIZE="6">
|
|
3472 |
<A NAME="SEC38"></A>
|
|
3473 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3474 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC37"> < </A>]</TD>
|
|
3475 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC39"> > </A>]</TD>
|
|
3476 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC6"> << </A>]</TD>
|
|
3477 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
3478 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3479 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3480 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3481 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3482 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3483 |
</TR></TABLE>
|
|
3484 |
<H1> 6. Invoking PSPP </H1>
|
|
3485 |
<!--docid::SEC38::-->
|
|
3486 |
<P>
|
|
3487 |
|
|
3488 |
<A NAME="IDX44"></A>
|
|
3489 |
<A NAME="IDX45"></A>
|
|
3490 |
<TABLE><tr><td> </td><td class=example><pre>pspp [ -B <VAR>dir</VAR> | --config-dir=<VAR>dir</VAR> ] [ -o <VAR>device</VAR> | --device=<VAR>device</VAR> ]
|
|
3491 |
[ -d <VAR>var</VAR>[=<VAR>value</VAR>] | --define=<VAR>var</VAR>[=<VAR>value</VAR>] ] [-u <VAR>var</VAR> | --undef=<VAR>var</VAR> ]
|
|
3492 |
[ -f <VAR>file</VAR> | --out-file=<VAR>file</VAR> ] [ -p | --pipe ] [ -I- | --no-include ]
|
|
3493 |
[ -I <VAR>dir</VAR> | --include=<VAR>dir</VAR> ] [ -i | --interactive ]
|
|
3494 |
[ -n | --edit | --dry-run | --just-print | --recon ]
|
|
3495 |
[ -r | --no-statrc ] [ -h | --help ] [ -l | --list ]
|
|
3496 |
[ -c <VAR>command</VAR> | --command <VAR>command</VAR> ] [ -s | --safer ]
|
|
3497 |
[ --testing-mode ] [ -V | --version ] [ -v | --verbose ]
|
|
3498 |
[ <VAR>key</VAR>=<VAR>value</VAR> ] <VAR>file</VAR><small>....</small>
|
|
3499 |
</pre></td></tr></table><P>
|
|
3500 |
|
|
3501 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
3502 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC39">6.1 Non-option Arguments</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Specifying syntax files and output devices.</TD></TR>
|
|
3503 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC40">6.2 Configuration Options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Change the configuration for the current run.</TD></TR>
|
|
3504 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC41">6.3 Input and output options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Controlling input and output files.</TD></TR>
|
|
3505 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC42">6.4 Language control options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Language variants.</TD></TR>
|
|
3506 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC43">6.5 Informational options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Helpful information about PSPP.</TD></TR>
|
|
3507 |
</TABLE>
|
|
3508 |
<P>
|
|
3509 |
|
|
3510 |
<A NAME="Non-option Arguments"></A>
|
|
3511 |
<HR SIZE="6">
|
|
3512 |
<A NAME="SEC39"></A>
|
|
3513 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3514 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> < </A>]</TD>
|
|
3515 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC40"> > </A>]</TD>
|
|
3516 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3517 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> Up </A>]</TD>
|
|
3518 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3519 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3520 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3521 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3522 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3523 |
</TR></TABLE>
|
|
3524 |
<H2> 6.1 Non-option Arguments </H2>
|
|
3525 |
<!--docid::SEC39::-->
|
|
3526 |
<P>
|
|
3527 |
|
|
3528 |
Syntax files and output device substitutions can be specified on
|
|
3529 |
PSPP's command line:
|
|
3530 |
</P>
|
|
3531 |
<P>
|
|
3532 |
|
|
3533 |
</P>
|
|
3534 |
<DL COMPACT>
|
|
3535 |
<DT><CODE><VAR>file</VAR></CODE>
|
|
3536 |
<DD><P>
|
|
3537 |
|
|
3538 |
A file by itself on the command line will be executed as a syntax file.
|
|
3539 |
PSPP terminates after the syntax file runs, unless the <CODE>-i</CODE> or
|
|
3540 |
<CODE>--interactive</CODE> option is given (see section <A HREF="pspp.html#SEC42">6.4 Language control options</A>).
|
|
3541 |
</P>
|
|
3542 |
<P>
|
|
3543 |
|
|
3544 |
</P>
|
|
3545 |
<DT><CODE><VAR>file1</VAR> <VAR>file2</VAR></CODE>
|
|
3546 |
<DD><P>
|
|
3547 |
|
|
3548 |
When two or more filenames are given on the command line, the first
|
|
3549 |
syntax file is executed, then PSPP's dictionary is cleared, then the second
|
|
3550 |
syntax file is executed.
|
|
3551 |
</P>
|
|
3552 |
<P>
|
|
3553 |
|
|
3554 |
</P>
|
|
3555 |
<DT><CODE><VAR>file1</VAR> + <VAR>file2</VAR></CODE>
|
|
3556 |
<DD><P>
|
|
3557 |
|
|
3558 |
If syntax files' names are delimited by a plus sign (`<SAMP>+</SAMP>'), then the
|
|
3559 |
dictionary is not cleared between their executions, as if they were
|
|
3560 |
concatenated together into a single file.
|
|
3561 |
</P>
|
|
3562 |
<P>
|
|
3563 |
|
|
3564 |
</P>
|
|
3565 |
<DT><CODE><VAR>key</VAR>=<VAR>value</VAR></CODE>
|
|
3566 |
<DD><P>
|
|
3567 |
|
|
3568 |
Defines an output device macro <VAR>key</VAR> to expand to <VAR>value</VAR>,
|
|
3569 |
overriding any macro having the same <VAR>key</VAR> defined in the device
|
|
3570 |
configuration file. See section <A HREF="pspp.html#SEC16">5.5.2 Macro definitions</A>.
|
|
3571 |
</P>
|
|
3572 |
<P>
|
|
3573 |
|
|
3574 |
</DL>
|
|
3575 |
<P>
|
|
3576 |
|
|
3577 |
There is one other way to specify a syntax file, if your operating
|
|
3578 |
system supports it. If you have a syntax file `<TT>foobar.stat</TT>', put
|
|
3579 |
the notation
|
|
3580 |
</P>
|
|
3581 |
<P>
|
|
3582 |
|
|
3583 |
<TABLE><tr><td> </td><td class=example><pre>#! /usr/local/bin/pspp
|
|
3584 |
</pre></td></tr></table><P>
|
|
3585 |
|
|
3586 |
at the top, and mark the file as executable with <CODE>chmod +x
|
|
3587 |
foobar.stat</CODE>. (If PSPP is not installed in `<TT>/usr/local/bin</TT>',
|
|
3588 |
then insert its actual installation directory into the syntax file
|
|
3589 |
instead.) Now you should be able to invoke the syntax file just by
|
|
3590 |
typing its name. You can include any options on the command line as
|
|
3591 |
usual. PSPP entirely ignores any lines beginning with `<SAMP>#!</SAMP>'.
|
|
3592 |
</P>
|
|
3593 |
<P>
|
|
3594 |
|
|
3595 |
<A NAME="Configuration Options"></A>
|
|
3596 |
<HR SIZE="6">
|
|
3597 |
<A NAME="SEC40"></A>
|
|
3598 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3599 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC39"> < </A>]</TD>
|
|
3600 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC41"> > </A>]</TD>
|
|
3601 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3602 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> Up </A>]</TD>
|
|
3603 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3604 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3605 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3606 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3607 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3608 |
</TR></TABLE>
|
|
3609 |
<H2> 6.2 Configuration Options </H2>
|
|
3610 |
<!--docid::SEC40::-->
|
|
3611 |
<P>
|
|
3612 |
|
|
3613 |
Configuration options are used to change PSPP's configuration for the
|
|
3614 |
current run. The configuration options are:
|
|
3615 |
</P>
|
|
3616 |
<P>
|
|
3617 |
|
|
3618 |
</P>
|
|
3619 |
<DL COMPACT>
|
|
3620 |
<DT><CODE>-B <VAR>dir</VAR></CODE>
|
|
3621 |
<DD><DT><CODE>--config-dir=<VAR>dir</VAR></CODE>
|
|
3622 |
<DD><P>
|
|
3623 |
|
|
3624 |
Sets the configuration directory to <VAR>dir</VAR>. See section <A HREF="pspp.html#SEC7">5.1 Locating configuration files</A>.
|
|
3625 |
</P>
|
|
3626 |
<P>
|
|
3627 |
|
|
3628 |
</P>
|
|
3629 |
<DT><CODE>-o <VAR>device</VAR></CODE>
|
|
3630 |
<DD><DT><CODE>--device=<VAR>device</VAR></CODE>
|
|
3631 |
<DD><P>
|
|
3632 |
|
|
3633 |
Selects the output device with name <VAR>device</VAR>. If this option is
|
|
3634 |
given more than once, then all devices mentioned are selected. This
|
|
3635 |
option disables all devices besides those mentioned on the command line.
|
|
3636 |
</P>
|
|
3637 |
<P>
|
|
3638 |
|
|
3639 |
</P>
|
|
3640 |
<DT><CODE>-d <VAR>var</VAR>[=<VAR>value</VAR>]</CODE>
|
|
3641 |
<DD><DT><CODE>--define=<VAR>var</VAR>[=<VAR>value</VAR>]</CODE>
|
|
3642 |
<DD><P>
|
|
3643 |
|
|
3644 |
Defines an `environment variable' named <VAR>var</VAR> having the optional
|
|
3645 |
value <VAR>value</VAR> specified. See section <A HREF="pspp.html#SEC11">5.4.1 Values of environment variables</A>.
|
|
3646 |
</P>
|
|
3647 |
<P>
|
|
3648 |
|
|
3649 |
</P>
|
|
3650 |
<DT><CODE>-u <VAR>var</VAR></CODE>
|
|
3651 |
<DD><DT><CODE>--undef=<VAR>var</VAR></CODE>
|
|
3652 |
<DD><P>
|
|
3653 |
|
|
3654 |
Undefines the `environment variable' named <VAR>var</VAR>. See section <A HREF="pspp.html#SEC11">5.4.1 Values of environment variables</A>.
|
|
3655 |
</DL>
|
|
3656 |
<P>
|
|
3657 |
|
|
3658 |
<A NAME="Input and output options"></A>
|
|
3659 |
<HR SIZE="6">
|
|
3660 |
<A NAME="SEC41"></A>
|
|
3661 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3662 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC40"> < </A>]</TD>
|
|
3663 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC42"> > </A>]</TD>
|
|
3664 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3665 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> Up </A>]</TD>
|
|
3666 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3667 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3668 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3669 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3670 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3671 |
</TR></TABLE>
|
|
3672 |
<H2> 6.3 Input and output options </H2>
|
|
3673 |
<!--docid::SEC41::-->
|
|
3674 |
<P>
|
|
3675 |
|
|
3676 |
Input and output options affect how PSPP reads input and writes
|
|
3677 |
output. These are the input and output options:
|
|
3678 |
</P>
|
|
3679 |
<P>
|
|
3680 |
|
|
3681 |
</P>
|
|
3682 |
<DL COMPACT>
|
|
3683 |
<DT><CODE>-f <VAR>file</VAR></CODE>
|
|
3684 |
<DD><DT><CODE>--out-file=<VAR>file</VAR></CODE>
|
|
3685 |
<DD><P>
|
|
3686 |
|
|
3687 |
This overrides the output file name for devices designated as listing
|
|
3688 |
devices. If a file named <VAR>file</VAR> already exists, it is overwritten.
|
|
3689 |
</P>
|
|
3690 |
<P>
|
|
3691 |
|
|
3692 |
</P>
|
|
3693 |
<DT><CODE>-p</CODE>
|
|
3694 |
<DD><DT><CODE>--pipe</CODE>
|
|
3695 |
<DD><P>
|
|
3696 |
|
|
3697 |
Allows PSPP to be used as a filter by causing the syntax file to be
|
|
3698 |
read from stdin and output to be written to stdout. Conflicts with the
|
|
3699 |
<CODE>-f <VAR>file</VAR></CODE> and <CODE>--file=<VAR>file</VAR></CODE> options.
|
|
3700 |
</P>
|
|
3701 |
<P>
|
|
3702 |
|
|
3703 |
</P>
|
|
3704 |
<DT><CODE>-I-</CODE>
|
|
3705 |
<DD><DT><CODE>--no-include</CODE>
|
|
3706 |
<DD><P>
|
|
3707 |
|
|
3708 |
Clears all directories from the include path. This includes all
|
|
3709 |
directories put in the include path by default. See section <A HREF="pspp.html#SEC36">5.9 Miscellaneous configuration</A>.
|
|
3710 |
</P>
|
|
3711 |
<P>
|
|
3712 |
|
|
3713 |
</P>
|
|
3714 |
<DT><CODE>-I <VAR>dir</VAR></CODE>
|
|
3715 |
<DD><DT><CODE>--include=<VAR>dir</VAR></CODE>
|
|
3716 |
<DD><P>
|
|
3717 |
|
|
3718 |
Appends directory <VAR>dir</VAR> to the path that is searched for include
|
|
3719 |
files in PSPP syntax files.
|
|
3720 |
</P>
|
|
3721 |
<P>
|
|
3722 |
|
|
3723 |
</P>
|
|
3724 |
<DT><CODE>-c <VAR>command</VAR></CODE>
|
|
3725 |
<DD><DT><CODE>--command=<VAR>command</VAR></CODE>
|
|
3726 |
<DD><P>
|
|
3727 |
|
|
3728 |
Execute literal command <VAR>command</VAR>. The command is executed before
|
|
3729 |
startup syntax files, if any.
|
|
3730 |
</P>
|
|
3731 |
<P>
|
|
3732 |
|
|
3733 |
</P>
|
|
3734 |
<DT><CODE>--testing-mode</CODE>
|
|
3735 |
<DD><P>
|
|
3736 |
|
|
3737 |
Invoke heuristics to assist with testing PSPP. For use by <CODE>make
|
|
3738 |
check</CODE> and similar scripts.
|
|
3739 |
</DL>
|
|
3740 |
<P>
|
|
3741 |
|
|
3742 |
<A NAME="Language control options"></A>
|
|
3743 |
<HR SIZE="6">
|
|
3744 |
<A NAME="SEC42"></A>
|
|
3745 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3746 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC41"> < </A>]</TD>
|
|
3747 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC43"> > </A>]</TD>
|
|
3748 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3749 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> Up </A>]</TD>
|
|
3750 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3751 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3752 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3753 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3754 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3755 |
</TR></TABLE>
|
|
3756 |
<H2> 6.4 Language control options </H2>
|
|
3757 |
<!--docid::SEC42::-->
|
|
3758 |
<P>
|
|
3759 |
|
|
3760 |
Language control options control how PSPP syntax files are parsed and
|
|
3761 |
interpreted. The available language control options are:
|
|
3762 |
</P>
|
|
3763 |
<P>
|
|
3764 |
|
|
3765 |
</P>
|
|
3766 |
<DL COMPACT>
|
|
3767 |
<DT><CODE>-i</CODE>
|
|
3768 |
<DD><DT><CODE>--interactive</CODE>
|
|
3769 |
<DD><P>
|
|
3770 |
|
|
3771 |
When a syntax file is specified on the command line, PSPP normally
|
|
3772 |
terminates after processing it. Giving this option will cause PSPP to
|
|
3773 |
bring up a command prompt after processing the syntax file.
|
|
3774 |
</P>
|
|
3775 |
<P>
|
|
3776 |
|
|
3777 |
In addition, this forces syntax files to be interpreted in interactive
|
|
3778 |
mode, rather than the default batch mode. See section <A HREF="pspp.html#SEC21">5.5.7 How lines are divided into tokens</A>, for
|
|
3779 |
information on the differences between batch mode and interactive mode
|
|
3780 |
command interpretation.
|
|
3781 |
</P>
|
|
3782 |
<P>
|
|
3783 |
|
|
3784 |
</P>
|
|
3785 |
<DT><CODE>-n</CODE>
|
|
3786 |
<DD><DT><CODE>--edit</CODE>
|
|
3787 |
<DD><DT><CODE>--dry-run</CODE>
|
|
3788 |
<DD><DT><CODE>--just-print</CODE>
|
|
3789 |
<DD><DT><CODE>--recon</CODE>
|
|
3790 |
<DD><P>
|
|
3791 |
|
|
3792 |
Only the syntax of any syntax file specified or of commands entered at
|
|
3793 |
the command line is checked. Transformations are not performed and
|
|
3794 |
procedures are not executed. Not yet implemented.
|
|
3795 |
</P>
|
|
3796 |
<P>
|
|
3797 |
|
|
3798 |
</P>
|
|
3799 |
<DT><CODE>-r</CODE>
|
|
3800 |
<DD><DT><CODE>--no-statrc</CODE>
|
|
3801 |
<DD><P>
|
|
3802 |
|
|
3803 |
Prevents the execution of the PSPP startup syntax file. Not yet
|
|
3804 |
implemented, as startup syntax files aren't, either.
|
|
3805 |
</P>
|
|
3806 |
<P>
|
|
3807 |
|
|
3808 |
</P>
|
|
3809 |
<DT><CODE>-s</CODE>
|
|
3810 |
<DD><DT><CODE>--safer</CODE>
|
|
3811 |
<DD><P>
|
|
3812 |
|
|
3813 |
Disables certain unsafe operations. This includes the <CODE>ERASE</CODE> and
|
|
3814 |
<CODE>HOST</CODE> commands, as well as use of pipes as input and output files.
|
|
3815 |
</DL>
|
|
3816 |
<P>
|
|
3817 |
|
|
3818 |
<A NAME="Informational options"></A>
|
|
3819 |
<HR SIZE="6">
|
|
3820 |
<A NAME="SEC43"></A>
|
|
3821 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3822 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC42"> < </A>]</TD>
|
|
3823 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> > </A>]</TD>
|
|
3824 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3825 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> Up </A>]</TD>
|
|
3826 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> >> </A>]</TD>
|
|
3827 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3828 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3829 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3830 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3831 |
</TR></TABLE>
|
|
3832 |
<H2> 6.5 Informational options </H2>
|
|
3833 |
<!--docid::SEC43::-->
|
|
3834 |
<P>
|
|
3835 |
|
|
3836 |
Informational options cause information about PSPP to be written to
|
|
3837 |
the terminal. Here are the available options:
|
|
3838 |
</P>
|
|
3839 |
<P>
|
|
3840 |
|
|
3841 |
</P>
|
|
3842 |
<DL COMPACT>
|
|
3843 |
<DT><CODE>-h</CODE>
|
|
3844 |
<DD><DT><CODE>--help</CODE>
|
|
3845 |
<DD><P>
|
|
3846 |
|
|
3847 |
Prints a message describing PSPP command-line syntax and the available
|
|
3848 |
device driver classes, then terminates.
|
|
3849 |
</P>
|
|
3850 |
<P>
|
|
3851 |
|
|
3852 |
</P>
|
|
3853 |
<DT><CODE>-l</CODE>
|
|
3854 |
<DD><DT><CODE>--list</CODE>
|
|
3855 |
<DD><P>
|
|
3856 |
|
|
3857 |
Lists the available device driver classes, then terminates.
|
|
3858 |
</P>
|
|
3859 |
<P>
|
|
3860 |
|
|
3861 |
</P>
|
|
3862 |
<DT><CODE>-V</CODE>
|
|
3863 |
<DD><DT><CODE>--version</CODE>
|
|
3864 |
<DD><P>
|
|
3865 |
|
|
3866 |
Prints a brief message listing PSPP's version, warranties you don't
|
|
3867 |
have, copying conditions and copyright, and e-mail address for bug
|
|
3868 |
reports, then terminates.
|
|
3869 |
</P>
|
|
3870 |
<P>
|
|
3871 |
|
|
3872 |
</P>
|
|
3873 |
<DT><CODE>-v</CODE>
|
|
3874 |
<DD><DT><CODE>--verbose</CODE>
|
|
3875 |
<DD><P>
|
|
3876 |
|
|
3877 |
Increments PSPP's verbosity level. Higher verbosity levels cause
|
|
3878 |
PSPP to display greater amounts of information about what it is
|
|
3879 |
doing. Often useful for debugging PSPP's configuration.
|
|
3880 |
</P>
|
|
3881 |
<P>
|
|
3882 |
|
|
3883 |
This option can be given multiple times to set the verbosity level to
|
|
3884 |
that value. The default verbosity level is 0, in which no informational
|
|
3885 |
messages will be displayed.
|
|
3886 |
</P>
|
|
3887 |
<P>
|
|
3888 |
|
|
3889 |
Higher verbosity levels cause messages to be displayed when the
|
|
3890 |
corresponding events take place.
|
|
3891 |
</P>
|
|
3892 |
<P>
|
|
3893 |
|
|
3894 |
</P>
|
|
3895 |
<DL COMPACT>
|
|
3896 |
<DT>1
|
|
3897 |
<DD><P>
|
|
3898 |
|
|
3899 |
Driver and subsystem initializations.
|
|
3900 |
</P>
|
|
3901 |
<P>
|
|
3902 |
|
|
3903 |
</P>
|
|
3904 |
<DT>2
|
|
3905 |
<DD><P>
|
|
3906 |
|
|
3907 |
Completion of driver initializations. Beginning of driver closings.
|
|
3908 |
</P>
|
|
3909 |
<P>
|
|
3910 |
|
|
3911 |
</P>
|
|
3912 |
<DT>3
|
|
3913 |
<DD><P>
|
|
3914 |
|
|
3915 |
Completion of driver closings.
|
|
3916 |
</P>
|
|
3917 |
<P>
|
|
3918 |
|
|
3919 |
</P>
|
|
3920 |
<DT>4
|
|
3921 |
<DD><P>
|
|
3922 |
|
|
3923 |
Files searched for; success of searches.
|
|
3924 |
</P>
|
|
3925 |
<P>
|
|
3926 |
|
|
3927 |
</P>
|
|
3928 |
<DT>5
|
|
3929 |
<DD><P>
|
|
3930 |
|
|
3931 |
Individual directories included in file searches.
|
|
3932 |
</DL>
|
|
3933 |
<P>
|
|
3934 |
|
|
3935 |
Each verbosity level also includes messages from lower verbosity levels.
|
|
3936 |
</P>
|
|
3937 |
<P>
|
|
3938 |
|
|
3939 |
</DL>
|
|
3940 |
<P>
|
|
3941 |
|
|
3942 |
<A NAME="Language"></A>
|
|
3943 |
<HR SIZE="6">
|
|
3944 |
<A NAME="SEC44"></A>
|
|
3945 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3946 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC43"> < </A>]</TD>
|
|
3947 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC45"> > </A>]</TD>
|
|
3948 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC38"> << </A>]</TD>
|
|
3949 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
3950 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
3951 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3952 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3953 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3954 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3955 |
</TR></TABLE>
|
|
3956 |
<H1> 7. The PSPP language </H1>
|
|
3957 |
<!--docid::SEC44::-->
|
|
3958 |
<P>
|
|
3959 |
|
|
3960 |
<BLOCKQUOTE>
|
|
3961 |
<STRONG>Please note:</STRONG> PSPP is not even close to completion.
|
|
3962 |
Only a few actual statistical procedures are implemented. PSPP
|
|
3963 |
is a work in progress.
|
|
3964 |
</BLOCKQUOTE>
|
|
3965 |
<P>
|
|
3966 |
|
|
3967 |
This chapter discusses elements common to many PSPP commands.
|
|
3968 |
Later chapters will describe individual commands in detail.
|
|
3969 |
</P>
|
|
3970 |
<P>
|
|
3971 |
|
|
3972 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
3973 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Characters combine to form tokens.</TD></TR>
|
|
3974 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Tokens combine to form commands.</TD></TR>
|
|
3975 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC47">7.3 Types of Commands</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Commands come in several flavors.</TD></TR>
|
|
3976 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC48">7.4 Order of Commands</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Commands combine to form syntax files.</TD></TR>
|
|
3977 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC49">7.5 Handling missing observations</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
3978 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC50">7.6 Variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">The unit of data storage.</TD></TR>
|
|
3979 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Files used by PSPP.</TD></TR>
|
|
3980 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">How command syntax is described.</TD></TR>
|
|
3981 |
</TABLE>
|
|
3982 |
<P>
|
|
3983 |
|
|
3984 |
<A NAME="Tokens"></A>
|
|
3985 |
<HR SIZE="6">
|
|
3986 |
<A NAME="SEC45"></A>
|
|
3987 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
3988 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> < </A>]</TD>
|
|
3989 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC46"> > </A>]</TD>
|
|
3990 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
3991 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
3992 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
3993 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
3994 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
3995 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
3996 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
3997 |
</TR></TABLE>
|
|
3998 |
<H2> 7.1 Tokens </H2>
|
|
3999 |
<!--docid::SEC45::-->
|
|
4000 |
<P>
|
|
4001 |
|
|
4002 |
PSPP divides most syntax file lines into series of short chunks
|
|
4003 |
called <EM>tokens</EM>, <EM>lexical elements</EM>, or <EM>lexemes</EM>. These
|
|
4004 |
tokens are then grouped to form commands, each of which tells
|
|
4005 |
PSPP to take some action--read in data, write out data, perform
|
|
4006 |
a statistical procedure, etc. The process of dividing input into tokens
|
|
4007 |
is <EM>tokenization</EM>, or <EM>lexical analysis</EM>. Each type of token is
|
|
4008 |
described below.
|
|
4009 |
</P>
|
|
4010 |
<P>
|
|
4011 |
|
|
4012 |
<A NAME="IDX46"></A>
|
|
4013 |
<A NAME="IDX47"></A>
|
|
4014 |
Tokens must be separated from each other by <EM>delimiters</EM>.
|
|
4015 |
Delimiters include whitespace (spaces, tabs, carriage returns, line
|
|
4016 |
feeds, vertical tabs), punctuation (commas, forward slashes, etc.), and
|
|
4017 |
operators (plus, minus, times, divide, etc.) Note that while whitespace
|
|
4018 |
only separates tokens, other delimiters are tokens in themselves.
|
|
4019 |
</P>
|
|
4020 |
<P>
|
|
4021 |
|
|
4022 |
</P>
|
|
4023 |
<DL COMPACT>
|
|
4024 |
<A NAME="IDX48"></A>
|
|
4025 |
<DT><STRONG>Identifiers</STRONG>
|
|
4026 |
<DD>Identifiers are names that specify variable names, commands, or command
|
|
4027 |
details.
|
|
4028 |
<P>
|
|
4029 |
|
|
4030 |
<UL>
|
|
4031 |
<LI>
|
|
4032 |
The first character in an identifier must be a letter, `<SAMP>#</SAMP>', or
|
|
4033 |
`<SAMP>@</SAMP>'. Some system identifiers begin with `<SAMP>$</SAMP>', but
|
|
4034 |
user-defined variables' names may not begin with `<SAMP>$</SAMP>'.
|
|
4035 |
<P>
|
|
4036 |
|
|
4037 |
</P>
|
|
4038 |
<LI>
|
|
4039 |
The remaining characters in the identifier must be letters, digits, or
|
|
4040 |
one of the following special characters:
|
|
4041 |
<P>
|
|
4042 |
|
|
4043 |
<TABLE><tr><td> </td><td class=example><pre>. _ $ # @
|
|
4044 |
</pre></td></tr></table><P>
|
|
4045 |
|
|
4046 |
</P>
|
|
4047 |
<LI>
|
|
4048 |
<A NAME="IDX49"></A>
|
|
4049 |
<A NAME="IDX50"></A>
|
|
4050 |
Variable names may be any length, but only the first 8 characters are
|
|
4051 |
significant.
|
|
4052 |
<P>
|
|
4053 |
|
|
4054 |
</P>
|
|
4055 |
<LI>
|
|
4056 |
<A NAME="IDX51"></A>
|
|
4057 |
Identifiers are not case-sensitive: <CODE>foobar</CODE>, <CODE>Foobar</CODE>,
|
|
4058 |
<CODE>FooBar</CODE>, <CODE>FOOBAR</CODE>, and <CODE>FoObaR</CODE> are different
|
|
4059 |
representations of the same identifier.
|
|
4060 |
<P>
|
|
4061 |
|
|
4062 |
</P>
|
|
4063 |
<LI>
|
|
4064 |
<A NAME="IDX52"></A>
|
|
4065 |
Identifiers other than variable names may be abbreviated to their first
|
|
4066 |
3 characters if this abbreviation is unambiguous. These identifiers are
|
|
4067 |
often called <EM>keywords</EM>. (Unique abbreviations of more than 3
|
|
4068 |
characters are also accepted: `<SAMP>FRE</SAMP>', `<SAMP>FREQ</SAMP>', and
|
|
4069 |
`<SAMP>FREQUENCIES</SAMP>' are equivalent when the last is a keyword.)
|
|
4070 |
<P>
|
|
4071 |
|
|
4072 |
</P>
|
|
4073 |
<LI>
|
|
4074 |
Whether an identifier is a keyword depends on the context.
|
|
4075 |
<P>
|
|
4076 |
|
|
4077 |
</P>
|
|
4078 |
<LI>
|
|
4079 |
<A NAME="IDX53"></A>
|
|
4080 |
<A NAME="IDX54"></A>
|
|
4081 |
Some keywords are reserved. These keywords may not be used in any
|
|
4082 |
context besides those explicitly described in this manual. The reserved
|
|
4083 |
keywords are:
|
|
4084 |
<P>
|
|
4085 |
|
|
4086 |
<TABLE><tr><td> </td><td class=example><pre>ALL AND BY EQ GE GT LE LT NE NOT OR TO WITH
|
|
4087 |
</pre></td></tr></table><P>
|
|
4088 |
|
|
4089 |
</P>
|
|
4090 |
<LI>
|
|
4091 |
Since keywords are identifiers, all the rules for identifiers apply.
|
|
4092 |
Specifically, they must be delimited as are other identifiers:
|
|
4093 |
<CODE>WITH</CODE> is a reserved keyword, but <CODE>WITHOUT</CODE> is a valid
|
|
4094 |
variable name.
|
|
4095 |
</UL>
|
|
4096 |
<P>
|
|
4097 |
|
|
4098 |
<A NAME="IDX55"></A>
|
|
4099 |
<A NAME="IDX56"></A>
|
|
4100 |
<A NAME="IDX57"></A>
|
|
4101 |
<STRONG>Caution:</STRONG> It is legal to end a variable name with a period, but
|
|
4102 |
<EM>don't do it!</EM> The variable name will be misinterpreted when it is
|
|
4103 |
the final token on a line: <CODE>FOO.</CODE> will be divided into two separate
|
|
4104 |
tokens, `<SAMP>FOO</SAMP>' and `<SAMP>.</SAMP>', the <EM>terminal dot</EM>.
|
|
4105 |
See section <A HREF="pspp.html#SEC46">Forming commands of tokens</A>.
|
|
4106 |
</P>
|
|
4107 |
<P>
|
|
4108 |
|
|
4109 |
</P>
|
|
4110 |
<DT><STRONG>Numbers</STRONG>
|
|
4111 |
<DD><A NAME="IDX58"></A>
|
|
4112 |
<A NAME="IDX59"></A>
|
|
4113 |
<A NAME="IDX60"></A>
|
|
4114 |
Numbers may be specified as integers or reals. Integers are internally
|
|
4115 |
converted into reals. Scientific notation is not supported. Here are
|
|
4116 |
some examples of valid numbers:
|
|
4117 |
<P>
|
|
4118 |
|
|
4119 |
<TABLE><tr><td> </td><td class=example><pre>1234 3.14159265359 .707106781185 8945.
|
|
4120 |
</pre></td></tr></table><P>
|
|
4121 |
|
|
4122 |
<STRONG>Caution:</STRONG> The last example will be interpreted as two tokens,
|
|
4123 |
`<SAMP>8945</SAMP>' and `<SAMP>.</SAMP>', if it is the last token on a line.
|
|
4124 |
</P>
|
|
4125 |
<P>
|
|
4126 |
|
|
4127 |
</P>
|
|
4128 |
<DT><STRONG>Strings</STRONG>
|
|
4129 |
<DD><A NAME="IDX61"></A>
|
|
4130 |
<A NAME="IDX62"></A>
|
|
4131 |
<A NAME="IDX63"></A>
|
|
4132 |
<A NAME="IDX64"></A>
|
|
4133 |
Strings are literal sequences of characters enclosed in pairs of single
|
|
4134 |
quotes (`<SAMP>'</SAMP>') or double quotes (`<SAMP>"</SAMP>').
|
|
4135 |
<P>
|
|
4136 |
|
|
4137 |
<UL>
|
|
4138 |
<LI>
|
|
4139 |
Whitespace and case of letters <EM>are</EM> significant inside strings.
|
|
4140 |
<LI>
|
|
4141 |
Whitespace characters inside a string are not delimiters.
|
|
4142 |
<LI>
|
|
4143 |
To include single-quote characters in a string, enclose the string in
|
|
4144 |
double quotes.
|
|
4145 |
<LI>
|
|
4146 |
To include double-quote characters in a string, enclose the string in
|
|
4147 |
single quotes.
|
|
4148 |
<LI>
|
|
4149 |
It is not possible to put both single- and double-quote characters
|
|
4150 |
inside one string.
|
|
4151 |
</UL>
|
|
4152 |
<P>
|
|
4153 |
|
|
4154 |
</P>
|
|
4155 |
<DT><STRONG>Hexstrings</STRONG>
|
|
4156 |
<DD><A NAME="IDX65"></A>
|
|
4157 |
Hexstrings are string variants that use hex digits to specify
|
|
4158 |
characters.
|
|
4159 |
<P>
|
|
4160 |
|
|
4161 |
<UL>
|
|
4162 |
<LI>
|
|
4163 |
A hexstring may be used anywhere that an ordinary string is allowed.
|
|
4164 |
<P>
|
|
4165 |
|
|
4166 |
</P>
|
|
4167 |
<LI>
|
|
4168 |
<A NAME="IDX66"></A>
|
|
4169 |
<A NAME="IDX67"></A>
|
|
4170 |
A hexstring begins with `<SAMP>X'</SAMP>' or `<SAMP>x'</SAMP>', and ends with `<SAMP>'</SAMP>'.
|
|
4171 |
<P>
|
|
4172 |
|
|
4173 |
<A NAME="IDX68"></A>
|
|
4174 |
</P>
|
|
4175 |
<LI>
|
|
4176 |
No whitespace is allowed between the initial `<SAMP>X</SAMP>' and `<SAMP>'</SAMP>'.
|
|
4177 |
<P>
|
|
4178 |
|
|
4179 |
</P>
|
|
4180 |
<LI>
|
|
4181 |
Double quotes `<SAMP>"</SAMP>' may be used in place of single quotes `<SAMP>'</SAMP>' if
|
|
4182 |
done in both places.
|
|
4183 |
<P>
|
|
4184 |
|
|
4185 |
</P>
|
|
4186 |
<LI>
|
|
4187 |
Each pair of hex digits is internally changed into a single character
|
|
4188 |
with the given value.
|
|
4189 |
<P>
|
|
4190 |
|
|
4191 |
</P>
|
|
4192 |
<LI>
|
|
4193 |
If there is an odd number of hex digits, the missing last digit is
|
|
4194 |
assumed to be `<SAMP>0</SAMP>'.
|
|
4195 |
<P>
|
|
4196 |
|
|
4197 |
</P>
|
|
4198 |
<LI>
|
|
4199 |
<A NAME="IDX69"></A>
|
|
4200 |
<STRONG>Please note:</STRONG> Use of hexstrings is nonportable because the same
|
|
4201 |
numeric values are associated with different glyphs by different
|
|
4202 |
operating systems. Therefore, their use should be confined to syntax
|
|
4203 |
files that will not be widely distributed.
|
|
4204 |
<P>
|
|
4205 |
|
|
4206 |
</P>
|
|
4207 |
<LI>
|
|
4208 |
<A NAME="IDX70"></A>
|
|
4209 |
<A NAME="IDX71"></A>
|
|
4210 |
<A NAME="IDX72"></A>
|
|
4211 |
<STRONG>Please note also:</STRONG> The character with value 00 is reserved for
|
|
4212 |
internal use by PSPP. Its use in strings causes an error and
|
|
4213 |
replacement with a blank space (in ASCII, hex 20, decimal 32).
|
|
4214 |
</UL>
|
|
4215 |
<P>
|
|
4216 |
|
|
4217 |
</P>
|
|
4218 |
<DT><STRONG>Punctuation</STRONG>
|
|
4219 |
<DD><A NAME="IDX73"></A>
|
|
4220 |
Punctuation separates tokens; punctuators are delimiters. These are the
|
|
4221 |
punctuation characters:
|
|
4222 |
<P>
|
|
4223 |
|
|
4224 |
<TABLE><tr><td> </td><td class=example><pre>, / = ( )
|
|
4225 |
</pre></td></tr></table><P>
|
|
4226 |
|
|
4227 |
</P>
|
|
4228 |
<DT><STRONG>Operators</STRONG>
|
|
4229 |
<DD><A NAME="IDX74"></A>
|
|
4230 |
Operators describe mathematical operations. Some operators are delimiters:
|
|
4231 |
<P>
|
|
4232 |
|
|
4233 |
<TABLE><tr><td> </td><td class=example><pre>( ) + - * / **
|
|
4234 |
</pre></td></tr></table><P>
|
|
4235 |
|
|
4236 |
Many of the above operators are also punctuators. Punctuators are
|
|
4237 |
distinguished from operators by context.
|
|
4238 |
</P>
|
|
4239 |
<P>
|
|
4240 |
|
|
4241 |
The other operators are all reserved keywords. None of these are
|
|
4242 |
delimiters:
|
|
4243 |
</P>
|
|
4244 |
<P>
|
|
4245 |
|
|
4246 |
<TABLE><tr><td> </td><td class=example><pre>AND EQ GE GT LE LT NE OR
|
|
4247 |
</pre></td></tr></table><P>
|
|
4248 |
|
|
4249 |
</P>
|
|
4250 |
<DT><STRONG>Terminal Dot</STRONG>
|
|
4251 |
<DD><A NAME="IDX75"></A>
|
|
4252 |
<A NAME="IDX76"></A>
|
|
4253 |
<A NAME="IDX77"></A>
|
|
4254 |
<A NAME="IDX78"></A>
|
|
4255 |
A period (`<SAMP>.</SAMP>') at the end of a line (except for whitespace) is one
|
|
4256 |
type of a <EM>terminal dot</EM>, although not every terminal dot is a
|
|
4257 |
period at the end of a line. See section <A HREF="pspp.html#SEC46">Forming commands of tokens</A>. A period is a terminal dot <EM>only</EM>
|
|
4258 |
when it is at the end of a line; otherwise it is part of a
|
|
4259 |
floating-point number. (A period outside a number in the middle of a
|
|
4260 |
line is an error.)
|
|
4261 |
<P>
|
|
4262 |
|
|
4263 |
<BLOCKQUOTE>
|
|
4264 |
<A NAME="IDX79"></A>
|
|
4265 |
<A NAME="IDX80"></A>
|
|
4266 |
<STRONG>Please note:</STRONG> The character used for the <EM>terminal dot</EM> can
|
|
4267 |
be changed with the SET command. This is strongly discouraged, and
|
|
4268 |
throughout all the remainder of this manual it will be assumed that the
|
|
4269 |
default setting is in effect.
|
|
4270 |
</BLOCKQUOTE>
|
|
4271 |
<P>
|
|
4272 |
|
|
4273 |
</DL>
|
|
4274 |
<P>
|
|
4275 |
|
|
4276 |
<A NAME="Commands"></A>
|
|
4277 |
<HR SIZE="6">
|
|
4278 |
<A NAME="SEC46"></A>
|
|
4279 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4280 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC45"> < </A>]</TD>
|
|
4281 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC47"> > </A>]</TD>
|
|
4282 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4283 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
4284 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4285 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4286 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4287 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4288 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4289 |
</TR></TABLE>
|
|
4290 |
<H2> 7.2 Forming commands of tokens </H2>
|
|
4291 |
<!--docid::SEC46::-->
|
|
4292 |
<P>
|
|
4293 |
|
|
4294 |
<A NAME="IDX81"></A>
|
|
4295 |
<A NAME="IDX82"></A>
|
|
4296 |
<A NAME="IDX83"></A>
|
|
4297 |
</P>
|
|
4298 |
<P>
|
|
4299 |
|
|
4300 |
Most PSPP commands share a common structure, diagrammed below:
|
|
4301 |
</P>
|
|
4302 |
<P>
|
|
4303 |
|
|
4304 |
<TABLE><tr><td> </td><td class=example><pre><VAR>cmd</VAR><small>...</small> [<VAR>sbc</VAR>[=][<VAR>spec</VAR> [[,]<VAR>spec</VAR>]<small>...</small>]] [[/[=][<VAR>spec</VAR> [[,]<VAR>spec</VAR>]<small>...</small>]]<small>...</small>].
|
|
4305 |
</pre></td></tr></table><P>
|
|
4306 |
|
|
4307 |
<A NAME="IDX84"></A>
|
|
4308 |
In the above, rather daunting, expression, pairs of square brackets
|
|
4309 |
(`<SAMP>[ ]</SAMP>') indicate optional elements, and names such as <VAR>cmd</VAR>
|
|
4310 |
indicate parts of the syntax that vary from command to command.
|
|
4311 |
Ellipses (`<SAMP>...</SAMP>') indicate that the preceding part may be repeated
|
|
4312 |
an arbitrary number of times. Let's pick apart what it says above:
|
|
4313 |
</P>
|
|
4314 |
<P>
|
|
4315 |
|
|
4316 |
<UL>
|
|
4317 |
<A NAME="IDX85"></A>
|
|
4318 |
<LI>
|
|
4319 |
A command begins with a command name of one or more keywords, such as
|
|
4320 |
<CODE>FREQUENCIES</CODE>, <CODE>DATA LIST</CODE>, or <CODE>N OF CASES</CODE>. <VAR>cmd</VAR>
|
|
4321 |
may be abbreviated to its first word if that is unambiguous; each word
|
|
4322 |
in <VAR>cmd</VAR> may be abbreviated to a unique prefix of three or more
|
|
4323 |
characters as described above.
|
|
4324 |
<P>
|
|
4325 |
|
|
4326 |
<A NAME="IDX86"></A>
|
|
4327 |
</P>
|
|
4328 |
<LI>
|
|
4329 |
The command name may be followed by one or more <EM>subcommands</EM>:
|
|
4330 |
<P>
|
|
4331 |
|
|
4332 |
<UL>
|
|
4333 |
<LI>
|
|
4334 |
Each subcommand begins with a unique keyword, indicated by <VAR>sbc</VAR>
|
|
4335 |
above. This is analogous to the command name.
|
|
4336 |
<P>
|
|
4337 |
|
|
4338 |
</P>
|
|
4339 |
<LI>
|
|
4340 |
The subcommand name is optionally followed by an equals sign (`<SAMP>=</SAMP>').
|
|
4341 |
<P>
|
|
4342 |
|
|
4343 |
</P>
|
|
4344 |
<LI>
|
|
4345 |
Some subcommands accept a series of one or more specifications
|
|
4346 |
(<VAR>spec</VAR>), optionally separated by commas.
|
|
4347 |
<P>
|
|
4348 |
|
|
4349 |
</P>
|
|
4350 |
<LI>
|
|
4351 |
Each subcommand must be separated from the next (if any) by a forward
|
|
4352 |
slash (`<SAMP>/</SAMP>').
|
|
4353 |
</UL>
|
|
4354 |
<P>
|
|
4355 |
|
|
4356 |
<A NAME="IDX87"></A>
|
|
4357 |
<A NAME="IDX88"></A>
|
|
4358 |
</P>
|
|
4359 |
<LI>
|
|
4360 |
Each command must be terminated with a <EM>terminal dot</EM>.
|
|
4361 |
The terminal dot may be given one of three ways:
|
|
4362 |
<P>
|
|
4363 |
|
|
4364 |
<UL>
|
|
4365 |
<LI>
|
|
4366 |
(most commonly) A period character at the very end of a line, as
|
|
4367 |
described above.
|
|
4368 |
<P>
|
|
4369 |
|
|
4370 |
</P>
|
|
4371 |
<LI>
|
|
4372 |
(only if NULLINE is on: See section <A HREF="pspp.html#SEC166">Setting user preferences</A>, for more
|
|
4373 |
details.) A completely blank line.
|
|
4374 |
<P>
|
|
4375 |
|
|
4376 |
</P>
|
|
4377 |
<LI>
|
|
4378 |
(in batch mode only) Any line that is not indented from the left side of
|
|
4379 |
the page causes a terminal dot to be inserted before that line.
|
|
4380 |
Therefore, each command begins with a line that is flush left, followed
|
|
4381 |
by zero or more lines that are indented one or more characters from the
|
|
4382 |
left margin.
|
|
4383 |
<P>
|
|
4384 |
|
|
4385 |
In batch mode, PSPP will ignore a plus sign, minus sign, or period
|
|
4386 |
(`<SAMP>+</SAMP>', `<SAMP>-</SAMP>', or `<SAMP>.</SAMP>') as the first character in a
|
|
4387 |
line. Any of these characters as the first character on a line will
|
|
4388 |
begin a new command. This allows for visual indentation of a command
|
|
4389 |
without that command being considered part of the previous command.
|
|
4390 |
</P>
|
|
4391 |
<P>
|
|
4392 |
|
|
4393 |
PSPP is in batch mode when it is reading input from a file, rather
|
|
4394 |
than from an interactive user. Note that the other forms of the
|
|
4395 |
terminal dot may also be used in batch mode.
|
|
4396 |
</P>
|
|
4397 |
<P>
|
|
4398 |
|
|
4399 |
Sometimes, one encounters syntax files that are intended to be
|
|
4400 |
interpreted in interactive mode rather than batch mode (for instance,
|
|
4401 |
this can happen if a session log file is used directly as a syntax
|
|
4402 |
file). When this occurs, use the `<SAMP>-i</SAMP>' command line option to force
|
|
4403 |
interpretation in interactive mode (see section <A HREF="pspp.html#SEC42">6.4 Language control options</A>).
|
|
4404 |
</UL>
|
|
4405 |
</UL>
|
|
4406 |
<P>
|
|
4407 |
|
|
4408 |
PSPP ignores empty commands when they are generated by the above
|
|
4409 |
rules. Note that, as a consequence of these rules, each command must
|
|
4410 |
begin on a new line.
|
|
4411 |
</P>
|
|
4412 |
<P>
|
|
4413 |
|
|
4414 |
<A NAME="Types of Commands"></A>
|
|
4415 |
<HR SIZE="6">
|
|
4416 |
<A NAME="SEC47"></A>
|
|
4417 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4418 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC46"> < </A>]</TD>
|
|
4419 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC48"> > </A>]</TD>
|
|
4420 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4421 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
4422 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4423 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4424 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4425 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4426 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4427 |
</TR></TABLE>
|
|
4428 |
<H2> 7.3 Types of Commands </H2>
|
|
4429 |
<!--docid::SEC47::-->
|
|
4430 |
<P>
|
|
4431 |
|
|
4432 |
Commands in PSPP are divided roughly into six categories:
|
|
4433 |
</P>
|
|
4434 |
<P>
|
|
4435 |
|
|
4436 |
</P>
|
|
4437 |
<DL COMPACT>
|
|
4438 |
<DT><STRONG>Utility commands</STRONG>
|
|
4439 |
<DD>Set or display various global options that affect PSPP operations.
|
|
4440 |
May appear anywhere in a syntax file. See section <A HREF="pspp.html#SEC156">Utility commands</A>.
|
|
4441 |
<P>
|
|
4442 |
|
|
4443 |
</P>
|
|
4444 |
<DT><STRONG>File definition commands</STRONG>
|
|
4445 |
<DD>Give instructions for reading data from text files or from special
|
|
4446 |
binary "system files". Most of these commands discard any previous
|
|
4447 |
data or variables in order to replace it with the new data and
|
|
4448 |
variables. At least one must appear before the first command in any of
|
|
4449 |
the categories below. See section <A HREF="pspp.html#SEC83">9. Data Input and Output</A>.
|
|
4450 |
<P>
|
|
4451 |
|
|
4452 |
</P>
|
|
4453 |
<DT><STRONG>Input program commands</STRONG>
|
|
4454 |
<DD>Though rarely used, these provide powerful tools for reading data files
|
|
4455 |
in arbitrary textual or binary formats. See section <A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A>.
|
|
4456 |
<P>
|
|
4457 |
|
|
4458 |
</P>
|
|
4459 |
<DT><STRONG>Transformations</STRONG>
|
|
4460 |
<DD>Perform operations on data and write data to output files. Transformations
|
|
4461 |
are not carried out until a procedure is executed.
|
|
4462 |
<P>
|
|
4463 |
|
|
4464 |
</P>
|
|
4465 |
<DT><STRONG>Restricted transformations</STRONG>
|
|
4466 |
<DD>Same as transformations for most purposes. See section <A HREF="pspp.html#SEC48">7.4 Order of Commands</A>, for a
|
|
4467 |
detailed description of the differences.
|
|
4468 |
<P>
|
|
4469 |
|
|
4470 |
</P>
|
|
4471 |
<DT><STRONG>Procedures</STRONG>
|
|
4472 |
<DD>Analyze data, writing results of analyses to the listing file. Cause
|
|
4473 |
transformations specified earlier in the file to be performed. In a
|
|
4474 |
more general sense, a <EM>procedure</EM> is any command that causes the
|
|
4475 |
active file (the data) to be read.
|
|
4476 |
</DL>
|
|
4477 |
<P>
|
|
4478 |
|
|
4479 |
<A NAME="Order of Commands"></A>
|
|
4480 |
<HR SIZE="6">
|
|
4481 |
<A NAME="SEC48"></A>
|
|
4482 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4483 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC47"> < </A>]</TD>
|
|
4484 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC49"> > </A>]</TD>
|
|
4485 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4486 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
4487 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4488 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4489 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4490 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4491 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4492 |
</TR></TABLE>
|
|
4493 |
<H2> 7.4 Order of Commands </H2>
|
|
4494 |
<!--docid::SEC48::-->
|
|
4495 |
<P>
|
|
4496 |
|
|
4497 |
PSPP does not place many restrictions on ordering of commands.
|
|
4498 |
The main restriction is that variables must be defined with one of the
|
|
4499 |
file-definition commands before they are otherwise referred to.
|
|
4500 |
</P>
|
|
4501 |
<P>
|
|
4502 |
|
|
4503 |
Of course, there are specific rules, for those who are interested.
|
|
4504 |
PSPP possesses five internal states, called initial, INPUT
|
|
4505 |
PROGRAM, FILE TYPE, transformation, and procedure states. (Please note
|
|
4506 |
the distinction between the INPUT PROGRAM and FILE TYPE <EM>commands</EM>
|
|
4507 |
and the INPUT PROGRAM and FILE TYPE <EM>states</EM>.)
|
|
4508 |
</P>
|
|
4509 |
<P>
|
|
4510 |
|
|
4511 |
PSPP starts up in the initial state. Each successful completion
|
|
4512 |
of a command may cause a state transition. Each type of command has its
|
|
4513 |
own rules for state transitions:
|
|
4514 |
</P>
|
|
4515 |
<P>
|
|
4516 |
|
|
4517 |
</P>
|
|
4518 |
<DL COMPACT>
|
|
4519 |
<DT><STRONG>Utility commands</STRONG>
|
|
4520 |
<DD><UL>
|
|
4521 |
<LI>
|
|
4522 |
Legal in all states, except Pennsylvania.
|
|
4523 |
<LI>
|
|
4524 |
Do not cause state transitions. Exception: when the N OF CASES command
|
|
4525 |
is executed in the procedure state, it causes a transition to the
|
|
4526 |
transformation state.
|
|
4527 |
</UL>
|
|
4528 |
<P>
|
|
4529 |
|
|
4530 |
</P>
|
|
4531 |
<DT><STRONG>DATA LIST</STRONG>
|
|
4532 |
<DD><UL>
|
|
4533 |
<LI>
|
|
4534 |
Legal in all states.
|
|
4535 |
<LI>
|
|
4536 |
When executed in the initial or procedure state, causes a transition to
|
|
4537 |
the transformation state.
|
|
4538 |
<LI>
|
|
4539 |
Clears the active file if executed in the procedure or transformation
|
|
4540 |
state.
|
|
4541 |
</UL>
|
|
4542 |
<P>
|
|
4543 |
|
|
4544 |
</P>
|
|
4545 |
<DT><STRONG>INPUT PROGRAM</STRONG>
|
|
4546 |
<DD><UL>
|
|
4547 |
<LI>
|
|
4548 |
Invalid in INPUT PROGRAM and FILE TYPE states.
|
|
4549 |
<LI>
|
|
4550 |
Causes a transition to the INPUT PROGRAM state.
|
|
4551 |
<LI>
|
|
4552 |
Clears the active file.
|
|
4553 |
</UL>
|
|
4554 |
<P>
|
|
4555 |
|
|
4556 |
</P>
|
|
4557 |
<DT><STRONG>FILE TYPE</STRONG>
|
|
4558 |
<DD><UL>
|
|
4559 |
<LI>
|
|
4560 |
Invalid in INPUT PROGRAM and FILE TYPE states.
|
|
4561 |
<LI>
|
|
4562 |
Causes a transition to the FILE TYPE state.
|
|
4563 |
<LI>
|
|
4564 |
Clears the active file.
|
|
4565 |
</UL>
|
|
4566 |
<P>
|
|
4567 |
|
|
4568 |
</P>
|
|
4569 |
<DT><STRONG>Other file definition commands</STRONG>
|
|
4570 |
<DD><UL>
|
|
4571 |
<LI>
|
|
4572 |
Invalid in INPUT PROGRAM and FILE TYPE states.
|
|
4573 |
<LI>
|
|
4574 |
Cause a transition to the transformation state.
|
|
4575 |
<LI>
|
|
4576 |
Clear the active file, except for ADD FILES, MATCH FILES, and UPDATE.
|
|
4577 |
</UL>
|
|
4578 |
<P>
|
|
4579 |
|
|
4580 |
</P>
|
|
4581 |
<DT><STRONG>Transformations</STRONG>
|
|
4582 |
<DD><UL>
|
|
4583 |
<LI>
|
|
4584 |
Invalid in initial and FILE TYPE states.
|
|
4585 |
<LI>
|
|
4586 |
Cause a transition to the transformation state.
|
|
4587 |
</UL>
|
|
4588 |
<P>
|
|
4589 |
|
|
4590 |
</P>
|
|
4591 |
<DT><STRONG>Restricted transformations</STRONG>
|
|
4592 |
<DD><UL>
|
|
4593 |
<LI>
|
|
4594 |
Invalid in initial, INPUT PROGRAM, and FILE TYPE states.
|
|
4595 |
<LI>
|
|
4596 |
Cause a transition to the transformation state.
|
|
4597 |
</UL>
|
|
4598 |
<P>
|
|
4599 |
|
|
4600 |
</P>
|
|
4601 |
<DT><STRONG>Procedures</STRONG>
|
|
4602 |
<DD><UL>
|
|
4603 |
<LI>
|
|
4604 |
Invalid in initial, INPUT PROGRAM, and FILE TYPE states.
|
|
4605 |
<LI>
|
|
4606 |
Cause a transition to the procedure state.
|
|
4607 |
</UL>
|
|
4608 |
</DL>
|
|
4609 |
<P>
|
|
4610 |
|
|
4611 |
<A NAME="Missing Observations"></A>
|
|
4612 |
<HR SIZE="6">
|
|
4613 |
<A NAME="SEC49"></A>
|
|
4614 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4615 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC48"> < </A>]</TD>
|
|
4616 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> > </A>]</TD>
|
|
4617 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4618 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
4619 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4620 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4621 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4622 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4623 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4624 |
</TR></TABLE>
|
|
4625 |
<H2> 7.5 Handling missing observations </H2>
|
|
4626 |
<!--docid::SEC49::-->
|
|
4627 |
<P>
|
|
4628 |
|
|
4629 |
PSPP includes special support for unknown numeric data values.
|
|
4630 |
Missing observations are assigned a special value, called the
|
|
4631 |
<EM>system-missing value</EM>. This "value" actually indicates the
|
|
4632 |
absence of value; it means that the actual value is unknown. Procedures
|
|
4633 |
automatically exclude from analyses those observations or cases that
|
|
4634 |
have missing values. Whether single observations or entire cases are
|
|
4635 |
excluded depends on the procedure.
|
|
4636 |
</P>
|
|
4637 |
<P>
|
|
4638 |
|
|
4639 |
The system-missing value exists only for numeric variables. String
|
|
4640 |
variables always have a defined value, even if it is only a string of
|
|
4641 |
spaces.
|
|
4642 |
</P>
|
|
4643 |
<P>
|
|
4644 |
|
|
4645 |
Variables, whether numeric or string, can have designated
|
|
4646 |
<EM>user-missing values</EM>. Every user-missing value is an actual value
|
|
4647 |
for that variable. However, most of the time user-missing values are
|
|
4648 |
treated in the same way as the system-missing value. String variables
|
|
4649 |
that are wider than a certain width, usually 8 characters (depending on
|
|
4650 |
computer architecture), cannot have user-missing values.
|
|
4651 |
</P>
|
|
4652 |
<P>
|
|
4653 |
|
|
4654 |
For more information on missing values, see the following sections:
|
|
4655 |
<A HREF="pspp.html#SEC50">7.6 Variables</A>, <A HREF="pspp.html#SEC119">11.6 MISSING VALUES</A>, <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>. See also the
|
|
4656 |
documentation on individual procedures for information on how they
|
|
4657 |
handle missing values.
|
|
4658 |
</P>
|
|
4659 |
<P>
|
|
4660 |
|
|
4661 |
<A NAME="Variables"></A>
|
|
4662 |
<HR SIZE="6">
|
|
4663 |
<A NAME="SEC50"></A>
|
|
4664 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4665 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC49"> < </A>]</TD>
|
|
4666 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC51"> > </A>]</TD>
|
|
4667 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4668 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
4669 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4670 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4671 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4672 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4673 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4674 |
</TR></TABLE>
|
|
4675 |
<H2> 7.6 Variables </H2>
|
|
4676 |
<!--docid::SEC50::-->
|
|
4677 |
<P>
|
|
4678 |
|
|
4679 |
Variables are the basic unit of data storage in PSPP. All the
|
|
4680 |
variables in a file taken together, apart from any associated data, are
|
|
4681 |
said to form a <EM>dictionary</EM>. Each case contain a value for each
|
|
4682 |
variable. Some details of variables are described in the sections
|
|
4683 |
below.
|
|
4684 |
</P>
|
|
4685 |
<P>
|
|
4686 |
|
|
4687 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
4688 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Attributes of variables.</TD></TR>
|
|
4689 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Variables automatically defined by PSPP.</TD></TR>
|
|
4690 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
4691 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Input and output formats.</TD></TR>
|
|
4692 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Variables deleted by procedures.</TD></TR>
|
|
4693 |
</TABLE>
|
|
4694 |
<P>
|
|
4695 |
|
|
4696 |
<A NAME="Attributes"></A>
|
|
4697 |
<HR SIZE="6">
|
|
4698 |
<A NAME="SEC51"></A>
|
|
4699 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4700 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> < </A>]</TD>
|
|
4701 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC52"> > </A>]</TD>
|
|
4702 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4703 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> Up </A>]</TD>
|
|
4704 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4705 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4706 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4707 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4708 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4709 |
</TR></TABLE>
|
|
4710 |
<H3> 7.6.1 Attributes of Variables </H3>
|
|
4711 |
<!--docid::SEC51::-->
|
|
4712 |
Each variable has a number of attributes, including:
|
|
4713 |
<P>
|
|
4714 |
|
|
4715 |
</P>
|
|
4716 |
<DL COMPACT>
|
|
4717 |
<DT><STRONG>Name</STRONG>
|
|
4718 |
<DD>This is an identifier. Each variable must have a different name.
|
|
4719 |
See section <A HREF="pspp.html#SEC45">7.1 Tokens</A>.
|
|
4720 |
<P>
|
|
4721 |
|
|
4722 |
<A NAME="IDX89"></A>
|
|
4723 |
<A NAME="IDX90"></A>
|
|
4724 |
</P>
|
|
4725 |
<DT><STRONG>Type</STRONG>
|
|
4726 |
<DD>Numeric or string.
|
|
4727 |
<P>
|
|
4728 |
|
|
4729 |
<A NAME="IDX91"></A>
|
|
4730 |
<A NAME="IDX92"></A>
|
|
4731 |
</P>
|
|
4732 |
<DT><STRONG>Width</STRONG>
|
|
4733 |
<DD>(string variables only) String variables with a width of 8 characters or
|
|
4734 |
fewer are called <EM>short string variables</EM>. Short string variables
|
|
4735 |
can be used in many procedures where <EM>long string variables</EM> (those
|
|
4736 |
with widths greater than 8) are not allowed.
|
|
4737 |
<P>
|
|
4738 |
|
|
4739 |
<BLOCKQUOTE>
|
|
4740 |
<STRONG>Please note:</STRONG> Certain systems may consider strings longer than 8
|
|
4741 |
characters to be short strings. Eight characters represents a minimum
|
|
4742 |
figure for the maximum length of a short string.
|
|
4743 |
</BLOCKQUOTE>
|
|
4744 |
<P>
|
|
4745 |
|
|
4746 |
</P>
|
|
4747 |
<DT><STRONG>Position</STRONG>
|
|
4748 |
<DD>Variables in the dictionary are arranged in a specific order. The
|
|
4749 |
DISPLAY command can be used to show this order: see <A HREF="pspp.html#SEC115">11.2 DISPLAY</A>.
|
|
4750 |
<P>
|
|
4751 |
|
|
4752 |
</P>
|
|
4753 |
<DT><STRONG>Orientation</STRONG>
|
|
4754 |
<DD>Dexter or sinister. See section <A HREF="pspp.html#SEC118">11.5 LEAVE</A>.
|
|
4755 |
<P>
|
|
4756 |
|
|
4757 |
<A NAME="IDX93"></A>
|
|
4758 |
<A NAME="IDX94"></A>
|
|
4759 |
</P>
|
|
4760 |
<DT><STRONG>Missing values</STRONG>
|
|
4761 |
<DD>Optionally, up to three values, or a range of values, or a specific
|
|
4762 |
value plus a range, can be specified as <EM>user-missing values</EM>.
|
|
4763 |
There is also a <EM>system-missing value</EM> that is assigned to an
|
|
4764 |
observation when there is no other obvious value for that observation.
|
|
4765 |
Observations with missing values are automatically excluded from
|
|
4766 |
analyses. User-missing values are actual data values, while the
|
|
4767 |
system-missing value is not a value at all. See section <A HREF="pspp.html#SEC49">7.5 Handling missing observations</A>.
|
|
4768 |
<P>
|
|
4769 |
|
|
4770 |
<A NAME="IDX95"></A>
|
|
4771 |
<A NAME="IDX96"></A>
|
|
4772 |
</P>
|
|
4773 |
<DT><STRONG>Variable label</STRONG>
|
|
4774 |
<DD>A string that describes the variable. See section <A HREF="pspp.html#SEC126">11.13 VARIABLE LABELS</A>.
|
|
4775 |
<P>
|
|
4776 |
|
|
4777 |
<A NAME="IDX97"></A>
|
|
4778 |
<A NAME="IDX98"></A>
|
|
4779 |
</P>
|
|
4780 |
<DT><STRONG>Value label</STRONG>
|
|
4781 |
<DD>Optionally, these associate each possible value of the variable with a
|
|
4782 |
string. See section <A HREF="pspp.html#SEC124">11.11 VALUE LABELS</A>.
|
|
4783 |
<P>
|
|
4784 |
|
|
4785 |
<A NAME="IDX99"></A>
|
|
4786 |
</P>
|
|
4787 |
<DT><STRONG>Print format</STRONG>
|
|
4788 |
<DD>Display width, format, and (for numeric variables) number of decimal
|
|
4789 |
places. This attribute does not affect how data are stored, just how
|
|
4790 |
they are displayed. Example: a width of 8, with 2 decimal places.
|
|
4791 |
See section <A HREF="pspp.html#SEC122">11.9 PRINT FORMATS</A>.
|
|
4792 |
<P>
|
|
4793 |
|
|
4794 |
<A NAME="IDX100"></A>
|
|
4795 |
</P>
|
|
4796 |
<DT><STRONG>Write format</STRONG>
|
|
4797 |
<DD>Similar to print format, but used by certain commands that are
|
|
4798 |
designed to write to binary files. See section <A HREF="pspp.html#SEC128">11.15 WRITE FORMATS</A>.
|
|
4799 |
</DL>
|
|
4800 |
<P>
|
|
4801 |
|
|
4802 |
<A NAME="System Variables"></A>
|
|
4803 |
<HR SIZE="6">
|
|
4804 |
<A NAME="SEC52"></A>
|
|
4805 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4806 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC51"> < </A>]</TD>
|
|
4807 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC53"> > </A>]</TD>
|
|
4808 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4809 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> Up </A>]</TD>
|
|
4810 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4811 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4812 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4813 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4814 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4815 |
</TR></TABLE>
|
|
4816 |
<H3> 7.6.2 Variables Automatically Defined by PSPP </H3>
|
|
4817 |
<!--docid::SEC52::-->
|
|
4818 |
<P>
|
|
4819 |
|
|
4820 |
There are seven system variables. These are not like ordinary
|
|
4821 |
variables, as they are not stored in each case. They can only be used
|
|
4822 |
in expressions. These system variables, whose values and output formats
|
|
4823 |
cannot be modified, are described below.
|
|
4824 |
</P>
|
|
4825 |
<P>
|
|
4826 |
|
|
4827 |
</P>
|
|
4828 |
<DL COMPACT>
|
|
4829 |
<A NAME="IDX101"></A>
|
|
4830 |
<DT><CODE>$CASENUM</CODE>
|
|
4831 |
<DD>Case number of the case at the moment. This changes as cases are
|
|
4832 |
shuffled around.
|
|
4833 |
<P>
|
|
4834 |
|
|
4835 |
<A NAME="IDX102"></A>
|
|
4836 |
</P>
|
|
4837 |
<DT><CODE>$DATE</CODE>
|
|
4838 |
<DD>Date the PSPP process was started, in format A9, following the
|
|
4839 |
pattern <CODE>DD MMM YY</CODE>.
|
|
4840 |
<P>
|
|
4841 |
|
|
4842 |
<A NAME="IDX103"></A>
|
|
4843 |
</P>
|
|
4844 |
<DT><CODE>$JDATE</CODE>
|
|
4845 |
<DD>Number of days between 15 Oct 1582 and the time the PSPP process
|
|
4846 |
was started.
|
|
4847 |
<P>
|
|
4848 |
|
|
4849 |
<A NAME="IDX104"></A>
|
|
4850 |
</P>
|
|
4851 |
<DT><CODE>$LENGTH</CODE>
|
|
4852 |
<DD>Page length, in lines, in format F11.
|
|
4853 |
<P>
|
|
4854 |
|
|
4855 |
<A NAME="IDX105"></A>
|
|
4856 |
</P>
|
|
4857 |
<DT><CODE>$SYSMIS</CODE>
|
|
4858 |
<DD>System missing value, in format F1.
|
|
4859 |
<P>
|
|
4860 |
|
|
4861 |
<A NAME="IDX106"></A>
|
|
4862 |
</P>
|
|
4863 |
<DT><CODE>$TIME</CODE>
|
|
4864 |
<DD>Number of seconds between midnight 14 Oct 1582 and the time the active file
|
|
4865 |
was read, in format F20.
|
|
4866 |
<P>
|
|
4867 |
|
|
4868 |
<A NAME="IDX107"></A>
|
|
4869 |
</P>
|
|
4870 |
<DT><CODE>$WIDTH</CODE>
|
|
4871 |
<DD>Page width, in characters, in format F3.
|
|
4872 |
</DL>
|
|
4873 |
<P>
|
|
4874 |
|
|
4875 |
<A NAME="Sets of Variables"></A>
|
|
4876 |
<HR SIZE="6">
|
|
4877 |
<A NAME="SEC53"></A>
|
|
4878 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4879 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC52"> < </A>]</TD>
|
|
4880 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC54"> > </A>]</TD>
|
|
4881 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4882 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> Up </A>]</TD>
|
|
4883 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4884 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4885 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4886 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4887 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4888 |
</TR></TABLE>
|
|
4889 |
<H3> 7.6.3 Lists of variable names </H3>
|
|
4890 |
<!--docid::SEC53::-->
|
|
4891 |
<P>
|
|
4892 |
|
|
4893 |
There are several ways to specify a set of variables:
|
|
4894 |
</P>
|
|
4895 |
<P>
|
|
4896 |
|
|
4897 |
<OL>
|
|
4898 |
<LI>
|
|
4899 |
(Most commonly.) List the variable names one after another, optionally
|
|
4900 |
separating them by commas.
|
|
4901 |
<P>
|
|
4902 |
|
|
4903 |
<A NAME="IDX108"></A>
|
|
4904 |
</P>
|
|
4905 |
<LI>
|
|
4906 |
(This method cannot be used on commands that define the dictionary, such
|
|
4907 |
as <CODE>DATA LIST</CODE>.) The syntax is the names of two existed variables,
|
|
4908 |
separated by the reserved keyword <CODE>TO</CODE>. The meaning is to include
|
|
4909 |
every variable in the dictionary between and including the variables
|
|
4910 |
specified. For instance, if the dictionary contains six variables with
|
|
4911 |
the names <CODE>ID</CODE>, <CODE>X1</CODE>, <CODE>X2</CODE>, <CODE>GOAL</CODE>, <CODE>MET</CODE>, and
|
|
4912 |
<CODE>NEXTGOAL</CODE>, in that order, then <CODE>X2 TO MET</CODE> would include
|
|
4913 |
variables <CODE>X2</CODE>, <CODE>GOAL</CODE>, and <CODE>MET</CODE>.
|
|
4914 |
<P>
|
|
4915 |
|
|
4916 |
</P>
|
|
4917 |
<LI>
|
|
4918 |
(This method can be used only on commands that define the dictionary,
|
|
4919 |
such as <CODE>DATA LIST</CODE>.) It is used to define sequences of variables
|
|
4920 |
that end in consecutive integers. The syntax is two identifiers that
|
|
4921 |
end in numbers. This method is best illustrated with examples:
|
|
4922 |
<P>
|
|
4923 |
|
|
4924 |
<UL>
|
|
4925 |
<LI>
|
|
4926 |
The syntax <CODE>X1 TO X5</CODE> defines 5 variables:
|
|
4927 |
<P>
|
|
4928 |
|
|
4929 |
<UL>
|
|
4930 |
<LI>
|
|
4931 |
X1
|
|
4932 |
<LI>
|
|
4933 |
X2
|
|
4934 |
<LI>
|
|
4935 |
X3
|
|
4936 |
<LI>
|
|
4937 |
X4
|
|
4938 |
<LI>
|
|
4939 |
X5
|
|
4940 |
</UL>
|
|
4941 |
<P>
|
|
4942 |
|
|
4943 |
</P>
|
|
4944 |
<LI>
|
|
4945 |
The syntax <CODE>ITEM0008 TO ITEM0013</CODE> defines 6 variables:
|
|
4946 |
<P>
|
|
4947 |
|
|
4948 |
<UL>
|
|
4949 |
<LI>
|
|
4950 |
ITEM0008
|
|
4951 |
<LI>
|
|
4952 |
ITEM0009
|
|
4953 |
<LI>
|
|
4954 |
ITEM0010
|
|
4955 |
<LI>
|
|
4956 |
ITEM0011
|
|
4957 |
<LI>
|
|
4958 |
ITEM0012
|
|
4959 |
<LI>
|
|
4960 |
ITEM0013
|
|
4961 |
</UL>
|
|
4962 |
<P>
|
|
4963 |
|
|
4964 |
</P>
|
|
4965 |
<LI>
|
|
4966 |
Each of the syntaxes <CODE>QUES001 TO QUES9</CODE> and <CODE>QUES6 TO QUES3</CODE>
|
|
4967 |
are invalid, although for different reasons, which should be evident.
|
|
4968 |
</UL>
|
|
4969 |
<P>
|
|
4970 |
|
|
4971 |
Note that after a set of variables has been defined on <CODE>DATA LIST</CODE>
|
|
4972 |
or another command with this method, the same set can be referenced on
|
|
4973 |
later commands using the same syntax.
|
|
4974 |
</P>
|
|
4975 |
<P>
|
|
4976 |
|
|
4977 |
</P>
|
|
4978 |
<LI>
|
|
4979 |
The above methods can be combined, either one after another or delimited
|
|
4980 |
by commas. For instance, the combined syntax <CODE>A Q5 TO Q8 X TO Z</CODE>
|
|
4981 |
is legal as long as each part <CODE>A</CODE>, <CODE>Q5 TO Q8</CODE>, <CODE>X TO Z</CODE>
|
|
4982 |
is individually legal.
|
|
4983 |
</OL>
|
|
4984 |
<P>
|
|
4985 |
|
|
4986 |
<A NAME="Input/Output Formats"></A>
|
|
4987 |
<HR SIZE="6">
|
|
4988 |
<A NAME="SEC54"></A>
|
|
4989 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
4990 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC53"> < </A>]</TD>
|
|
4991 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC55"> > </A>]</TD>
|
|
4992 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
4993 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> Up </A>]</TD>
|
|
4994 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
4995 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
4996 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
4997 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
4998 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
4999 |
</TR></TABLE>
|
|
5000 |
<H3> 7.6.4 Input and Output Formats </H3>
|
|
5001 |
<!--docid::SEC54::-->
|
|
5002 |
<P>
|
|
5003 |
|
|
5004 |
Data that PSPP inputs and outputs must have one of a number of formats.
|
|
5005 |
These formats are described, in general, by a format specification of
|
|
5006 |
the form <CODE>NAMEw.d</CODE>, where <VAR>name</VAR> is the
|
|
5007 |
format name and <VAR>w</VAR> is a field width. <VAR>d</VAR> is the optional
|
|
5008 |
desired number of decimal places, if appropriate. If <VAR>d</VAR> is not
|
|
5009 |
included then it is assumed to be 0. Some formats do not allow <VAR>d</VAR>
|
|
5010 |
to be specified.
|
|
5011 |
</P>
|
|
5012 |
<P>
|
|
5013 |
|
|
5014 |
When an input format is specified on DATA LIST or another command, then
|
|
5015 |
it is converted to an output format for the purposes of PRINT and other
|
|
5016 |
data output commands. For most purposes, input and output formats are
|
|
5017 |
the same; the salient differences are described below.
|
|
5018 |
</P>
|
|
5019 |
<P>
|
|
5020 |
|
|
5021 |
Below are listed the input and output formats supported by PSPP. If an
|
|
5022 |
input format is mapped to a different output format by default, then
|
|
5023 |
that mapping is indicated with =>. Each format has the listed
|
|
5024 |
bounds on input width (iw) and output width (ow).
|
|
5025 |
</P>
|
|
5026 |
<P>
|
|
5027 |
|
|
5028 |
The standard numeric input and output formats are given in the following
|
|
5029 |
table:
|
|
5030 |
</P>
|
|
5031 |
<P>
|
|
5032 |
|
|
5033 |
</P>
|
|
5034 |
<DL COMPACT>
|
|
5035 |
<DT>Fw.d: 1 <= iw,ow <= 40
|
|
5036 |
<DD>Standard decimal format with <VAR>d</VAR> decimal places. If the number is
|
|
5037 |
too large to fit within the field width, it is expressed in scientific
|
|
5038 |
notation (<CODE>1.2+34</CODE>) if w >= 6, with always at least two digits in
|
|
5039 |
the exponent. When used as an input format, scientific notation is
|
|
5040 |
allowed but an E or an F must be used to introduce the exponent.
|
|
5041 |
<P>
|
|
5042 |
|
|
5043 |
The default output format is the same as the input format, except if
|
|
5044 |
<VAR>d</VAR> > 1. In that case the output <VAR>w</VAR> is always made to be at
|
|
5045 |
least 2 + <VAR>d</VAR>.
|
|
5046 |
</P>
|
|
5047 |
<P>
|
|
5048 |
|
|
5049 |
</P>
|
|
5050 |
<DT>Ew.d: 1 <= iw <= 40; 6 <= ow <= 40
|
|
5051 |
<DD>For input this is equivalent to F format except that no E or F is
|
|
5052 |
require to introduce the exponent. For output, produces scientific
|
|
5053 |
notation in the form <CODE>1.2+34</CODE>. There are always at least two
|
|
5054 |
digits given in the exponent.
|
|
5055 |
<P>
|
|
5056 |
|
|
5057 |
The default output <VAR>w</VAR> is the largest of the input <VAR>w</VAR>, the
|
|
5058 |
input <VAR>d</VAR> + 7, and 10. The default output <VAR>d</VAR> is the input
|
|
5059 |
<VAR>d</VAR>, but at least 3.
|
|
5060 |
</P>
|
|
5061 |
<P>
|
|
5062 |
|
|
5063 |
</P>
|
|
5064 |
<DT>COMMAw.d: 1 <= iw,ow <= 40
|
|
5065 |
<DD>Equivalent to F format, except that groups of three digits are
|
|
5066 |
comma-separated on output. If the number is too large to express in the
|
|
5067 |
field width, then first commas are eliminated, then if there is still
|
|
5068 |
not enough space the number is expressed in scientific notation given
|
|
5069 |
that w >= 6. Commas are allowed and ignored when this is used as an
|
|
5070 |
input format.
|
|
5071 |
<P>
|
|
5072 |
|
|
5073 |
</P>
|
|
5074 |
<DT>DOTw.d: 1 <= iw,ow <= 40
|
|
5075 |
<DD>Equivalent to COMMA format except that the roles of comma and decimal
|
|
5076 |
point are interchanged. However: If SET /DECIMAL=DOT is in effect, then
|
|
5077 |
COMMA uses `<SAMP>,</SAMP>' for a decimal point and DOT uses `<SAMP>.</SAMP>' for a
|
|
5078 |
decimal point.
|
|
5079 |
<P>
|
|
5080 |
|
|
5081 |
</P>
|
|
5082 |
<DT>DOLLARw.d: 1 <= iw <= 40; 2 <= ow <= 40
|
|
5083 |
<DD>Equivalent to COMMA format, except that the number is prefixed by a
|
|
5084 |
dollar sign (`<SAMP>$</SAMP>') if there is room. On input the value is allowed
|
|
5085 |
to be prefixed by a dollar sign, which is ignored.
|
|
5086 |
<P>
|
|
5087 |
|
|
5088 |
The default output <VAR>w</VAR> is the input <VAR>w</VAR>, but at least 2.
|
|
5089 |
</P>
|
|
5090 |
<P>
|
|
5091 |
|
|
5092 |
</P>
|
|
5093 |
<DT>PCTw.d: 2 <= iw,ow <= 40
|
|
5094 |
<DD>Equivalent to F format, except that the number is suffixed by a percent
|
|
5095 |
sign (`<SAMP>%</SAMP>') if there is room. On input the value is allowed to be
|
|
5096 |
suffixed by a percent sign, which is ignored.
|
|
5097 |
<P>
|
|
5098 |
|
|
5099 |
The default output <VAR>w</VAR> is the input <VAR>w</VAR>, but at least 2.
|
|
5100 |
</P>
|
|
5101 |
<P>
|
|
5102 |
|
|
5103 |
</P>
|
|
5104 |
<DT>Nw.d: 1 <= iw,ow <= 40
|
|
5105 |
<DD>Only digits are allowed within the field width. The decimal point is
|
|
5106 |
assumed to be <VAR>d</VAR> digits from the right margin.
|
|
5107 |
<P>
|
|
5108 |
|
|
5109 |
The default output format is F with the same <VAR>w</VAR> and <VAR>d</VAR>, except
|
|
5110 |
if <VAR>d</VAR> > 1. In that case the output <VAR>w</VAR> is always made to be at
|
|
5111 |
least 2 + <VAR>d</VAR>.
|
|
5112 |
</P>
|
|
5113 |
<P>
|
|
5114 |
|
|
5115 |
</P>
|
|
5116 |
<DT>Zw.d => F: 1 <= iw,ow <= 40
|
|
5117 |
<DD>Zoned decimal input. If you need to use this then you know how.
|
|
5118 |
<P>
|
|
5119 |
|
|
5120 |
</P>
|
|
5121 |
<DT>IBw.d => F: 1 <= iw,ow <= 8
|
|
5122 |
<DD>Integer binary format. The field is interpreted as a fixed-point
|
|
5123 |
positive or negative binary number in two's-complement notation. The
|
|
5124 |
location of the decimal point is implied. Endianness is the same as the
|
|
5125 |
host machine.
|
|
5126 |
<P>
|
|
5127 |
|
|
5128 |
The default output format is F8.2 if <VAR>d</VAR> is 0. Otherwise it is F,
|
|
5129 |
with output <VAR>w</VAR> as 9 + input <VAR>d</VAR> and output <VAR>d</VAR> as input
|
|
5130 |
<VAR>d</VAR>.
|
|
5131 |
</P>
|
|
5132 |
<P>
|
|
5133 |
|
|
5134 |
</P>
|
|
5135 |
<DT>PIB => F: 1 <= iw,ow <= 8
|
|
5136 |
<DD>Positive integer binary format. The field is interpreted as a
|
|
5137 |
fixed-point positive binary number. The location of the decimal point
|
|
5138 |
is implied. Endianness is teh same as the host machine.
|
|
5139 |
<P>
|
|
5140 |
|
|
5141 |
The default output format follows the rules for IB format.
|
|
5142 |
</P>
|
|
5143 |
<P>
|
|
5144 |
|
|
5145 |
</P>
|
|
5146 |
<DT>Pw.d => F: 1 <= iw,ow <= 16
|
|
5147 |
<DD>Binary coded decimal format. Each byte from left to right, except the
|
|
5148 |
rightmost, represents two digits. The upper nibble of each byte is more
|
|
5149 |
significant. The upper nibble of the final byte is the least
|
|
5150 |
significant digit. The lower nibble of the final byte is the sign; a
|
|
5151 |
value of D represents a negative sign and all other values are
|
|
5152 |
considered positive. The decimal point is implied.
|
|
5153 |
<P>
|
|
5154 |
|
|
5155 |
The default output format follows the rules for IB format.
|
|
5156 |
</P>
|
|
5157 |
<P>
|
|
5158 |
|
|
5159 |
</P>
|
|
5160 |
<DT>PKw.d => F: 1 <= iw,ow <= 16
|
|
5161 |
<DD>Positive binary code decimal format. Same as P but the last byte is the
|
|
5162 |
same as the others.
|
|
5163 |
<P>
|
|
5164 |
|
|
5165 |
The default output format follows the rules for IB format.
|
|
5166 |
</P>
|
|
5167 |
<P>
|
|
5168 |
|
|
5169 |
</P>
|
|
5170 |
<DT>RBw => F: 2 <= iw,ow <= 8
|
|
5171 |
<DD><P>
|
|
5172 |
|
|
5173 |
Binary C architecture-dependent "double" format. For a standard
|
|
5174 |
IEEE754 implementation <VAR>w</VAR> should be 8.
|
|
5175 |
</P>
|
|
5176 |
<P>
|
|
5177 |
|
|
5178 |
The default output format follows the rules for IB format.
|
|
5179 |
</P>
|
|
5180 |
<P>
|
|
5181 |
|
|
5182 |
</P>
|
|
5183 |
<DT>PIBHEXw.d => F: 2 <= iw,ow <= 16
|
|
5184 |
<DD>PIB format encoded as textual hex digit pairs. <VAR>w</VAR> must be even.
|
|
5185 |
<P>
|
|
5186 |
|
|
5187 |
The input width is mapped to a default output width as follows:
|
|
5188 |
2=>4, 4=>6, 6=>9, 8=>11, 10=>14,
|
|
5189 |
12=>16, 14=>18, 16=>21. No allowances are made for
|
|
5190 |
decimal places.
|
|
5191 |
</P>
|
|
5192 |
<P>
|
|
5193 |
|
|
5194 |
</P>
|
|
5195 |
<DT>RBHEXw => F: 4 <= iw,ow <= 16
|
|
5196 |
<DD><P>
|
|
5197 |
|
|
5198 |
RB format encoded as textual hex digits pairs. <VAR>w</VAR> must be even.
|
|
5199 |
</P>
|
|
5200 |
<P>
|
|
5201 |
|
|
5202 |
The default output format is F8.2.
|
|
5203 |
</P>
|
|
5204 |
<P>
|
|
5205 |
|
|
5206 |
</P>
|
|
5207 |
<DT>CCAw.d: 1 <= ow <= 40
|
|
5208 |
<DD><DT>CCBw.d: 1 <= ow <= 40
|
|
5209 |
<DD><DT>CCCw.d: 1 <= ow <= 40
|
|
5210 |
<DD><DT>CCDw.d: 1 <= ow <= 40
|
|
5211 |
<DD><DT>CCEw.d: 1 <= ow <= 40
|
|
5212 |
<DD><P>
|
|
5213 |
|
|
5214 |
User-defined custom currency formats. May not be used as an input
|
|
5215 |
format. See section <A HREF="pspp.html#SEC166">16.10 SET</A>, for more details.
|
|
5216 |
</DL>
|
|
5217 |
<P>
|
|
5218 |
|
|
5219 |
The date and time numeric input and output formats accept a number of
|
|
5220 |
possible formats. Before describing the formats themselves, some
|
|
5221 |
definitions of the elements that make up their formats will be helpful:
|
|
5222 |
</P>
|
|
5223 |
<P>
|
|
5224 |
|
|
5225 |
</P>
|
|
5226 |
<DL COMPACT>
|
|
5227 |
<DT><EM>leader</EM>
|
|
5228 |
<DD>All formats accept an optional whitespace leader.
|
|
5229 |
<P>
|
|
5230 |
|
|
5231 |
</P>
|
|
5232 |
<DT><EM>day</EM>
|
|
5233 |
<DD>An integer between 1 and 31 representing the day of month.
|
|
5234 |
<P>
|
|
5235 |
|
|
5236 |
</P>
|
|
5237 |
<DT><EM>day-count</EM>
|
|
5238 |
<DD>An integer representing a number of days.
|
|
5239 |
<P>
|
|
5240 |
|
|
5241 |
</P>
|
|
5242 |
<DT><EM>date-delimiter</EM>
|
|
5243 |
<DD>One or more characters of whitespace or the following characters:
|
|
5244 |
<CODE>- / . ,</CODE>
|
|
5245 |
<P>
|
|
5246 |
|
|
5247 |
</P>
|
|
5248 |
<DT><EM>month</EM>
|
|
5249 |
<DD>A month name in one of the following forms:
|
|
5250 |
<UL>
|
|
5251 |
<LI>
|
|
5252 |
An integer between 1 and 12.
|
|
5253 |
<LI>
|
|
5254 |
Roman numerals representing an integer between 1 and 12.
|
|
5255 |
<LI>
|
|
5256 |
At least the first three characters of an English month name (January,
|
|
5257 |
February, <small>...</small>).
|
|
5258 |
</UL>
|
|
5259 |
<P>
|
|
5260 |
|
|
5261 |
</P>
|
|
5262 |
<DT><EM>year</EM>
|
|
5263 |
<DD>An integer year number between 1582 and 19999, or between 1 and 199.
|
|
5264 |
Years between 1 and 199 will have 1900 added.
|
|
5265 |
<P>
|
|
5266 |
|
|
5267 |
</P>
|
|
5268 |
<DT><EM>julian</EM>
|
|
5269 |
<DD>A single number with a year number in the first 2, 3, or 4 digits (as
|
|
5270 |
above) and the day number within the year in the last 3 digits.
|
|
5271 |
<P>
|
|
5272 |
|
|
5273 |
</P>
|
|
5274 |
<DT><EM>quarter</EM>
|
|
5275 |
<DD>An integer between 1 and 4 representing a quarter.
|
|
5276 |
<P>
|
|
5277 |
|
|
5278 |
</P>
|
|
5279 |
<DT><EM>q-delimiter</EM>
|
|
5280 |
<DD>The letter `<SAMP>Q</SAMP>' or `<SAMP>q</SAMP>'.
|
|
5281 |
<P>
|
|
5282 |
|
|
5283 |
</P>
|
|
5284 |
<DT><EM>week</EM>
|
|
5285 |
<DD>An integer between 1 and 53 representing a week within a year.
|
|
5286 |
<P>
|
|
5287 |
|
|
5288 |
</P>
|
|
5289 |
<DT><EM>wk-delimiter</EM>
|
|
5290 |
<DD>The letters `<SAMP>wk</SAMP>' in any case.
|
|
5291 |
<P>
|
|
5292 |
|
|
5293 |
</P>
|
|
5294 |
<DT><EM>time-delimiter</EM>
|
|
5295 |
<DD>At least one characters of whitespace or `<SAMP>:</SAMP>' or `<SAMP>.</SAMP>'.
|
|
5296 |
<P>
|
|
5297 |
|
|
5298 |
</P>
|
|
5299 |
<DT><EM>hour</EM>
|
|
5300 |
<DD>An integer greater than 0 representing an hour.
|
|
5301 |
<P>
|
|
5302 |
|
|
5303 |
</P>
|
|
5304 |
<DT><EM>minute</EM>
|
|
5305 |
<DD>An integer between 0 and 59 representing a minute within an hour.
|
|
5306 |
<P>
|
|
5307 |
|
|
5308 |
</P>
|
|
5309 |
<DT><EM>opt-second</EM>
|
|
5310 |
<DD>Optionally, a time-delimiter followed by a real number representing a
|
|
5311 |
number of seconds.
|
|
5312 |
<P>
|
|
5313 |
|
|
5314 |
</P>
|
|
5315 |
<DT><EM>hour24</EM>
|
|
5316 |
<DD>An integer between 0 and 23 representing an hour within a day.
|
|
5317 |
<P>
|
|
5318 |
|
|
5319 |
</P>
|
|
5320 |
<DT><EM>weekday</EM>
|
|
5321 |
<DD>At least the first two characters of an English day word.
|
|
5322 |
<P>
|
|
5323 |
|
|
5324 |
</P>
|
|
5325 |
<DT><EM>spaces</EM>
|
|
5326 |
<DD>Any amount or no amount of whitespace.
|
|
5327 |
<P>
|
|
5328 |
|
|
5329 |
</P>
|
|
5330 |
<DT><EM>sign</EM>
|
|
5331 |
<DD>An optional positive or negative sign.
|
|
5332 |
<P>
|
|
5333 |
|
|
5334 |
</P>
|
|
5335 |
<DT><EM>trailer</EM>
|
|
5336 |
<DD>All formats accept an optional whitespace trailer.
|
|
5337 |
</DL>
|
|
5338 |
<P>
|
|
5339 |
|
|
5340 |
The date input formats are strung together from the above pieces. On
|
|
5341 |
output, the date formats are always printed in a single canonical
|
|
5342 |
manner, based on field width. The date input and output formats are
|
|
5343 |
described below:
|
|
5344 |
</P>
|
|
5345 |
<P>
|
|
5346 |
|
|
5347 |
</P>
|
|
5348 |
<DL COMPACT>
|
|
5349 |
<DT>DATEw: 9 <= iw,ow <= 40
|
|
5350 |
<DD>Date format. Input format: leader + day + date-delimiter +
|
|
5351 |
month + date-delimiter + year + trailer. Output format: DD-MMM-YY for
|
|
5352 |
<VAR>w</VAR> < 11, DD-MMM-YYYY otherwise.
|
|
5353 |
<P>
|
|
5354 |
|
|
5355 |
</P>
|
|
5356 |
<DT>EDATEw: 8 <= iw,ow <= 40
|
|
5357 |
<DD>European date format. Input format same as DATE. Output format:
|
|
5358 |
DD.MM.YY for <VAR>w</VAR> < 10, DD.MM.YYYY otherwise.
|
|
5359 |
<P>
|
|
5360 |
|
|
5361 |
</P>
|
|
5362 |
<DT>SDATEw: 8 <= iw,ow <= 40
|
|
5363 |
<DD>Standard date format. Input format: leader + year + date-delimiter +
|
|
5364 |
month + date-delimiter + day + trailer. Output format: YY/MM/DD for
|
|
5365 |
<VAR>w</VAR> < 10, YYYY/MM/DD otherwise.
|
|
5366 |
<P>
|
|
5367 |
|
|
5368 |
</P>
|
|
5369 |
<DT>ADATEw: 8 <= iw,ow <= 40
|
|
5370 |
<DD>American date format. Input format: leader + month + date-delimiter +
|
|
5371 |
day + date-delimiter + year + trailer. Output format: MM/DD/YY for
|
|
5372 |
<VAR>w</VAR> < 10, MM/DD/YYYY otherwise.
|
|
5373 |
<P>
|
|
5374 |
|
|
5375 |
</P>
|
|
5376 |
<DT>JDATEw: 5 <= iw,ow <= 40
|
|
5377 |
<DD>Julian date format. Input format: leader + julian + trailer. Output
|
|
5378 |
format: YYDDD for <VAR>w</VAR> < 7, YYYYDDD otherwise.
|
|
5379 |
<P>
|
|
5380 |
|
|
5381 |
</P>
|
|
5382 |
<DT>QYRw: 4 <= iw <= 40, 6 <= ow <= 40
|
|
5383 |
<DD>Quarter/year format. Input format: leader + quarter + q-delimiter +
|
|
5384 |
year + trailer. Output format: `<SAMP>Q Q YY</SAMP>', where the first
|
|
5385 |
`<SAMP>Q</SAMP>' is one of the digits 1, 2, 3, 4, if <VAR>w</VAR> < 8, <CODE>Q Q
|
|
5386 |
YYYY</CODE> otherwise.
|
|
5387 |
<P>
|
|
5388 |
|
|
5389 |
</P>
|
|
5390 |
<DT>MOYRw: 6 <= iw,ow <= 40
|
|
5391 |
<DD>Month/year format. Input format: leader + month + date-delimiter + year
|
|
5392 |
+ trailer. Output format: `<SAMP>MMM YY</SAMP>' for <VAR>w</VAR> < 8, `<SAMP>MMM
|
|
5393 |
YYYY</SAMP>' otherwise.
|
|
5394 |
<P>
|
|
5395 |
|
|
5396 |
</P>
|
|
5397 |
<DT>WKYRw: 6 <= iw <= 40, 8 <= ow <= 40
|
|
5398 |
<DD>Week/year format. Input format: leader + week + wk-delimiter + year +
|
|
5399 |
trailer. Output format: `<SAMP>WW WK YY</SAMP>' for <VAR>w</VAR> < 10, `<SAMP>WW WK
|
|
5400 |
YYYY</SAMP>' otherwise.
|
|
5401 |
<P>
|
|
5402 |
|
|
5403 |
</P>
|
|
5404 |
<DT>DATETIMEw.d: 17 <= iw,ow <= 40
|
|
5405 |
<DD>Date and time format. Input format: leader + day + date-delimiter +
|
|
5406 |
month + date-delimiter + yaer + time-delimiter + hour24 + time-delimiter
|
|
5407 |
+ minute + opt-second. Output format: `<SAMP>DD-MMM-YYYY HH:MM</SAMP>'. If
|
|
5408 |
<VAR>w</VAR> > 19 then seconds `<SAMP>:SS</SAMP>' is added. If <VAR>w</VAR> > 22 and
|
|
5409 |
<VAR>d</VAR> > 0 then fractional seconds `<SAMP>.SS</SAMP>' are added.
|
|
5410 |
<P>
|
|
5411 |
|
|
5412 |
</P>
|
|
5413 |
<DT>TIMEw.d: 5 <= iw,ow <= 40
|
|
5414 |
<DD>Time format. Input format: leader + sign + spaces + hour +
|
|
5415 |
time-delimiter + minute + opt-second. Output format: `<SAMP>HH:MM</SAMP>'.
|
|
5416 |
Seconds and fractional seconds are available with <VAR>w</VAR> of at least 8
|
|
5417 |
and 10, respectively.
|
|
5418 |
<P>
|
|
5419 |
|
|
5420 |
</P>
|
|
5421 |
<DT>DTIMEw.d: 1 <= iw <= 40, 8 <= ow <= 40
|
|
5422 |
<DD>Time format with day count. Input format: leader + sign + spaces +
|
|
5423 |
day-count + time-delimiter + hour + time-delimiter + minute +
|
|
5424 |
opt-second. Output format: `<SAMP>DD HH:MM</SAMP>'. Seconds and fractional
|
|
5425 |
seconds are available with <VAR>w</VAR> of at least 8 and 10, respectively.
|
|
5426 |
<P>
|
|
5427 |
|
|
5428 |
</P>
|
|
5429 |
<DT>WKDAYw: 2 <= iw,ow <= 40
|
|
5430 |
<DD>A weekday as a number between 1 and 7, where 1 is Sunday. Input format:
|
|
5431 |
leader + weekday + trailer. Output format: as many characters, in all
|
|
5432 |
capital letters, of the English name of the weekday as will fit in the
|
|
5433 |
field width.
|
|
5434 |
<P>
|
|
5435 |
|
|
5436 |
</P>
|
|
5437 |
<DT>MONTHw: 3 <= iw,ow <= 40
|
|
5438 |
<DD>A month as a number between 1 and 12, where 1 is January. Input format:
|
|
5439 |
leader + month + trailer. Output format: as many character, in all
|
|
5440 |
capital letters, of the English name of the month as will fit in the
|
|
5441 |
field width.
|
|
5442 |
</DL>
|
|
5443 |
<P>
|
|
5444 |
|
|
5445 |
There are only two formats that may be used with string variables:
|
|
5446 |
</P>
|
|
5447 |
<P>
|
|
5448 |
|
|
5449 |
</P>
|
|
5450 |
<DL COMPACT>
|
|
5451 |
<DT>Aw: 1 <= iw <= 255, 1 <= ow <= 254
|
|
5452 |
<DD>The entire field is treated as a string value.
|
|
5453 |
<P>
|
|
5454 |
|
|
5455 |
</P>
|
|
5456 |
<DT>AHEXw => A: 2 <= iw <= 254; 2 <= ow <= 510
|
|
5457 |
<DD>The field is composed of characters in a string encoded as textual hex
|
|
5458 |
digit pairs.
|
|
5459 |
<P>
|
|
5460 |
|
|
5461 |
The default output <VAR>w</VAR> is half the input <VAR>w</VAR>.
|
|
5462 |
</DL>
|
|
5463 |
<P>
|
|
5464 |
|
|
5465 |
<A NAME="Scratch Variables"></A>
|
|
5466 |
<HR SIZE="6">
|
|
5467 |
<A NAME="SEC55"></A>
|
|
5468 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5469 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC54"> < </A>]</TD>
|
|
5470 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC56"> > </A>]</TD>
|
|
5471 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
5472 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC50"> Up </A>]</TD>
|
|
5473 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
5474 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5475 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5476 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5477 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5478 |
</TR></TABLE>
|
|
5479 |
<H3> 7.6.5 Scratch Variables </H3>
|
|
5480 |
<!--docid::SEC55::-->
|
|
5481 |
<P>
|
|
5482 |
|
|
5483 |
Most of the time, variables don't retain their values between cases.
|
|
5484 |
Instead, either they're being read from a data file or the active file,
|
|
5485 |
in which case they assume the value read, or, if created with COMPUTE or
|
|
5486 |
another transformation, they're initialized to the system-missing value
|
|
5487 |
or to blanks, depending on type.
|
|
5488 |
</P>
|
|
5489 |
<P>
|
|
5490 |
|
|
5491 |
However, sometimes it's useful to have a variable that keeps its value
|
|
5492 |
between cases. You can do this with LEAVE (see section <A HREF="pspp.html#SEC118">11.5 LEAVE</A>), or you can
|
|
5493 |
use a <EM>scratch variable</EM>. Scratch variables are variables whose
|
|
5494 |
names begin with an octothorpe (`<SAMP>#</SAMP>').
|
|
5495 |
</P>
|
|
5496 |
<P>
|
|
5497 |
|
|
5498 |
Scratch variables have the same properties as variables left with LEAVE:
|
|
5499 |
they retain their values between cases, and for the first case they are
|
|
5500 |
initialized to 0 or blanks. They have the additional property that they
|
|
5501 |
are deleted before the execution of any procedure. For this reason,
|
|
5502 |
scratch variables can't be used for analysis. To obtain the same
|
|
5503 |
effect, use COMPUTE (see section <A HREF="pspp.html#SEC132">12.3 COMPUTE</A>) to copy the scratch variable's
|
|
5504 |
value into an ordinary variable, then analysis that variable.
|
|
5505 |
</P>
|
|
5506 |
<P>
|
|
5507 |
|
|
5508 |
<A NAME="Files"></A>
|
|
5509 |
<HR SIZE="6">
|
|
5510 |
<A NAME="SEC56"></A>
|
|
5511 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5512 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC55"> < </A>]</TD>
|
|
5513 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC57"> > </A>]</TD>
|
|
5514 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
5515 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
5516 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
5517 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5518 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5519 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5520 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5521 |
</TR></TABLE>
|
|
5522 |
<H2> 7.7 Files Used by PSPP </H2>
|
|
5523 |
<!--docid::SEC56::-->
|
|
5524 |
<P>
|
|
5525 |
|
|
5526 |
PSPP makes use of many files each time it runs. Some of these it
|
|
5527 |
reads, some it writes, some it creates. Here is a table listing the
|
|
5528 |
most important of these files:
|
|
5529 |
</P>
|
|
5530 |
<P>
|
|
5531 |
|
|
5532 |
</P>
|
|
5533 |
<DL COMPACT>
|
|
5534 |
<A NAME="IDX109"></A>
|
|
5535 |
<A NAME="IDX110"></A>
|
|
5536 |
<A NAME="IDX111"></A>
|
|
5537 |
<A NAME="IDX112"></A>
|
|
5538 |
<DT><STRONG>command file</STRONG>
|
|
5539 |
<DD><DT><STRONG>syntax file</STRONG>
|
|
5540 |
<DD>These names (synonyms) refer to the file that contains instructions to
|
|
5541 |
PSPP that tell it what to do. The syntax file's name is specified on
|
|
5542 |
the PSPP command line. Syntax files can also be pulled in with the
|
|
5543 |
<CODE>INCLUDE</CODE> command.
|
|
5544 |
<P>
|
|
5545 |
|
|
5546 |
<A NAME="IDX113"></A>
|
|
5547 |
<A NAME="IDX114"></A>
|
|
5548 |
</P>
|
|
5549 |
<DT><STRONG>data file</STRONG>
|
|
5550 |
<DD>Data files contain raw data in ASCII format suitable for being read in
|
|
5551 |
by the <CODE>DATA LIST</CODE> command. Data can be embedded in the syntax
|
|
5552 |
file with <CODE>BEGIN DATA</CODE> and <CODE>END DATA</CODE> commands: this makes the
|
|
5553 |
syntax file a data file too.
|
|
5554 |
<P>
|
|
5555 |
|
|
5556 |
<A NAME="IDX115"></A>
|
|
5557 |
<A NAME="IDX116"></A>
|
|
5558 |
</P>
|
|
5559 |
<DT><STRONG>listing file</STRONG>
|
|
5560 |
<DD>One or more output files are created by PSPP each time it is
|
|
5561 |
run. The output files receive the tables and charts produced by
|
|
5562 |
statistical procedures. The output files may be in any number of formats,
|
|
5563 |
depending on how PSPP is configured.
|
|
5564 |
<P>
|
|
5565 |
|
|
5566 |
<A NAME="IDX117"></A>
|
|
5567 |
<A NAME="IDX118"></A>
|
|
5568 |
</P>
|
|
5569 |
<DT><STRONG>active file</STRONG>
|
|
5570 |
<DD>The active file is the "file" on which all PSPP procedures
|
|
5571 |
are performed. The active file contains variable definitions and
|
|
5572 |
cases. The active file is not necessarily a disk file: it is stored
|
|
5573 |
in memory if there is room.
|
|
5574 |
</DL>
|
|
5575 |
<P>
|
|
5576 |
|
|
5577 |
<A NAME="BNF"></A>
|
|
5578 |
<HR SIZE="6">
|
|
5579 |
<A NAME="SEC57"></A>
|
|
5580 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5581 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC56"> < </A>]</TD>
|
|
5582 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> > </A>]</TD>
|
|
5583 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
5584 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> Up </A>]</TD>
|
|
5585 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> >> </A>]</TD>
|
|
5586 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5587 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5588 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5589 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5590 |
</TR></TABLE>
|
|
5591 |
<H2> 7.8 Backus-Naur Form </H2>
|
|
5592 |
<!--docid::SEC57::-->
|
|
5593 |
<P>
|
|
5594 |
|
|
5595 |
The syntax of some parts of the PSPP language is presented in this
|
|
5596 |
manual using the formalism known as <EM>Backus-Naur Form</EM>, or BNF. The
|
|
5597 |
following table describes BNF:
|
|
5598 |
</P>
|
|
5599 |
<P>
|
|
5600 |
|
|
5601 |
<UL>
|
|
5602 |
<A NAME="IDX119"></A>
|
|
5603 |
<A NAME="IDX120"></A>
|
|
5604 |
<LI>
|
|
5605 |
Words in all-uppercase are PSPP keyword tokens. In BNF, these are
|
|
5606 |
often called <EM>terminals</EM>. There are some special terminals, which
|
|
5607 |
are actually written in lowercase for clarity:
|
|
5608 |
<P>
|
|
5609 |
|
|
5610 |
</P>
|
|
5611 |
<DL COMPACT>
|
|
5612 |
<A NAME="IDX121"></A>
|
|
5613 |
<DT><CODE>number</CODE>
|
|
5614 |
<DD>A real number.
|
|
5615 |
<P>
|
|
5616 |
|
|
5617 |
<A NAME="IDX122"></A>
|
|
5618 |
</P>
|
|
5619 |
<DT><CODE>integer</CODE>
|
|
5620 |
<DD>An integer number.
|
|
5621 |
<P>
|
|
5622 |
|
|
5623 |
<A NAME="IDX123"></A>
|
|
5624 |
</P>
|
|
5625 |
<DT><CODE>string</CODE>
|
|
5626 |
<DD>A string.
|
|
5627 |
<P>
|
|
5628 |
|
|
5629 |
<A NAME="IDX124"></A>
|
|
5630 |
</P>
|
|
5631 |
<DT><CODE>var-name</CODE>
|
|
5632 |
<DD>A single variable name.
|
|
5633 |
<P>
|
|
5634 |
|
|
5635 |
<A NAME="IDX125"></A>
|
|
5636 |
<A NAME="IDX126"></A>
|
|
5637 |
</P>
|
|
5638 |
<DT><CODE>=</CODE>, <CODE>/</CODE>, <CODE>+</CODE>, <CODE>-</CODE>, etc.
|
|
5639 |
<DD>Operators and punctuators.
|
|
5640 |
<P>
|
|
5641 |
|
|
5642 |
<A NAME="IDX127"></A>
|
|
5643 |
<A NAME="IDX128"></A>
|
|
5644 |
<A NAME="IDX129"></A>
|
|
5645 |
</P>
|
|
5646 |
<DT><CODE>.</CODE>
|
|
5647 |
<DD>The terminal dot. This is not necessarily an actual dot in the syntax
|
|
5648 |
file: See section <A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A>, for more details.
|
|
5649 |
</DL>
|
|
5650 |
<P>
|
|
5651 |
|
|
5652 |
</P>
|
|
5653 |
<LI>
|
|
5654 |
<A NAME="IDX130"></A>
|
|
5655 |
<A NAME="IDX131"></A>
|
|
5656 |
Other words in all lowercase refer to BNF definitions, called
|
|
5657 |
<EM>productions</EM>. These productions are also known as
|
|
5658 |
<EM>nonterminals</EM>. Some nonterminals are very common, so they are
|
|
5659 |
defined here in English for clarity:
|
|
5660 |
<P>
|
|
5661 |
|
|
5662 |
</P>
|
|
5663 |
<DL COMPACT>
|
|
5664 |
<A NAME="IDX132"></A>
|
|
5665 |
<DT><CODE>var-list</CODE>
|
|
5666 |
<DD>A list of one or more variable names or the keyword <CODE>ALL</CODE>.
|
|
5667 |
<P>
|
|
5668 |
|
|
5669 |
<A NAME="IDX133"></A>
|
|
5670 |
</P>
|
|
5671 |
<DT><CODE>expression</CODE>
|
|
5672 |
<DD>An expression. See section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>, for details.
|
|
5673 |
</DL>
|
|
5674 |
<P>
|
|
5675 |
|
|
5676 |
</P>
|
|
5677 |
<LI>
|
|
5678 |
<A NAME="IDX134"></A>
|
|
5679 |
<A NAME="IDX135"></A>
|
|
5680 |
<A NAME="IDX136"></A>
|
|
5681 |
`<SAMP>::=</SAMP>' means "is defined as". The left side of `<SAMP>::=</SAMP>' gives
|
|
5682 |
the name of the nonterminal being defined. The right side of `<SAMP>::=</SAMP>'
|
|
5683 |
gives the definition of that nonterminal. If the right side is empty,
|
|
5684 |
then one possible expansion of that nonterminal is nothing. A BNF
|
|
5685 |
definition is called a <EM>production</EM>.
|
|
5686 |
<P>
|
|
5687 |
|
|
5688 |
</P>
|
|
5689 |
<LI>
|
|
5690 |
<A NAME="IDX137"></A>
|
|
5691 |
So, the key difference between a terminal and a nonterminal is that a
|
|
5692 |
terminal cannot be broken into smaller parts--in fact, every terminal
|
|
5693 |
is a single token (see section <A HREF="pspp.html#SEC45">7.1 Tokens</A>). On the other hand, nonterminals are
|
|
5694 |
composed of a (possibly empty) sequence of terminals and nonterminals.
|
|
5695 |
Thus, terminals indicate the deepest level of syntax description. (In
|
|
5696 |
parsing theory, terminals are the leaves of the parse tree; nonterminals
|
|
5697 |
form the branches.)
|
|
5698 |
<P>
|
|
5699 |
|
|
5700 |
</P>
|
|
5701 |
<LI>
|
|
5702 |
<A NAME="IDX138"></A>
|
|
5703 |
<A NAME="IDX139"></A>
|
|
5704 |
The first nonterminal defined in a set of productions is called the
|
|
5705 |
<EM>start symbol</EM>. The start symbol defines the entire syntax for
|
|
5706 |
that command.
|
|
5707 |
</UL>
|
|
5708 |
<P>
|
|
5709 |
|
|
5710 |
<A NAME="Expressions"></A>
|
|
5711 |
<HR SIZE="6">
|
|
5712 |
<A NAME="SEC58"></A>
|
|
5713 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5714 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC57"> < </A>]</TD>
|
|
5715 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC59"> > </A>]</TD>
|
|
5716 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC44"> << </A>]</TD>
|
|
5717 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
5718 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5719 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5720 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5721 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5722 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5723 |
</TR></TABLE>
|
|
5724 |
<H1> 8. Mathematical Expressions </H1>
|
|
5725 |
<!--docid::SEC58::-->
|
|
5726 |
<P>
|
|
5727 |
|
|
5728 |
Some PSPP commands use expressions, which share a common syntax
|
|
5729 |
among all PSPP commands. Expressions are made up of
|
|
5730 |
<EM>operands</EM>, which can be numbers, strings, or variable names,
|
|
5731 |
separated by <EM>operators</EM>. There are five types of operators:
|
|
5732 |
grouping, arithmetic, logical, relational, and functions.
|
|
5733 |
</P>
|
|
5734 |
<P>
|
|
5735 |
|
|
5736 |
Every operator takes one or more <EM>arguments</EM> as input and produces
|
|
5737 |
or <EM>returns</EM> exactly one result as output. Both strings and numeric
|
|
5738 |
values can be used as arguments and are produced as results, but each
|
|
5739 |
operator accepts only specific combinations of numeric and string values
|
|
5740 |
as arguments. With few exceptions, operator arguments may be
|
|
5741 |
full-fledged expressions in themselves.
|
|
5742 |
</P>
|
|
5743 |
<P>
|
|
5744 |
|
|
5745 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
5746 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC59">8.1 Boolean values</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
5747 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC60">8.2 Missing Values in Expressions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Using missing values in expressions.</TD></TR>
|
|
5748 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC61">8.3 Grouping Operators</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">( )</TD></TR>
|
|
5749 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">+ - * / **</TD></TR>
|
|
5750 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">AND NOT OR</TD></TR>
|
|
5751 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">EQ GE GT LE LT NE</TD></TR>
|
|
5752 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC65">8.7 Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">More-sophisticated operators.</TD></TR>
|
|
5753 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC82">8.8 Operator Precedence</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Operator precedence.</TD></TR>
|
|
5754 |
</TABLE>
|
|
5755 |
<P>
|
|
5756 |
|
|
5757 |
<A NAME="Booleans"></A>
|
|
5758 |
<HR SIZE="6">
|
|
5759 |
<A NAME="SEC59"></A>
|
|
5760 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5761 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> < </A>]</TD>
|
|
5762 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC60"> > </A>]</TD>
|
|
5763 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
5764 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
5765 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5766 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5767 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5768 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5769 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5770 |
</TR></TABLE>
|
|
5771 |
<H2> 8.1 Boolean values </H2>
|
|
5772 |
<!--docid::SEC59::-->
|
|
5773 |
<P>
|
|
5774 |
|
|
5775 |
There is a third type for arguments and results, the <EM>Boolean</EM> type,
|
|
5776 |
which is used to represent true/false conditions. Booleans have only
|
|
5777 |
three possible values: 0 (false), 1 (true), and system-missing.
|
|
5778 |
System-missing is neither true or false.
|
|
5779 |
</P>
|
|
5780 |
<P>
|
|
5781 |
|
|
5782 |
<UL>
|
|
5783 |
<LI>
|
|
5784 |
A numeric expression that has value 0, 1, or system-missing may be used
|
|
5785 |
in place of a Boolean. Thus, the expression <CODE>0 AND 1</CODE> is valid
|
|
5786 |
(although it is always true).
|
|
5787 |
<P>
|
|
5788 |
|
|
5789 |
</P>
|
|
5790 |
<LI>
|
|
5791 |
A numeric expression with any other value will cause an error if it is
|
|
5792 |
used as a Boolean. So, <CODE>2 OR 3</CODE> is invalid.
|
|
5793 |
<P>
|
|
5794 |
|
|
5795 |
</P>
|
|
5796 |
<LI>
|
|
5797 |
A Boolean expression may not be used in place of a numeric expression.
|
|
5798 |
Thus, <CODE>(1>2) + (3<4)</CODE> is invalid.
|
|
5799 |
<P>
|
|
5800 |
|
|
5801 |
</P>
|
|
5802 |
<LI>
|
|
5803 |
Strings and Booleans are not compatible, and neither may be used in
|
|
5804 |
place of the other.
|
|
5805 |
</UL>
|
|
5806 |
<P>
|
|
5807 |
|
|
5808 |
<A NAME="Missing Values in Expressions"></A>
|
|
5809 |
<HR SIZE="6">
|
|
5810 |
<A NAME="SEC60"></A>
|
|
5811 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5812 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC59"> < </A>]</TD>
|
|
5813 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC61"> > </A>]</TD>
|
|
5814 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
5815 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
5816 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5817 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5818 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5819 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5820 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5821 |
</TR></TABLE>
|
|
5822 |
<H2> 8.2 Missing Values in Expressions </H2>
|
|
5823 |
<!--docid::SEC60::-->
|
|
5824 |
<P>
|
|
5825 |
|
|
5826 |
String missing values are not treated specially in expressions. Most
|
|
5827 |
numeric operators return system-missing when given system-missing
|
|
5828 |
arguments. Exceptions are listed under particular operator
|
|
5829 |
descriptions.
|
|
5830 |
</P>
|
|
5831 |
<P>
|
|
5832 |
|
|
5833 |
User-missing values for numeric variables are always transformed into
|
|
5834 |
the system-missing value, except inside the arguments to the
|
|
5835 |
<CODE>VALUE</CODE>, <CODE>SYSMIS</CODE>, and <CODE>MISSING</CODE> functions.
|
|
5836 |
</P>
|
|
5837 |
<P>
|
|
5838 |
|
|
5839 |
The missing-value functions can be used to precisely control how missing
|
|
5840 |
values are treated in expressions. See section <A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A>, for
|
|
5841 |
more details.
|
|
5842 |
</P>
|
|
5843 |
<P>
|
|
5844 |
|
|
5845 |
<A NAME="Grouping Operators"></A>
|
|
5846 |
<HR SIZE="6">
|
|
5847 |
<A NAME="SEC61"></A>
|
|
5848 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5849 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC60"> < </A>]</TD>
|
|
5850 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC62"> > </A>]</TD>
|
|
5851 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
5852 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
5853 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5854 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5855 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5856 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5857 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5858 |
</TR></TABLE>
|
|
5859 |
<H2> 8.3 Grouping Operators </H2>
|
|
5860 |
<!--docid::SEC61::-->
|
|
5861 |
<P>
|
|
5862 |
|
|
5863 |
Parentheses (`<SAMP>()</SAMP>') are the grouping operators. Surround an
|
|
5864 |
expression with parentheses to force early evaluation.
|
|
5865 |
</P>
|
|
5866 |
<P>
|
|
5867 |
|
|
5868 |
Parentheses also surround the arguments to functions, but in that
|
|
5869 |
situation they act as punctuators, not as operators.
|
|
5870 |
</P>
|
|
5871 |
<P>
|
|
5872 |
|
|
5873 |
<A NAME="Arithmetic Operators"></A>
|
|
5874 |
<HR SIZE="6">
|
|
5875 |
<A NAME="SEC62"></A>
|
|
5876 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5877 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC61"> < </A>]</TD>
|
|
5878 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC63"> > </A>]</TD>
|
|
5879 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
5880 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
5881 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5882 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5883 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5884 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5885 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5886 |
</TR></TABLE>
|
|
5887 |
<H2> 8.4 Arithmetic Operators </H2>
|
|
5888 |
<!--docid::SEC62::-->
|
|
5889 |
<P>
|
|
5890 |
|
|
5891 |
The arithmetic operators take numeric arguments and produce numeric
|
|
5892 |
results.
|
|
5893 |
</P>
|
|
5894 |
<P>
|
|
5895 |
|
|
5896 |
</P>
|
|
5897 |
<DL COMPACT>
|
|
5898 |
<A NAME="IDX140"></A>
|
|
5899 |
<A NAME="IDX141"></A>
|
|
5900 |
<DT><CODE><VAR>a</VAR> + <VAR>b</VAR></CODE>
|
|
5901 |
<DD>Adds <VAR>a</VAR> and <VAR>b</VAR>, returning the sum.
|
|
5902 |
<P>
|
|
5903 |
|
|
5904 |
<A NAME="IDX142"></A>
|
|
5905 |
<A NAME="IDX143"></A>
|
|
5906 |
</P>
|
|
5907 |
<DT><CODE><VAR>a</VAR> - <VAR>b</VAR></CODE>
|
|
5908 |
<DD>Subtracts <VAR>b</VAR> from <VAR>a</VAR>, returning the difference.
|
|
5909 |
<P>
|
|
5910 |
|
|
5911 |
<A NAME="IDX144"></A>
|
|
5912 |
<A NAME="IDX145"></A>
|
|
5913 |
</P>
|
|
5914 |
<DT><CODE><VAR>a</VAR> * <VAR>b</VAR></CODE>
|
|
5915 |
<DD>Multiplies <VAR>a</VAR> and <VAR>b</VAR>, returning the product.
|
|
5916 |
<P>
|
|
5917 |
|
|
5918 |
<A NAME="IDX146"></A>
|
|
5919 |
<A NAME="IDX147"></A>
|
|
5920 |
</P>
|
|
5921 |
<DT><CODE><VAR>a</VAR> / <VAR>b</VAR></CODE>
|
|
5922 |
<DD>Divides <VAR>a</VAR> by <VAR>b</VAR>, returning the quotient. If <VAR>b</VAR> is
|
|
5923 |
zero, the result is system-missing.
|
|
5924 |
<P>
|
|
5925 |
|
|
5926 |
<A NAME="IDX148"></A>
|
|
5927 |
<A NAME="IDX149"></A>
|
|
5928 |
</P>
|
|
5929 |
<DT><CODE><VAR>a</VAR> ** <VAR>b</VAR></CODE>
|
|
5930 |
<DD>Returns the result of raising <VAR>a</VAR> to the power <VAR>b</VAR>. If
|
|
5931 |
<VAR>a</VAR> is negative and <VAR>b</VAR> is not an integer, the result is
|
|
5932 |
system-missing. The result of <CODE>0**0</CODE> is system-missing as well.
|
|
5933 |
<P>
|
|
5934 |
|
|
5935 |
<A NAME="IDX150"></A>
|
|
5936 |
<A NAME="IDX151"></A>
|
|
5937 |
</P>
|
|
5938 |
<DT><CODE>- <VAR>a</VAR></CODE>
|
|
5939 |
<DD>Reverses the sign of <VAR>a</VAR>.
|
|
5940 |
</DL>
|
|
5941 |
<P>
|
|
5942 |
|
|
5943 |
<A NAME="Logical Operators"></A>
|
|
5944 |
<HR SIZE="6">
|
|
5945 |
<A NAME="SEC63"></A>
|
|
5946 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
5947 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC62"> < </A>]</TD>
|
|
5948 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC64"> > </A>]</TD>
|
|
5949 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
5950 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
5951 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
5952 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
5953 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
5954 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
5955 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
5956 |
</TR></TABLE>
|
|
5957 |
<H2> 8.5 Logical Operators </H2>
|
|
5958 |
<!--docid::SEC63::-->
|
|
5959 |
<P>
|
|
5960 |
|
|
5961 |
<A NAME="IDX152"></A>
|
|
5962 |
<A NAME="IDX153"></A>
|
|
5963 |
<A NAME="IDX154"></A>
|
|
5964 |
<A NAME="IDX155"></A>
|
|
5965 |
<A NAME="IDX156"></A>
|
|
5966 |
The logical operators take logical arguments and produce logical
|
|
5967 |
results, meaning "true or false". PSPP logical operators are
|
|
5968 |
not true Boolean operators because they may also result in a
|
|
5969 |
system-missing value.
|
|
5970 |
</P>
|
|
5971 |
<P>
|
|
5972 |
|
|
5973 |
</P>
|
|
5974 |
<DL COMPACT>
|
|
5975 |
<A NAME="IDX157"></A>
|
|
5976 |
<A NAME="IDX158"></A>
|
|
5977 |
<A NAME="IDX159"></A>
|
|
5978 |
<A NAME="IDX160"></A>
|
|
5979 |
<DT><CODE><VAR>a</VAR> AND <VAR>b</VAR></CODE>
|
|
5980 |
<DD><DT><CODE><VAR>a</VAR> & <VAR>b</VAR></CODE>
|
|
5981 |
<DD>True if both <VAR>a</VAR> and <VAR>b</VAR> are true. However, if one argument is
|
|
5982 |
false and the other is missing, the result is false, not missing. If
|
|
5983 |
both arguments are missing, the result is missing.
|
|
5984 |
<P>
|
|
5985 |
|
|
5986 |
<A NAME="IDX161"></A>
|
|
5987 |
<A NAME="IDX162"></A>
|
|
5988 |
<A NAME="IDX163"></A>
|
|
5989 |
<A NAME="IDX164"></A>
|
|
5990 |
</P>
|
|
5991 |
<DT><CODE><VAR>a</VAR> OR <VAR>b</VAR></CODE>
|
|
5992 |
<DD><DT><CODE><VAR>a</VAR> | <VAR>b</VAR></CODE>
|
|
5993 |
<DD>True if at least one of <VAR>a</VAR> and <VAR>b</VAR> is true. If one argument is
|
|
5994 |
true and the other is missing, the result is true, not missing. If both
|
|
5995 |
arguments are missing, the result is missing.
|
|
5996 |
<P>
|
|
5997 |
|
|
5998 |
<A NAME="IDX165"></A>
|
|
5999 |
<A NAME="IDX166"></A>
|
|
6000 |
<A NAME="IDX167"></A>
|
|
6001 |
<A NAME="IDX168"></A>
|
|
6002 |
</P>
|
|
6003 |
<DT><CODE>NOT <VAR>a</VAR></CODE>
|
|
6004 |
<DD><DT><CODE>~ <VAR>a</VAR></CODE>
|
|
6005 |
<DD>True if <VAR>a</VAR> is false.
|
|
6006 |
</DL>
|
|
6007 |
<P>
|
|
6008 |
|
|
6009 |
<A NAME="Relational Operators"></A>
|
|
6010 |
<HR SIZE="6">
|
|
6011 |
<A NAME="SEC64"></A>
|
|
6012 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6013 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC63"> < </A>]</TD>
|
|
6014 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> > </A>]</TD>
|
|
6015 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6016 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
6017 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6018 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6019 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6020 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6021 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6022 |
</TR></TABLE>
|
|
6023 |
<H2> 8.6 Relational Operators </H2>
|
|
6024 |
<!--docid::SEC64::-->
|
|
6025 |
<P>
|
|
6026 |
|
|
6027 |
The relational operators take numeric or string arguments and produce Boolean
|
|
6028 |
results.
|
|
6029 |
</P>
|
|
6030 |
<P>
|
|
6031 |
|
|
6032 |
Note that, with numeric arguments, PSPP does not make exact
|
|
6033 |
relational tests. Instead, two numbers are considered to be equal even
|
|
6034 |
if they differ by a small amount. This amount, <EM>epsilon</EM>, is
|
|
6035 |
dependent on the PSPP configuration and determined at compile
|
|
6036 |
time. (The default value is 0.000000001, or
|
|
6037 |
<CODE>10**(-9)</CODE>.)
|
|
6038 |
Use of epsilon allows for round-off errors. Use of epsilon is also
|
|
6039 |
idiotic, but the author is not a numeric analyst.
|
|
6040 |
</P>
|
|
6041 |
<P>
|
|
6042 |
|
|
6043 |
Strings cannot be compared to numbers. When strings of different
|
|
6044 |
lengths are compared, the shorter string is right-padded with spaces
|
|
6045 |
to match the length of the longer string.
|
|
6046 |
</P>
|
|
6047 |
<P>
|
|
6048 |
|
|
6049 |
The results of string comparisons, other than tests for equality or
|
|
6050 |
inequality, are dependent on the character set in use. String
|
|
6051 |
comparisons are case-sensitive.
|
|
6052 |
</P>
|
|
6053 |
<P>
|
|
6054 |
|
|
6055 |
</P>
|
|
6056 |
<DL COMPACT>
|
|
6057 |
<A NAME="IDX169"></A>
|
|
6058 |
<A NAME="IDX170"></A>
|
|
6059 |
<A NAME="IDX171"></A>
|
|
6060 |
<A NAME="IDX172"></A>
|
|
6061 |
<DT><CODE><VAR>a</VAR> EQ <VAR>b</VAR></CODE>
|
|
6062 |
<DD><DT><CODE><VAR>a</VAR> = <VAR>b</VAR></CODE>
|
|
6063 |
<DD>True if <VAR>a</VAR> is equal to <VAR>b</VAR>.
|
|
6064 |
<P>
|
|
6065 |
|
|
6066 |
<A NAME="IDX173"></A>
|
|
6067 |
<A NAME="IDX174"></A>
|
|
6068 |
<A NAME="IDX175"></A>
|
|
6069 |
</P>
|
|
6070 |
<DT><CODE><VAR>a</VAR> LE <VAR>b</VAR></CODE>
|
|
6071 |
<DD><DT><CODE><VAR>a</VAR> <= <VAR>b</VAR></CODE>
|
|
6072 |
<DD>True if <VAR>a</VAR> is less than or equal to <VAR>b</VAR>.
|
|
6073 |
<P>
|
|
6074 |
|
|
6075 |
<A NAME="IDX176"></A>
|
|
6076 |
<A NAME="IDX177"></A>
|
|
6077 |
<A NAME="IDX178"></A>
|
|
6078 |
</P>
|
|
6079 |
<DT><CODE><VAR>a</VAR> LT <VAR>b</VAR></CODE>
|
|
6080 |
<DD><DT><CODE><VAR>a</VAR> < <VAR>b</VAR></CODE>
|
|
6081 |
<DD>True if <VAR>a</VAR> is less than <VAR>b</VAR>.
|
|
6082 |
<P>
|
|
6083 |
|
|
6084 |
<A NAME="IDX179"></A>
|
|
6085 |
<A NAME="IDX180"></A>
|
|
6086 |
<A NAME="IDX181"></A>
|
|
6087 |
</P>
|
|
6088 |
<DT><CODE><VAR>a</VAR> GE <VAR>b</VAR></CODE>
|
|
6089 |
<DD><DT><CODE><VAR>a</VAR> >= <VAR>b</VAR></CODE>
|
|
6090 |
<DD>True if <VAR>a</VAR> is greater than or equal to <VAR>b</VAR>.
|
|
6091 |
<P>
|
|
6092 |
|
|
6093 |
<A NAME="IDX182"></A>
|
|
6094 |
<A NAME="IDX183"></A>
|
|
6095 |
<A NAME="IDX184"></A>
|
|
6096 |
</P>
|
|
6097 |
<DT><CODE><VAR>a</VAR> GT <VAR>b</VAR></CODE>
|
|
6098 |
<DD><DT><CODE><VAR>a</VAR> > <VAR>b</VAR></CODE>
|
|
6099 |
<DD>True if <VAR>a</VAR> is greater than <VAR>b</VAR>.
|
|
6100 |
<P>
|
|
6101 |
|
|
6102 |
<A NAME="IDX185"></A>
|
|
6103 |
<A NAME="IDX186"></A>
|
|
6104 |
<A NAME="IDX187"></A>
|
|
6105 |
<A NAME="IDX188"></A>
|
|
6106 |
<A NAME="IDX189"></A>
|
|
6107 |
</P>
|
|
6108 |
<DT><CODE><VAR>a</VAR> NE <VAR>b</VAR></CODE>
|
|
6109 |
<DD><DT><CODE><VAR>a</VAR> ~= <VAR>b</VAR></CODE>
|
|
6110 |
<DD><DT><CODE><VAR>a</VAR> <> <VAR>b</VAR></CODE>
|
|
6111 |
<DD>True is <VAR>a</VAR> is not equal to <VAR>b</VAR>.
|
|
6112 |
</DL>
|
|
6113 |
<P>
|
|
6114 |
|
|
6115 |
<A NAME="Functions"></A>
|
|
6116 |
<HR SIZE="6">
|
|
6117 |
<A NAME="SEC65"></A>
|
|
6118 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6119 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC64"> < </A>]</TD>
|
|
6120 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC66"> > </A>]</TD>
|
|
6121 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6122 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
6123 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6124 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6125 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6126 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6127 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6128 |
</TR></TABLE>
|
|
6129 |
<H2> 8.7 Functions </H2>
|
|
6130 |
<!--docid::SEC65::-->
|
|
6131 |
<P>
|
|
6132 |
|
|
6133 |
<A NAME="IDX190"></A>
|
|
6134 |
<A NAME="IDX191"></A>
|
|
6135 |
<A NAME="IDX192"></A>
|
|
6136 |
<A NAME="IDX193"></A>
|
|
6137 |
<A NAME="IDX194"></A>
|
|
6138 |
<A NAME="IDX195"></A>
|
|
6139 |
PSPP functions provide mathematical abilities above and beyond
|
|
6140 |
those possible using simple operators. Functions have a common
|
|
6141 |
syntax: each is composed of a function name followed by a left
|
|
6142 |
parenthesis, one or more arguments, and a right parenthesis. Function
|
|
6143 |
names are <STRONG>not</STRONG> reserved; their names are specially treated
|
|
6144 |
only when followed by a left parenthesis: <CODE>EXP(10)</CODE> refers to the
|
|
6145 |
constant value <CODE>e</CODE> raised to the 10th power, but <CODE>EXP</CODE> by
|
|
6146 |
itself refers to the value of variable EXP.
|
|
6147 |
</P>
|
|
6148 |
<P>
|
|
6149 |
|
|
6150 |
The sections below describe each function in detail.
|
|
6151 |
</P>
|
|
6152 |
<P>
|
|
6153 |
|
|
6154 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
6155 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">EXP LG10 LN SQRT</TD></TR>
|
|
6156 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">ABS MOD MOD10 RND TRUNC</TD></TR>
|
|
6157 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">ACOS ARCOS ARSIN ARTAN ASIN ATAN COS SIN TAN</TD></TR>
|
|
6158 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">MISSING NMISS NVALID SYSMIS VALUE</TD></TR>
|
|
6159 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">NORMAL UNIFORM</TD></TR>
|
|
6160 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">ANY RANGE</TD></TR>
|
|
6161 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">CFVAR MAX MEAN MIN SD SUM VARIANCE</TD></TR>
|
|
6162 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">CONCAT INDEX LENGTH LOWER LPAD LTRIM NUMBER
|
|
6163 |
RINDEX RPAD RTRIM STRING SUBSTR UPCASE</TD></TR>
|
|
6164 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">CTIME.xxx DATE.xxx TIME.xxx XDATE.xxx</TD></TR>
|
|
6165 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">LAG YRMODA</TD></TR>
|
|
6166 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">CDF.xxx CDFNORM IDF.xxx NCDF.xxx PROBIT RV.xxx</TD></TR>
|
|
6167 |
</TABLE>
|
|
6168 |
<P>
|
|
6169 |
|
|
6170 |
<A NAME="Advanced Mathematics"></A>
|
|
6171 |
<HR SIZE="6">
|
|
6172 |
<A NAME="SEC66"></A>
|
|
6173 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6174 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> < </A>]</TD>
|
|
6175 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC67"> > </A>]</TD>
|
|
6176 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6177 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6178 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6179 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6180 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6181 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6182 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6183 |
</TR></TABLE>
|
|
6184 |
<H3> 8.7.1 Advanced Mathematical Functions </H3>
|
|
6185 |
<!--docid::SEC66::-->
|
|
6186 |
<P>
|
|
6187 |
|
|
6188 |
Advanced mathematical functions take numeric arguments and produce
|
|
6189 |
numeric results.
|
|
6190 |
</P>
|
|
6191 |
<P>
|
|
6192 |
|
|
6193 |
<A NAME="IDX196"></A>
|
|
6194 |
</P>
|
|
6195 |
<DL>
|
|
6196 |
<DT><U>Function:</U> <B>EXP</B> <I>(<VAR>exponent</VAR>)</I>
|
|
6197 |
<DD>Returns <I>e</I> (approximately 2.71828) raised to power <VAR>exponent</VAR>.
|
|
6198 |
</DL>
|
|
6199 |
<P>
|
|
6200 |
|
|
6201 |
<A NAME="IDX197"></A>
|
|
6202 |
<A NAME="IDX198"></A>
|
|
6203 |
</P>
|
|
6204 |
<DL>
|
|
6205 |
<DT><U>Function:</U> <B>LG10</B> <I>(<VAR>number</VAR>)</I>
|
|
6206 |
<DD>Takes the base-10 logarithm of <VAR>number</VAR>. If <VAR>number</VAR> is
|
|
6207 |
not positive, the result is system-missing.
|
|
6208 |
</DL>
|
|
6209 |
<P>
|
|
6210 |
|
|
6211 |
<A NAME="IDX199"></A>
|
|
6212 |
</P>
|
|
6213 |
<DL>
|
|
6214 |
<DT><U>Function:</U> <B>LN</B> <I>(<VAR>number</VAR>)</I>
|
|
6215 |
<DD>Takes the base-`<SAMP>e</SAMP>' logarithm of <VAR>number</VAR>. If <VAR>number</VAR> is
|
|
6216 |
not positive, the result is system-missing.
|
|
6217 |
</DL>
|
|
6218 |
<P>
|
|
6219 |
|
|
6220 |
<A NAME="IDX200"></A>
|
|
6221 |
<A NAME="IDX201"></A>
|
|
6222 |
</P>
|
|
6223 |
<DL>
|
|
6224 |
<DT><U>Function:</U> <B>SQRT</B> <I>(<VAR>number</VAR>)</I>
|
|
6225 |
<DD>Takes the square root of <VAR>number</VAR>. If <VAR>number</VAR> is negative,
|
|
6226 |
the result is system-missing.
|
|
6227 |
</DL>
|
|
6228 |
<P>
|
|
6229 |
|
|
6230 |
<A NAME="Miscellaneous Mathematics"></A>
|
|
6231 |
<HR SIZE="6">
|
|
6232 |
<A NAME="SEC67"></A>
|
|
6233 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6234 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC66"> < </A>]</TD>
|
|
6235 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC68"> > </A>]</TD>
|
|
6236 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6237 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6238 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6239 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6240 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6241 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6242 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6243 |
</TR></TABLE>
|
|
6244 |
<H3> 8.7.2 Miscellaneous Mathematical Functions </H3>
|
|
6245 |
<!--docid::SEC67::-->
|
|
6246 |
<P>
|
|
6247 |
|
|
6248 |
Miscellaneous mathematical functions take numeric arguments and produce
|
|
6249 |
numeric results.
|
|
6250 |
</P>
|
|
6251 |
<P>
|
|
6252 |
|
|
6253 |
<A NAME="IDX202"></A>
|
|
6254 |
<A NAME="IDX203"></A>
|
|
6255 |
</P>
|
|
6256 |
<DL>
|
|
6257 |
<DT><U>Function:</U> <B>ABS</B> <I>(<VAR>number</VAR>)</I>
|
|
6258 |
<DD>Results in the absolute value of <VAR>number</VAR>.
|
|
6259 |
</DL>
|
|
6260 |
<P>
|
|
6261 |
|
|
6262 |
<A NAME="IDX204"></A>
|
|
6263 |
<A NAME="IDX205"></A>
|
|
6264 |
</P>
|
|
6265 |
<DL>
|
|
6266 |
<DT><U>Function:</U> <B>MOD</B> <I>(<VAR>numerator</VAR>, <VAR>denominator</VAR>)</I>
|
|
6267 |
<DD>Returns the remainder (modulus) of <VAR>numerator</VAR> divided by
|
|
6268 |
<VAR>denominator</VAR>. If <VAR>denominator</VAR> is 0, the result is
|
|
6269 |
system-missing. However, if <VAR>numerator</VAR> is 0 and
|
|
6270 |
<VAR>denominator</VAR> is system-missing, the result is 0.
|
|
6271 |
</DL>
|
|
6272 |
<P>
|
|
6273 |
|
|
6274 |
<A NAME="IDX206"></A>
|
|
6275 |
<A NAME="IDX207"></A>
|
|
6276 |
</P>
|
|
6277 |
<DL>
|
|
6278 |
<DT><U>Function:</U> <B>MOD10</B> <I>(<VAR>number</VAR>)</I>
|
|
6279 |
<DD>Returns the remainder when <VAR>number</VAR> is divided by 10. If
|
|
6280 |
<VAR>number</VAR> is negative, MOD10(<VAR>number</VAR>) is negative or zero.
|
|
6281 |
</DL>
|
|
6282 |
<P>
|
|
6283 |
|
|
6284 |
<A NAME="IDX208"></A>
|
|
6285 |
<A NAME="IDX209"></A>
|
|
6286 |
</P>
|
|
6287 |
<DL>
|
|
6288 |
<DT><U>Function:</U> <B>RND</B> <I>(<VAR>number</VAR>)</I>
|
|
6289 |
<DD>Takes the absolute value of <VAR>number</VAR> and rounds it to an integer.
|
|
6290 |
Then, if <VAR>number</VAR> was negative originally, negates the result.
|
|
6291 |
</DL>
|
|
6292 |
<P>
|
|
6293 |
|
|
6294 |
<A NAME="IDX210"></A>
|
|
6295 |
<A NAME="IDX211"></A>
|
|
6296 |
</P>
|
|
6297 |
<DL>
|
|
6298 |
<DT><U>Function:</U> <B>TRUNC</B> <I>(<VAR>number</VAR>)</I>
|
|
6299 |
<DD>Discards the fractional part of <VAR>number</VAR>; that is, rounds
|
|
6300 |
<VAR>number</VAR> towards zero.
|
|
6301 |
</DL>
|
|
6302 |
<P>
|
|
6303 |
|
|
6304 |
<A NAME="Trigonometry"></A>
|
|
6305 |
<HR SIZE="6">
|
|
6306 |
<A NAME="SEC68"></A>
|
|
6307 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6308 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC67"> < </A>]</TD>
|
|
6309 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC69"> > </A>]</TD>
|
|
6310 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6311 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6312 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6313 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6314 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6315 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6316 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6317 |
</TR></TABLE>
|
|
6318 |
<H3> 8.7.3 Trigonometric Functions </H3>
|
|
6319 |
<!--docid::SEC68::-->
|
|
6320 |
<P>
|
|
6321 |
|
|
6322 |
Trigonometric functions take numeric arguments and produce numeric
|
|
6323 |
results.
|
|
6324 |
</P>
|
|
6325 |
<P>
|
|
6326 |
|
|
6327 |
<A NAME="IDX212"></A>
|
|
6328 |
<A NAME="IDX213"></A>
|
|
6329 |
<A NAME="IDX214"></A>
|
|
6330 |
</P>
|
|
6331 |
<DL>
|
|
6332 |
<DT><U>Function:</U> <B>ACOS</B> <I>(<VAR>number</VAR>)</I>
|
|
6333 |
<DD><A NAME="IDX215"></A>
|
|
6334 |
<DT><U>Function:</U> <B>ARCOS</B> <I>(<VAR>number</VAR>)</I>
|
|
6335 |
<DD>Takes the arccosine, in radians, of <VAR>number</VAR>. Results in
|
|
6336 |
system-missing if <VAR>number</VAR> is not between -1 and 1. Portability:
|
|
6337 |
none.
|
|
6338 |
</DL>
|
|
6339 |
<P>
|
|
6340 |
|
|
6341 |
<A NAME="IDX216"></A>
|
|
6342 |
<A NAME="IDX217"></A>
|
|
6343 |
<A NAME="IDX218"></A>
|
|
6344 |
</P>
|
|
6345 |
<DL>
|
|
6346 |
<DT><U>Function:</U> <B>ARSIN</B> <I>(<VAR>number</VAR>)</I>
|
|
6347 |
<DD>Takes the arcsine, in radians, of <VAR>number</VAR>. Results in
|
|
6348 |
system-missing if <VAR>number</VAR> is not between -1 and 1 inclusive.
|
|
6349 |
</DL>
|
|
6350 |
<P>
|
|
6351 |
|
|
6352 |
<A NAME="IDX219"></A>
|
|
6353 |
<A NAME="IDX220"></A>
|
|
6354 |
<A NAME="IDX221"></A>
|
|
6355 |
</P>
|
|
6356 |
<DL>
|
|
6357 |
<DT><U>Function:</U> <B>ARTAN</B> <I>(<VAR>number</VAR>)</I>
|
|
6358 |
<DD>Takes the arctangent, in radians, of <VAR>number</VAR>.
|
|
6359 |
</DL>
|
|
6360 |
<P>
|
|
6361 |
|
|
6362 |
<A NAME="IDX222"></A>
|
|
6363 |
<A NAME="IDX223"></A>
|
|
6364 |
<A NAME="IDX224"></A>
|
|
6365 |
</P>
|
|
6366 |
<DL>
|
|
6367 |
<DT><U>Function:</U> <B>ASIN</B> <I>(<VAR>number</VAR>)</I>
|
|
6368 |
<DD>Takes the arcsine, in radians, of <VAR>number</VAR>. Results in
|
|
6369 |
system-missing if <VAR>number</VAR> is not between -1 and 1 inclusive.
|
|
6370 |
Portability: none.
|
|
6371 |
</DL>
|
|
6372 |
<P>
|
|
6373 |
|
|
6374 |
<A NAME="IDX225"></A>
|
|
6375 |
<A NAME="IDX226"></A>
|
|
6376 |
<A NAME="IDX227"></A>
|
|
6377 |
</P>
|
|
6378 |
<DL>
|
|
6379 |
<DT><U>Function:</U> <B>ATAN</B> <I>(<VAR>number</VAR>)</I>
|
|
6380 |
<DD>Takes the arctangent, in radians, of <VAR>number</VAR>.
|
|
6381 |
</DL>
|
|
6382 |
<P>
|
|
6383 |
|
|
6384 |
<BLOCKQUOTE>
|
|
6385 |
<STRONG>Please note:</STRONG> Use of the AR* group of inverse trigonometric
|
|
6386 |
functions is recommended over the A* group because they are more
|
|
6387 |
portable.
|
|
6388 |
</BLOCKQUOTE>
|
|
6389 |
<P>
|
|
6390 |
|
|
6391 |
<A NAME="IDX228"></A>
|
|
6392 |
<A NAME="IDX229"></A>
|
|
6393 |
</P>
|
|
6394 |
<DL>
|
|
6395 |
<DT><U>Function:</U> <B>COS</B> <I>(<VAR>radians</VAR>)</I>
|
|
6396 |
<DD>Takes the cosine of <VAR>radians</VAR>.
|
|
6397 |
</DL>
|
|
6398 |
<P>
|
|
6399 |
|
|
6400 |
<A NAME="IDX230"></A>
|
|
6401 |
<A NAME="IDX231"></A>
|
|
6402 |
</P>
|
|
6403 |
<DL>
|
|
6404 |
<DT><U>Function:</U> <B>SIN</B> <I>(<VAR>angle</VAR>)</I>
|
|
6405 |
<DD>Takes the sine of <VAR>radians</VAR>.
|
|
6406 |
</DL>
|
|
6407 |
<P>
|
|
6408 |
|
|
6409 |
<A NAME="IDX232"></A>
|
|
6410 |
<A NAME="IDX233"></A>
|
|
6411 |
</P>
|
|
6412 |
<DL>
|
|
6413 |
<DT><U>Function:</U> <B>TAN</B> <I>(<VAR>angle</VAR>)</I>
|
|
6414 |
<DD>Takes the tangent of <VAR>radians</VAR>. Results in system-missing at values
|
|
6415 |
of <VAR>angle</VAR> that are too close to odd multiples of pi/2.
|
|
6416 |
Portability: none.
|
|
6417 |
</DL>
|
|
6418 |
<P>
|
|
6419 |
|
|
6420 |
<A NAME="Missing Value Functions"></A>
|
|
6421 |
<HR SIZE="6">
|
|
6422 |
<A NAME="SEC69"></A>
|
|
6423 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6424 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC68"> < </A>]</TD>
|
|
6425 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC70"> > </A>]</TD>
|
|
6426 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6427 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6428 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6429 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6430 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6431 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6432 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6433 |
</TR></TABLE>
|
|
6434 |
<H3> 8.7.4 Missing-Value Functions </H3>
|
|
6435 |
<!--docid::SEC69::-->
|
|
6436 |
<P>
|
|
6437 |
|
|
6438 |
Missing-value functions take various types as arguments, returning
|
|
6439 |
various types of results.
|
|
6440 |
</P>
|
|
6441 |
<P>
|
|
6442 |
|
|
6443 |
<A NAME="IDX234"></A>
|
|
6444 |
</P>
|
|
6445 |
<DL>
|
|
6446 |
<DT><U>Function:</U> <B>MISSING</B> <I>(<VAR>variable or expression</VAR>)</I>
|
|
6447 |
<DD><VAR>num</VAR> may be a single variable name or an expression. If it is a
|
|
6448 |
variable name, results in 1 if the variable has a user-missing or
|
|
6449 |
system-missing value for the current case, 0 otherwise. If it is an
|
|
6450 |
expression, results in 1 if the expression has the system-missing value,
|
|
6451 |
0 otherwise.
|
|
6452 |
<P>
|
|
6453 |
|
|
6454 |
<BLOCKQUOTE>
|
|
6455 |
<STRONG>Please note:</STRONG> If the argument is a string expression other than
|
|
6456 |
a variable name, MISSING is guaranteed to return 0, because strings do
|
|
6457 |
not have a system-missing value. Also, when using a numeric expression
|
|
6458 |
argument, remember that user-missing values are converted to the
|
|
6459 |
system-missing value in most contexts. Thus, the expressions
|
|
6460 |
<CODE>MISSING(VAR1 <VAR>op</VAR> VAR2)</CODE> and <CODE>MISSING(VAR1) OR
|
|
6461 |
MISSING(VAR2)</CODE> are often equivalent, depending on the specific operator
|
|
6462 |
<VAR>op</VAR> used.
|
|
6463 |
</BLOCKQUOTE>
|
|
6464 |
</DL>
|
|
6465 |
<P>
|
|
6466 |
|
|
6467 |
<A NAME="IDX235"></A>
|
|
6468 |
</P>
|
|
6469 |
<DL>
|
|
6470 |
<DT><U>Function:</U> <B>NMISS</B> <I>(<VAR>expr</VAR> [, <VAR>expr</VAR>]<small>...</small>)</I>
|
|
6471 |
<DD>Each argument must be a numeric expression. Returns the number of
|
|
6472 |
user- or system-missing values in the list. As a special extension,
|
|
6473 |
the syntax <CODE><VAR>var1</VAR> TO <VAR>var2</VAR></CODE> may be used to refer to a
|
|
6474 |
range of variables; see <A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A>, for more details.
|
|
6475 |
</DL>
|
|
6476 |
<P>
|
|
6477 |
|
|
6478 |
<A NAME="IDX236"></A>
|
|
6479 |
</P>
|
|
6480 |
<DL>
|
|
6481 |
<DT><U>Function:</U> <B>NVALID</B> <I>(<VAR>expr</VAR> [, <VAR>expr</VAR>]<small>...</small>)</I>
|
|
6482 |
<DD>Each argument must be a numeric expression. Returns the number of
|
|
6483 |
values in the list that are not user- or system-missing. As a special extension,
|
|
6484 |
the syntax <CODE><VAR>var1</VAR> TO <VAR>var2</VAR></CODE> may be used to refer to a
|
|
6485 |
range of variables; see <A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A>, for more details.
|
|
6486 |
</DL>
|
|
6487 |
<P>
|
|
6488 |
|
|
6489 |
<A NAME="IDX237"></A>
|
|
6490 |
</P>
|
|
6491 |
<DL>
|
|
6492 |
<DT><U>Function:</U> <B>SYSMIS</B> <I>(<VAR>variable or expression</VAR>)</I>
|
|
6493 |
<DD>When given the name of a numeric variable, returns 1 if the value of
|
|
6494 |
that variable is system-missing. Otherwise, if the value is not
|
|
6495 |
missing or if it is user-missing, returns 0. If given the name of a
|
|
6496 |
string variable, always returns 1. If given an expression other than
|
|
6497 |
a single variable name, results in 1 if the value is system- or
|
|
6498 |
user-missing, 0 otherwise.
|
|
6499 |
</DL>
|
|
6500 |
<P>
|
|
6501 |
|
|
6502 |
<A NAME="IDX238"></A>
|
|
6503 |
</P>
|
|
6504 |
<DL>
|
|
6505 |
<DT><U>Function:</U> <B>VALUE</B> <I>(<VAR>variable</VAR>)</I>
|
|
6506 |
<DD>Prevents the user-missing values of <VAR>variable</VAR> from being
|
|
6507 |
transformed into system-missing values: If <VAR>variable</VAR> is not
|
|
6508 |
system- or user-missing, results in the value of <VAR>variable</VAR>. If
|
|
6509 |
<VAR>variable</VAR> is user-missing, results in the value of <VAR>variable</VAR>
|
|
6510 |
anyway. If <VAR>variable</VAR> is system-missing, results in system-missing.
|
|
6511 |
</DL>
|
|
6512 |
<P>
|
|
6513 |
|
|
6514 |
<A NAME="Pseudo-Random Numbers"></A>
|
|
6515 |
<HR SIZE="6">
|
|
6516 |
<A NAME="SEC70"></A>
|
|
6517 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6518 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC69"> < </A>]</TD>
|
|
6519 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC71"> > </A>]</TD>
|
|
6520 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6521 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6522 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6523 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6524 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6525 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6526 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6527 |
</TR></TABLE>
|
|
6528 |
<H3> 8.7.5 Pseudo-Random Number Generation Functions </H3>
|
|
6529 |
<!--docid::SEC70::-->
|
|
6530 |
<P>
|
|
6531 |
|
|
6532 |
Pseudo-random number generation functions take numeric arguments and
|
|
6533 |
produce numeric results.
|
|
6534 |
</P>
|
|
6535 |
<P>
|
|
6536 |
|
|
6537 |
<A NAME="IDX239"></A>
|
|
6538 |
The system's C library random generator is used as a basis for
|
|
6539 |
generating random numbers, since random number generation is a
|
|
6540 |
system-dependent task. However, Knuth's Algorithm B is used to
|
|
6541 |
shuffle the resultant values, which is enough to make even a stream of
|
|
6542 |
consecutive integers random enough for most applications.
|
|
6543 |
</P>
|
|
6544 |
<P>
|
|
6545 |
|
|
6546 |
(If you're worried about the quality of the random number generator,
|
|
6547 |
well, you're using a statistical processing package--analyze it!)
|
|
6548 |
</P>
|
|
6549 |
<P>
|
|
6550 |
|
|
6551 |
<A NAME="IDX240"></A>
|
|
6552 |
<A NAME="IDX241"></A>
|
|
6553 |
</P>
|
|
6554 |
<DL>
|
|
6555 |
<DT><U>Function:</U> <B>NORMAL</B> <I>(<VAR>number</VAR>)</I>
|
|
6556 |
<DD>Results in a random number. Results from <CODE>NORMAL</CODE> are normally
|
|
6557 |
distributed with a mean of 0 and a standard deviation of <VAR>number</VAR>.
|
|
6558 |
</DL>
|
|
6559 |
<P>
|
|
6560 |
|
|
6561 |
<A NAME="IDX242"></A>
|
|
6562 |
<A NAME="IDX243"></A>
|
|
6563 |
</P>
|
|
6564 |
<DL>
|
|
6565 |
<DT><U>Function:</U> <B>UNIFORM</B> <I>(<VAR>number</VAR>)</I>
|
|
6566 |
<DD>Results in a random number between 0 and <VAR>number</VAR>. Results from
|
|
6567 |
<CODE>UNIFORM</CODE> are evenly distributed across its entire range. There
|
|
6568 |
may be a maximum on the largest random number ever generated--this is
|
|
6569 |
often 2**31-1 (2,147,483,647), but it may be orders of magnitude
|
|
6570 |
higher or lower.
|
|
6571 |
</DL>
|
|
6572 |
<P>
|
|
6573 |
|
|
6574 |
<A NAME="Set Membership"></A>
|
|
6575 |
<HR SIZE="6">
|
|
6576 |
<A NAME="SEC71"></A>
|
|
6577 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6578 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC70"> < </A>]</TD>
|
|
6579 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC72"> > </A>]</TD>
|
|
6580 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6581 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6582 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6583 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6584 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6585 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6586 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6587 |
</TR></TABLE>
|
|
6588 |
<H3> 8.7.6 Set-Membership Functions </H3>
|
|
6589 |
<!--docid::SEC71::-->
|
|
6590 |
<P>
|
|
6591 |
|
|
6592 |
Set membership functions determine whether a value is a member of a set.
|
|
6593 |
They take a set of numeric arguments or a set of string arguments, and
|
|
6594 |
produce Boolean results.
|
|
6595 |
</P>
|
|
6596 |
<P>
|
|
6597 |
|
|
6598 |
String comparisons are performed according to the rules given in
|
|
6599 |
<A HREF="pspp.html#SEC64">8.6 Relational Operators</A>.
|
|
6600 |
</P>
|
|
6601 |
<P>
|
|
6602 |
|
|
6603 |
<A NAME="IDX244"></A>
|
|
6604 |
</P>
|
|
6605 |
<DL>
|
|
6606 |
<DT><U>Function:</U> <B>ANY</B> <I>(<VAR>value</VAR>, <VAR>set</VAR> [, <VAR>set</VAR>]<small>...</small>)</I>
|
|
6607 |
<DD>Results in true if <VAR>value</VAR> is equal to any of the <VAR>set</VAR>
|
|
6608 |
values. Otherwise, results in false. If <VAR>value</VAR> is
|
|
6609 |
system-missing, returns system-missing. System-missing values in
|
|
6610 |
<VAR>set</VAR> do not cause ANY to return system-missing.
|
|
6611 |
</DL>
|
|
6612 |
<P>
|
|
6613 |
|
|
6614 |
<A NAME="IDX245"></A>
|
|
6615 |
</P>
|
|
6616 |
<DL>
|
|
6617 |
<DT><U>Function:</U> <B>RANGE</B> <I>(<VAR>value</VAR>, <VAR>low</VAR>, <VAR>high</VAR> [, <VAR>low</VAR>, <VAR>high</VAR>]<small>...</small>)</I>
|
|
6618 |
<DD>Results in true if <VAR>value</VAR> is in any of the intervals bounded by
|
|
6619 |
<VAR>low</VAR> and <VAR>high</VAR> inclusive. Otherwise, results in false.
|
|
6620 |
Each <VAR>low</VAR> must be less than or equal to its corresponding
|
|
6621 |
<VAR>high</VAR> value. <VAR>low</VAR> and <VAR>high</VAR> must be given in pairs.
|
|
6622 |
If <VAR>value</VAR> is system-missing, returns system-missing.
|
|
6623 |
System-missing values in <VAR>set</VAR> do not cause RANGE to return
|
|
6624 |
system-missing.
|
|
6625 |
</DL>
|
|
6626 |
<P>
|
|
6627 |
|
|
6628 |
<A NAME="Statistical Functions"></A>
|
|
6629 |
<HR SIZE="6">
|
|
6630 |
<A NAME="SEC72"></A>
|
|
6631 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6632 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC71"> < </A>]</TD>
|
|
6633 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC73"> > </A>]</TD>
|
|
6634 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6635 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6636 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6637 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6638 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6639 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6640 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6641 |
</TR></TABLE>
|
|
6642 |
<H3> 8.7.7 Statistical Functions </H3>
|
|
6643 |
<!--docid::SEC72::-->
|
|
6644 |
<P>
|
|
6645 |
|
|
6646 |
Statistical functions compute descriptive statistics on a list of
|
|
6647 |
values. Some statistics can be computed on numeric or string values;
|
|
6648 |
other can only be computed on numeric values. They result in the same
|
|
6649 |
type as their arguments.
|
|
6650 |
</P>
|
|
6651 |
<P>
|
|
6652 |
|
|
6653 |
<A NAME="IDX246"></A>
|
|
6654 |
<A NAME="IDX247"></A>
|
|
6655 |
With statistical functions it is possible to specify a minimum number of
|
|
6656 |
non-missing arguments for the function to be evaluated. To do so,
|
|
6657 |
append a dot and the number to the function name. For instance, to
|
|
6658 |
specify a minimum of three valid arguments to the MEAN function, use the
|
|
6659 |
name <CODE>MEAN.3</CODE>.
|
|
6660 |
</P>
|
|
6661 |
<P>
|
|
6662 |
|
|
6663 |
<A NAME="IDX248"></A>
|
|
6664 |
<A NAME="IDX249"></A>
|
|
6665 |
<A NAME="IDX250"></A>
|
|
6666 |
</P>
|
|
6667 |
<DL>
|
|
6668 |
<DT><U>Function:</U> <B>CFVAR</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6669 |
<DD>Results in the coefficient of variation of the values of <VAR>number</VAR>.
|
|
6670 |
This function requires at least two valid arguments to give a
|
|
6671 |
non-missing result. (The coefficient of variation is the standard
|
|
6672 |
deviation divided by the mean.)
|
|
6673 |
</DL>
|
|
6674 |
<P>
|
|
6675 |
|
|
6676 |
<A NAME="IDX251"></A>
|
|
6677 |
<A NAME="IDX252"></A>
|
|
6678 |
</P>
|
|
6679 |
<DL>
|
|
6680 |
<DT><U>Function:</U> <B>MAX</B> <I>(<VAR>value</VAR>, <VAR>value</VAR>[, <small>...</small>])</I>
|
|
6681 |
<DD>Results in the value of the greatest <VAR>value</VAR>. The <VAR>value</VAR>s may
|
|
6682 |
be numeric or string. Although at least two arguments must be given,
|
|
6683 |
only one need be valid for MAX to give a non-missing result.
|
|
6684 |
</DL>
|
|
6685 |
<P>
|
|
6686 |
|
|
6687 |
<A NAME="IDX253"></A>
|
|
6688 |
<A NAME="IDX254"></A>
|
|
6689 |
</P>
|
|
6690 |
<DL>
|
|
6691 |
<DT><U>Function:</U> <B>MEAN</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6692 |
<DD>Results in the mean of the values of <VAR>number</VAR>. Although at least
|
|
6693 |
two arguments must be given, only one need be valid for MEAN to give a
|
|
6694 |
non-missing result.
|
|
6695 |
</DL>
|
|
6696 |
<P>
|
|
6697 |
|
|
6698 |
<A NAME="IDX255"></A>
|
|
6699 |
<A NAME="IDX256"></A>
|
|
6700 |
</P>
|
|
6701 |
<DL>
|
|
6702 |
<DT><U>Function:</U> <B>MIN</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6703 |
<DD>Results in the value of the least <VAR>value</VAR>. The <VAR>value</VAR>s may
|
|
6704 |
be numeric or string. Although at least two arguments must be given,
|
|
6705 |
only one need be valid for MAX to give a non-missing result.
|
|
6706 |
</DL>
|
|
6707 |
<P>
|
|
6708 |
|
|
6709 |
<A NAME="IDX257"></A>
|
|
6710 |
<A NAME="IDX258"></A>
|
|
6711 |
<A NAME="IDX259"></A>
|
|
6712 |
</P>
|
|
6713 |
<DL>
|
|
6714 |
<DT><U>Function:</U> <B>SD</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6715 |
<DD>Results in the standard deviation of the values of <VAR>number</VAR>.
|
|
6716 |
This function requires at least two valid arguments to give a
|
|
6717 |
non-missing result.
|
|
6718 |
</DL>
|
|
6719 |
<P>
|
|
6720 |
|
|
6721 |
<A NAME="IDX260"></A>
|
|
6722 |
<A NAME="IDX261"></A>
|
|
6723 |
</P>
|
|
6724 |
<DL>
|
|
6725 |
<DT><U>Function:</U> <B>SUM</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6726 |
<DD>Results in the sum of the values of <VAR>number</VAR>. Although at least two
|
|
6727 |
arguments must be given, only one need by valid for SUM to give a
|
|
6728 |
non-missing result.
|
|
6729 |
</DL>
|
|
6730 |
<P>
|
|
6731 |
|
|
6732 |
<A NAME="IDX262"></A>
|
|
6733 |
<A NAME="IDX263"></A>
|
|
6734 |
</P>
|
|
6735 |
<DL>
|
|
6736 |
<DT><U>Function:</U> <B>VAR</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6737 |
<DD>Results in the variance of the values of <VAR>number</VAR>. This function
|
|
6738 |
requires at least two valid arguments to give a non-missing result.
|
|
6739 |
</DL>
|
|
6740 |
<P>
|
|
6741 |
|
|
6742 |
<A NAME="IDX264"></A>
|
|
6743 |
</P>
|
|
6744 |
<DL>
|
|
6745 |
<DT><U>Function:</U> <B>VARIANCE</B> <I>(<VAR>number</VAR>, <VAR>number</VAR>[, <small>...</small>])</I>
|
|
6746 |
<DD>Results in the variance of the values of <VAR>number</VAR>. This function
|
|
6747 |
requires at least two valid arguments to give a non-missing result.
|
|
6748 |
(Use VAR in preference to VARIANCE for reasons of portability.)
|
|
6749 |
</DL>
|
|
6750 |
<P>
|
|
6751 |
|
|
6752 |
<A NAME="String Functions"></A>
|
|
6753 |
<HR SIZE="6">
|
|
6754 |
<A NAME="SEC73"></A>
|
|
6755 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
6756 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC72"> < </A>]</TD>
|
|
6757 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> > </A>]</TD>
|
|
6758 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
6759 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
6760 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
6761 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
6762 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
6763 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
6764 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
6765 |
</TR></TABLE>
|
|
6766 |
<H3> 8.7.8 String Functions </H3>
|
|
6767 |
<!--docid::SEC73::-->
|
|
6768 |
<P>
|
|
6769 |
|
|
6770 |
String functions take various arguments and return various results.
|
|
6771 |
</P>
|
|
6772 |
<P>
|
|
6773 |
|
|
6774 |
<A NAME="IDX265"></A>
|
|
6775 |
<A NAME="IDX266"></A>
|
|
6776 |
<A NAME="IDX267"></A>
|
|
6777 |
</P>
|
|
6778 |
<DL>
|
|
6779 |
<DT><U>Function:</U> <B>CONCAT</B> <I>(<VAR>string</VAR>, <VAR>string</VAR>[, <small>...</small>])</I>
|
|
6780 |
<DD>Returns a string consisting of each <VAR>string</VAR> in sequence.
|
|
6781 |
<CODE>CONCAT("abc", "def", "ghi")</CODE> has a value of <CODE>"abcdefghi"</CODE>.
|
|
6782 |
The resultant string is truncated to a maximum of 255 characters.
|
|
6783 |
</DL>
|
|
6784 |
<P>
|
|
6785 |
|
|
6786 |
<A NAME="IDX268"></A>
|
|
6787 |
<A NAME="IDX269"></A>
|
|
6788 |
</P>
|
|
6789 |
<DL>
|
|
6790 |
<DT><U>Function:</U> <B>INDEX</B> <I>(<VAR>haystack</VAR>, <VAR>needle</VAR>)</I>
|
|
6791 |
<DD>Returns a positive integer indicating the position of the first
|
|
6792 |
occurrence <VAR>needle</VAR> in <VAR>haystack</VAR>. Returns 0 if <VAR>haystack</VAR>
|
|
6793 |
does not contain <VAR>needle</VAR>. Returns system-missing if <VAR>needle</VAR>
|
|
6794 |
is an empty string.
|
|
6795 |
</DL>
|
|
6796 |
<P>
|
|
6797 |
|
|
6798 |
<A NAME="IDX270"></A>
|
|
6799 |
</P>
|
|
6800 |
<DL>
|
|
6801 |
<DT><U>Function:</U> <B>INDEX</B> <I>(<VAR>haystack</VAR>, <VAR>needle</VAR>, <VAR>divisor</VAR>)</I>
|
|
6802 |
<DD>Divides <VAR>needle</VAR> into parts, each with length <VAR>divisor</VAR>.
|
|
6803 |
Searches <VAR>haystack</VAR> for the first occurrence of each part, and
|
|
6804 |
returns the smallest value. Returns 0 if <VAR>haystack</VAR> does not
|
|
6805 |
contain any part in <VAR>needle</VAR>. It is an error if <VAR>divisor</VAR>
|
|
6806 |
cannot be evenly divided into the length of <VAR>needle</VAR>. Returns
|
|
6807 |
system-missing if <VAR>needle</VAR> is an empty string.
|
|
6808 |
</DL>
|
|
6809 |
<P>
|
|
6810 |
|
|
6811 |
<A NAME="IDX271"></A>
|
|
6812 |
<A NAME="IDX272"></A>
|
|
6813 |
</P>
|
|
6814 |
<DL>
|
|
6815 |
<DT><U>Function:</U> <B>LENGTH</B> <I>(<VAR>string</VAR>)</I>
|
|
6816 |
<DD>Returns the number of characters in <VAR>string</VAR>.
|
|
6817 |
</DL>
|
|
6818 |
<P>
|
|
6819 |
|
|
6820 |
<A NAME="IDX273"></A>
|
|
6821 |
<A NAME="IDX274"></A>
|
|
6822 |
</P>
|
|
6823 |
<DL>
|
|
6824 |
<DT><U>Function:</U> <B>LOWER</B> <I>(<VAR>string</VAR>)</I>
|
|
6825 |
<DD>Returns a string identical to <VAR>string</VAR> except that all uppercase
|
|
6826 |
letters are changed to lowercase letters. The definitions of
|
|
6827 |
"uppercase" and "lowercase" are system-dependent.
|
|
6828 |
</DL>
|
|
6829 |
<P>
|
|
6830 |
|
|
6831 |
<A NAME="IDX275"></A>
|
|
6832 |
<A NAME="IDX276"></A>
|
|
6833 |
</P>
|
|
6834 |
<DL>
|
|
6835 |
<DT><U>Function:</U> <B>LPAD</B> <I>(<VAR>string</VAR>, <VAR>length</VAR>)</I>
|
|
6836 |
<DD>If <VAR>string</VAR> is at least <VAR>length</VAR> characters in length, returns
|
|
6837 |
<VAR>string</VAR> unchanged. Otherwise, returns <VAR>string</VAR> padded with
|
|
6838 |
spaces on the left side to length <VAR>length</VAR>. Returns an empty string
|
|
6839 |
if <VAR>length</VAR> is system-missing, negative, or greater than 255.
|
|
6840 |
</DL>
|
|
6841 |
<P>
|
|
6842 |
|
|
6843 |
<A NAME="IDX277"></A>
|
|
6844 |
</P>
|
|
6845 |
<DL>
|
|
6846 |
<DT><U>Function:</U> <B>LPAD</B> <I>(<VAR>string</VAR>, <VAR>length</VAR>, <VAR>padding</VAR>)</I>
|
|
6847 |
<DD>If <VAR>string</VAR> is at least <VAR>length</VAR> characters in length, returns
|
|
6848 |
<VAR>string</VAR> unchanged. Otherwise, returns <VAR>string</VAR> padded with
|
|
6849 |
<VAR>padding</VAR> on the left side to length <VAR>length</VAR>. Returns an empty
|
|
6850 |
string if <VAR>length</VAR> is system-missing, negative, or greater than 255, or
|
|
6851 |
if <VAR>padding</VAR> does not contain exactly one character.
|
|
6852 |
</DL>
|
|
6853 |
<P>
|
|
6854 |
|
|
6855 |
<A NAME="IDX278"></A>
|
|
6856 |
<A NAME="IDX279"></A>
|
|
6857 |
<A NAME="IDX280"></A>
|
|
6858 |
</P>
|
|
6859 |
<DL>
|
|
6860 |
<DT><U>Function:</U> <B>LTRIM</B> <I>(<VAR>string</VAR>)</I>
|
|
6861 |
<DD>Returns <VAR>string</VAR>, after removing leading spaces. Other whitespace,
|
|
6862 |
such as tabs, carriage returns, line feeds, and vertical tabs, is not
|
|
6863 |
removed.
|
|
6864 |
</DL>
|
|
6865 |
<P>
|
|
6866 |
|
|
6867 |
<A NAME="IDX281"></A>
|
|
6868 |
</P>
|
|
6869 |
<DL>
|
|
6870 |
<DT><U>Function:</U> <B>LTRIM</B> <I>(<VAR>string</VAR>, <VAR>padding</VAR>)</I>
|
|
6871 |
<DD>Returns <VAR>string</VAR>, after removing leading <VAR>padding</VAR> characters.
|
|
6872 |
If <VAR>padding</VAR> does not contain exactly one character, returns an
|
|
6873 |
empty string.
|
|
6874 |
</DL>
|
|
6875 |
<P>
|
|
6876 |
|
|
6877 |
<A NAME="IDX282"></A>
|
|
6878 |
<A NAME="IDX283"></A>
|
|
6879 |
<A NAME="IDX284"></A>
|
|
6880 |
</P>
|
|
6881 |
<DL>
|
|
6882 |
<DT><U>Function:</U> <B>NUMBER</B> <I>(<VAR>string</VAR>)</I>
|
|
6883 |
<DD>Returns the number produced when <VAR>string</VAR> is interpreted according
|
|
6884 |
to format F<VAR>x</VAR>.0, where <VAR>x</VAR> is the number of characters in
|
|
6885 |
<VAR>string</VAR>. If <VAR>string</VAR> does not form a proper number,
|
|
6886 |
system-missing is returned without an error message. Portability: none.
|
|
6887 |
</DL>
|
|
6888 |
<P>
|
|
6889 |
|
|
6890 |
<A NAME="IDX285"></A>
|
|
6891 |
</P>
|
|
6892 |
<DL>
|
|
6893 |
<DT><U>Function:</U> <B>NUMBER</B> <I>(<VAR>string</VAR>, <VAR>format</VAR>)</I>
|
|
6894 |
<DD>Returns the number produced when <VAR>string</VAR> is interpreted according
|
|
6895 |
to format specifier <VAR>format</VAR>. Only the number of characters in
|
|
6896 |
<VAR>string</VAR> specified by <VAR>format</VAR> are examined. For example,
|
|
6897 |
<CODE>NUMBER("123", F3.0)</CODE> and <CODE>NUMBER("1234", F3.0)</CODE> both have
|
|
6898 |
value 123. If <VAR>string</VAR> does not form a proper number,
|
|
6899 |
system-missing is returned without an error message.
|
|
6900 |
</DL>
|
|
6901 |
<P>
|
|
6902 |
|
|
6903 |
<A NAME="IDX286"></A>
|
|
6904 |
<A NAME="IDX287"></A>
|
|
6905 |
</P>
|
|
6906 |
<DL>
|
|
6907 |
<DT><U>Function:</U> <B>RINDEX</B> <I>(<VAR>string</VAR>, <VAR>format</VAR>)</I>
|
|
6908 |
<DD>Returns a positive integer indicating the position of the last
|
|
6909 |
occurrence of <VAR>needle</VAR> in <VAR>haystack</VAR>. Returns 0 if
|
|
6910 |
<VAR>haystack</VAR> does not contain <VAR>needle</VAR>. Returns system-missing if
|
|
6911 |
<VAR>needle</VAR> is an empty string.
|
|
6912 |
</DL>
|
|
6913 |
<P>
|
|
6914 |
|
|
6915 |
<A NAME="IDX288"></A>
|
|
6916 |
</P>
|
|
6917 |
<DL>
|
|
6918 |
<DT><U>Function:</U> <B>RINDEX</B> <I>(<VAR>haystack</VAR>, <VAR>needle</VAR>, <VAR>divisor</VAR>)</I>
|
|
6919 |
<DD>Divides <VAR>needle</VAR> into parts, each with length <VAR>divisor</VAR>.
|
|
6920 |
Searches <VAR>haystack</VAR> for the last occurrence of each part, and
|
|
6921 |
returns the largest value. Returns 0 if <VAR>haystack</VAR> does not contain
|
|
6922 |
any part in <VAR>needle</VAR>. It is an error if <VAR>divisor</VAR> cannot be
|
|
6923 |
evenly divided into the length of <VAR>needle</VAR>. Returns system-missing
|
|
6924 |
if <VAR>needle</VAR> is an empty string.
|
|
6925 |
</DL>
|
|
6926 |
<P>
|
|
6927 |
|
|
6928 |
<A NAME="IDX289"></A>
|
|
6929 |
<A NAME="IDX290"></A>
|
|
6930 |
<A NAME="IDX291"></A>
|
|
6931 |
</P>
|
|
6932 |
<DL>
|
|
6933 |
<DT><U>Function:</U> <B>RPAD</B> <I>(<VAR>string</VAR>, <VAR>length</VAR>)</I>
|
|
6934 |
<DD>If <VAR>string</VAR> is at least <VAR>length</VAR> characters in length, returns
|
|
6935 |
<VAR>string</VAR> unchanged. Otherwise, returns <VAR>string</VAR> padded with
|
|
6936 |
spaces on the right to length <VAR>length</VAR>. Returns an empty string if
|
|
6937 |
<VAR>length</VAR> is system-missing, negative, or greater than 255.
|
|
6938 |
</DL>
|
|
6939 |
<P>
|
|
6940 |
|
|
6941 |
<A NAME="IDX292"></A>
|
|
6942 |
</P>
|
|
6943 |
<DL>
|
|
6944 |
<DT><U>Function:</U> <B>RPAD</B> <I>(<VAR>string</VAR>, <VAR>length</VAR>, <VAR>padding</VAR>)</I>
|
|
6945 |
<DD>If <VAR>string</VAR> is at least <VAR>length</VAR> characters in length, returns
|
|
6946 |
<VAR>string</VAR> unchanged. Otherwise, returns <VAR>string</VAR> padded with
|
|
6947 |
<VAR>padding</VAR> on the right to length <VAR>length</VAR>. Returns an empty
|
|
6948 |
string if <VAR>length</VAR> is system-missing, negative, or greater than 255,
|
|
6949 |
or if <VAR>padding</VAR> does not contain exactly one character.
|
|
6950 |
</DL>
|
|
6951 |
<P>
|
|
6952 |
|
|
6953 |
<A NAME="IDX293"></A>
|
|
6954 |
<A NAME="IDX294"></A>
|
|
6955 |
<A NAME="IDX295"></A>
|
|
6956 |
</P>
|
|
6957 |
<DL>
|
|
6958 |
<DT><U>Function:</U> <B>RTRIM</B> <I>(<VAR>string</VAR>)</I>
|
|
6959 |
<DD>Returns <VAR>string</VAR>, after removing trailing spaces. Other types of
|
|
6960 |
whitespace are not removed.
|
|
6961 |
</DL>
|
|
6962 |
<P>
|
|
6963 |
|
|
6964 |
<A NAME="IDX296"></A>
|
|
6965 |
</P>
|
|
6966 |
<DL>
|
|
6967 |
<DT><U>Function:</U> <B>RTRIM</B> <I>(<VAR>string</VAR>, <VAR>padding</VAR>)</I>
|
|
6968 |
<DD>Returns <VAR>string</VAR>, after removing trailing <VAR>padding</VAR> characters.
|
|
6969 |
If <VAR>padding</VAR> does not contain exactly one character, returns an
|
|
6970 |
empty string.
|
|
6971 |
</DL>
|
|
6972 |
<P>
|
|
6973 |
|
|
6974 |
<A NAME="IDX297"></A>
|
|
6975 |
<A NAME="IDX298"></A>
|
|
6976 |
<A NAME="IDX299"></A>
|
|
6977 |
</P>
|
|
6978 |
<DL>
|
|
6979 |
<DT><U>Function:</U> <B>STRING</B> <I>(<VAR>number</VAR>, <VAR>format</VAR>)</I>
|
|
6980 |
<DD>Returns a string corresponding to <VAR>number</VAR> in the format given by
|
|
6981 |
format specifier <VAR>format</VAR>. For example, <CODE>STRING(123.56, F5.1)</CODE>
|
|
6982 |
has the value <CODE>"123.6"</CODE>.
|
|
6983 |
</DL>
|
|
6984 |
<P>
|
|
6985 |
|
|
6986 |
<A NAME="IDX300"></A>
|
|
6987 |
<A NAME="IDX301"></A>
|
|
6988 |
<A NAME="IDX302"></A>
|
|
6989 |
</P>
|
|
6990 |
<DL>
|
|
6991 |
<DT><U>Function:</U> <B>SUBSTR</B> <I>(<VAR>string</VAR>, <VAR>start</VAR>)</I>
|
|
6992 |
<DD>Returns a string consisting of the value of <VAR>string</VAR> from position
|
|
6993 |
<VAR>start</VAR> onward. Returns an empty string if <VAR>start</VAR> is system-missing
|
|
6994 |
or has a value less than 1 or greater than the number of characters in
|
|
6995 |
<VAR>string</VAR>.
|
|
6996 |
</DL>
|
|
6997 |
<P>
|
|
6998 |
|
|
6999 |
<A NAME="IDX303"></A>
|
|
7000 |
</P>
|
|
7001 |
<DL>
|
|
7002 |
<DT><U>Function:</U> <B>SUBSTR</B> <I>(<VAR>string</VAR>, <VAR>start</VAR>, <VAR>count</VAR>)</I>
|
|
7003 |
<DD>Returns a string consisting of the first <VAR>count</VAR> characters from
|
|
7004 |
<VAR>string</VAR> beginning at position <VAR>start</VAR>. Returns an empty string
|
|
7005 |
if <VAR>start</VAR> or <VAR>count</VAR> is system-missing, if <VAR>start</VAR> is less
|
|
7006 |
than 1 or greater than the number of characters in <VAR>string</VAR>, or if
|
|
7007 |
<VAR>count</VAR> is less than 1. Returns a string shorter than <VAR>count</VAR>
|
|
7008 |
characters if <VAR>start</VAR> + <VAR>count</VAR> - 1 is greater than the number
|
|
7009 |
of characters in <VAR>string</VAR>. Examples: <CODE>SUBSTR("abcdefg", 3, 2)</CODE>
|
|
7010 |
has value <CODE>"cd"</CODE>; <CODE>SUBSTR("Ben Pfaff", 5, 10)</CODE> has the value
|
|
7011 |
<CODE>"Pfaff"</CODE>.
|
|
7012 |
</DL>
|
|
7013 |
<P>
|
|
7014 |
|
|
7015 |
<A NAME="IDX304"></A>
|
|
7016 |
<A NAME="IDX305"></A>
|
|
7017 |
<A NAME="IDX306"></A>
|
|
7018 |
</P>
|
|
7019 |
<DL>
|
|
7020 |
<DT><U>Function:</U> <B>UPCASE</B> <I>(<VAR>string</VAR>)</I>
|
|
7021 |
<DD>Returns <VAR>string</VAR>, changing lowercase letters to uppercase letters.
|
|
7022 |
</DL>
|
|
7023 |
<P>
|
|
7024 |
|
|
7025 |
<A NAME="Time &amp; Date"></A>
|
|
7026 |
<HR SIZE="6">
|
|
7027 |
<A NAME="SEC74"></A>
|
|
7028 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7029 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC73"> < </A>]</TD>
|
|
7030 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC75"> > </A>]</TD>
|
|
7031 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7032 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
7033 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7034 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7035 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7036 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7037 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7038 |
</TR></TABLE>
|
|
7039 |
<H3> 8.7.9 Time & Date Functions </H3>
|
|
7040 |
<!--docid::SEC74::-->
|
|
7041 |
<P>
|
|
7042 |
|
|
7043 |
<A NAME="IDX307"></A>
|
|
7044 |
The legal range of dates for use in PSPP is 15 Oct 1582
|
|
7045 |
through 31 Dec 19999.
|
|
7046 |
</P>
|
|
7047 |
<P>
|
|
7048 |
|
|
7049 |
<A NAME="IDX308"></A>
|
|
7050 |
<A NAME="IDX309"></A>
|
|
7051 |
<BLOCKQUOTE>
|
|
7052 |
<STRONG>Please note:</STRONG> Most time & date extraction functions will accept
|
|
7053 |
invalid arguments:
|
|
7054 |
<P>
|
|
7055 |
|
|
7056 |
<UL>
|
|
7057 |
<LI>
|
|
7058 |
Negative numbers in PSPP time format.
|
|
7059 |
<LI>
|
|
7060 |
Numbers less than 86,400 in PSPP date format.
|
|
7061 |
</UL>
|
|
7062 |
<P>
|
|
7063 |
|
|
7064 |
However, sensible results are not guaranteed for these invalid values.
|
|
7065 |
The given equivalents for these functions are definitely not guaranteed
|
|
7066 |
for invalid values.
|
|
7067 |
</BLOCKQUOTE>
|
|
7068 |
<P>
|
|
7069 |
|
|
7070 |
<BLOCKQUOTE>
|
|
7071 |
<STRONG>Please note also:</STRONG> The time & date construction
|
|
7072 |
functions <STRONG>do</STRONG> produce reasonable and useful results for
|
|
7073 |
out-of-range values; these are not considered invalid.
|
|
7074 |
</BLOCKQUOTE>
|
|
7075 |
<P>
|
|
7076 |
|
|
7077 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
7078 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
7079 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">TIME.{DAYS HMS}</TD></TR>
|
|
7080 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">CTIME.{DAYS HOURS MINUTES SECONDS}</TD></TR>
|
|
7081 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">DATE.{DMY MDY MOYR QYR WKYR YRDAY}</TD></TR>
|
|
7082 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">XDATE.{DATE HOUR JDAY MDAY MINUTE MONTH
|
|
7083 |
QUARTER SECOND TDAY TIME WEEK
|
|
7084 |
WKDAY YEAR}</TD></TR>
|
|
7085 |
</TABLE>
|
|
7086 |
<P>
|
|
7087 |
|
|
7088 |
<A NAME="Time &amp; Date Concepts"></A>
|
|
7089 |
<HR SIZE="6">
|
|
7090 |
<A NAME="SEC75"></A>
|
|
7091 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7092 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> < </A>]</TD>
|
|
7093 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC76"> > </A>]</TD>
|
|
7094 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7095 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> Up </A>]</TD>
|
|
7096 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7097 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7098 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7099 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7100 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7101 |
</TR></TABLE>
|
|
7102 |
<H4> 8.7.9.1 How times & dates are defined and represented </H4>
|
|
7103 |
<!--docid::SEC75::-->
|
|
7104 |
<P>
|
|
7105 |
|
|
7106 |
<A NAME="IDX310"></A>
|
|
7107 |
<A NAME="IDX311"></A>
|
|
7108 |
Times and dates are handled by PSPP as single numbers. A
|
|
7109 |
<EM>time</EM> is an interval. PSPP measures times in seconds.
|
|
7110 |
Thus, the following intervals correspond with the numeric values given:
|
|
7111 |
|
|
7112 |
<TABLE><tr><td> </td><td class=example><pre> 10 minutes 600
|
|
7113 |
1 hour 3,600
|
|
7114 |
1 day, 3 hours, 10 seconds 97,210
|
|
7115 |
40 days 3,456,000
|
|
7116 |
10010 d, 14 min, 24 s 864,864,864
|
|
7117 |
</pre></td></tr></table><P>
|
|
7118 |
|
|
7119 |
<A NAME="IDX312"></A>
|
|
7120 |
<A NAME="IDX313"></A>
|
|
7121 |
A <EM>date</EM>, on the other hand, is a particular instant in the past or
|
|
7122 |
the future. PSPP represents a date as a number of seconds after the
|
|
7123 |
midnight that separated 8 Oct 1582 and 9 Oct 1582. (Please note that 15
|
|
7124 |
Oct 1582 immediately followed 9 Oct 1582.) Thus, the midnights before
|
|
7125 |
the dates given below correspond with the numeric PSPP dates given:
|
|
7126 |
</P>
|
|
7127 |
<P>
|
|
7128 |
|
|
7129 |
<TABLE><tr><td> </td><td class=example><pre> 15 Oct 1582 86,400
|
|
7130 |
4 Jul 1776 6,113,318,400
|
|
7131 |
1 Jan 1900 10,010,390,400
|
|
7132 |
1 Oct 1978 12,495,427,200
|
|
7133 |
24 Aug 1995 13,028,601,600
|
|
7134 |
</pre></td></tr></table><P>
|
|
7135 |
|
|
7136 |
<A NAME="IDX314"></A>
|
|
7137 |
<A NAME="IDX315"></A>
|
|
7138 |
<A NAME="IDX316"></A>
|
|
7139 |
Please note:
|
|
7140 |
</P>
|
|
7141 |
<P>
|
|
7142 |
|
|
7143 |
<UL>
|
|
7144 |
<LI>
|
|
7145 |
A time may be added to, or subtracted from, a date, resulting in a date.
|
|
7146 |
<P>
|
|
7147 |
|
|
7148 |
</P>
|
|
7149 |
<LI>
|
|
7150 |
The difference of two dates may be taken, resulting in a time.
|
|
7151 |
<P>
|
|
7152 |
|
|
7153 |
</P>
|
|
7154 |
<LI>
|
|
7155 |
Two times may be added to, or subtracted from, each other, resulting in
|
|
7156 |
a time.
|
|
7157 |
</UL>
|
|
7158 |
<P>
|
|
7159 |
|
|
7160 |
(Adding two dates does not produce a useful result.)
|
|
7161 |
</P>
|
|
7162 |
<P>
|
|
7163 |
|
|
7164 |
Since times and dates are merely numbers, the ordinary addition and
|
|
7165 |
subtraction operators are employed for these purposes.
|
|
7166 |
</P>
|
|
7167 |
<P>
|
|
7168 |
|
|
7169 |
<BLOCKQUOTE>
|
|
7170 |
<STRONG>Please note:</STRONG> Many dates and times have extremely large
|
|
7171 |
values--just look at the values above. Thus, it is not a good idea to
|
|
7172 |
take powers of these values; also, the accuracy of some procedures may
|
|
7173 |
be affected. If necessary, convert times or dates in seconds to some
|
|
7174 |
other unit, like days or years, before performing analysis.
|
|
7175 |
</BLOCKQUOTE>
|
|
7176 |
<P>
|
|
7177 |
|
|
7178 |
<A NAME="Time Construction"></A>
|
|
7179 |
<HR SIZE="6">
|
|
7180 |
<A NAME="SEC76"></A>
|
|
7181 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7182 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC75"> < </A>]</TD>
|
|
7183 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC77"> > </A>]</TD>
|
|
7184 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7185 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> Up </A>]</TD>
|
|
7186 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7187 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7188 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7189 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7190 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7191 |
</TR></TABLE>
|
|
7192 |
<H4> 8.7.9.2 Functions that Produce Times </H4>
|
|
7193 |
<!--docid::SEC76::-->
|
|
7194 |
<P>
|
|
7195 |
|
|
7196 |
These functions take numeric arguments and produce numeric results in
|
|
7197 |
PSPP time format.
|
|
7198 |
</P>
|
|
7199 |
<P>
|
|
7200 |
|
|
7201 |
<A NAME="IDX317"></A>
|
|
7202 |
<A NAME="IDX318"></A>
|
|
7203 |
<A NAME="IDX319"></A>
|
|
7204 |
</P>
|
|
7205 |
<DL>
|
|
7206 |
<DT><U>Function:</U> <B>TIME.DAYS</B> <I>(<VAR>ndays</VAR>)</I>
|
|
7207 |
<DD>Results in a time value corresponding to <VAR>ndays</VAR> days.
|
|
7208 |
(<CODE>TIME.DAYS(<VAR>x</VAR>)</CODE> is equivalent to <CODE><VAR>x</VAR> * 60 * 60 *
|
|
7209 |
24</CODE>.)
|
|
7210 |
</DL>
|
|
7211 |
<P>
|
|
7212 |
|
|
7213 |
<A NAME="IDX320"></A>
|
|
7214 |
<A NAME="IDX321"></A>
|
|
7215 |
<A NAME="IDX322"></A>
|
|
7216 |
</P>
|
|
7217 |
<DL>
|
|
7218 |
<DT><U>Function:</U> <B>TIME.HMS</B> <I>(<VAR>nhours</VAR>, <VAR>nmins</VAR>, <VAR>nsecs</VAR>)</I>
|
|
7219 |
<DD>Results in a time value corresponding to <VAR>nhours</VAR> hours, <VAR>nmins</VAR>
|
|
7220 |
minutes, and <VAR>nsecs</VAR> seconds. (<CODE>TIME.HMS(<VAR>h</VAR>, <VAR>m</VAR>,
|
|
7221 |
<VAR>s</VAR>)</CODE> is equivalent to <CODE><VAR>h</VAR>*60*60 + <VAR>m</VAR>*60 +
|
|
7222 |
<VAR>s</VAR></CODE>.)
|
|
7223 |
</DL>
|
|
7224 |
<P>
|
|
7225 |
|
|
7226 |
<A NAME="Time Extraction"></A>
|
|
7227 |
<HR SIZE="6">
|
|
7228 |
<A NAME="SEC77"></A>
|
|
7229 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7230 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC76"> < </A>]</TD>
|
|
7231 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC78"> > </A>]</TD>
|
|
7232 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7233 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> Up </A>]</TD>
|
|
7234 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7235 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7236 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7237 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7238 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7239 |
</TR></TABLE>
|
|
7240 |
<H4> 8.7.9.3 Functions that Examine Times </H4>
|
|
7241 |
<!--docid::SEC77::-->
|
|
7242 |
<P>
|
|
7243 |
|
|
7244 |
These functions take numeric arguments in PSPP time format and
|
|
7245 |
give numeric results.
|
|
7246 |
</P>
|
|
7247 |
<P>
|
|
7248 |
|
|
7249 |
<A NAME="IDX323"></A>
|
|
7250 |
<A NAME="IDX324"></A>
|
|
7251 |
<A NAME="IDX325"></A>
|
|
7252 |
</P>
|
|
7253 |
<DL>
|
|
7254 |
<DT><U>Function:</U> <B>CTIME.DAYS</B> <I>(<VAR>time</VAR>)</I>
|
|
7255 |
<DD>Results in the number of days and fractional days in <VAR>time</VAR>.
|
|
7256 |
(<CODE>CTIME.DAYS(<VAR>x</VAR>)</CODE> is equivalent to <CODE><VAR>x</VAR>/60/60/24</CODE>.)
|
|
7257 |
</DL>
|
|
7258 |
<P>
|
|
7259 |
|
|
7260 |
<A NAME="IDX326"></A>
|
|
7261 |
<A NAME="IDX327"></A>
|
|
7262 |
<A NAME="IDX328"></A>
|
|
7263 |
</P>
|
|
7264 |
<DL>
|
|
7265 |
<DT><U>Function:</U> <B>CTIME.HOURS</B> <I>(<VAR>time</VAR>)</I>
|
|
7266 |
<DD>Results in the number of hours and fractional hours in <VAR>time</VAR>.
|
|
7267 |
(<CODE>CTIME.HOURS(<VAR>x</VAR>)</CODE> is equivalent to <CODE><VAR>x</VAR>/60/60</CODE>.)
|
|
7268 |
</DL>
|
|
7269 |
<P>
|
|
7270 |
|
|
7271 |
<A NAME="IDX329"></A>
|
|
7272 |
<A NAME="IDX330"></A>
|
|
7273 |
<A NAME="IDX331"></A>
|
|
7274 |
</P>
|
|
7275 |
<DL>
|
|
7276 |
<DT><U>Function:</U> <B>CTIME.MINUTES</B> <I>(<VAR>time</VAR>)</I>
|
|
7277 |
<DD>Results in the number of minutes and fractional minutes in <VAR>time</VAR>.
|
|
7278 |
(<CODE>CTIME.MINUTES(<VAR>x</VAR>)</CODE> is equivalent to <CODE><VAR>x</VAR>/60</CODE>.)
|
|
7279 |
</DL>
|
|
7280 |
<P>
|
|
7281 |
|
|
7282 |
<A NAME="IDX332"></A>
|
|
7283 |
<A NAME="IDX333"></A>
|
|
7284 |
<A NAME="IDX334"></A>
|
|
7285 |
</P>
|
|
7286 |
<DL>
|
|
7287 |
<DT><U>Function:</U> <B>CTIME.SECONDS</B> <I>(<VAR>time</VAR>)</I>
|
|
7288 |
<DD>Results in the number of seconds and fractional seconds in <VAR>time</VAR>.
|
|
7289 |
(<CODE>CTIME.SECONDS</CODE> does nothing; <CODE>CTIME.SECONDS(<VAR>x</VAR>)</CODE> is
|
|
7290 |
equivalent to <CODE><VAR>x</VAR></CODE>.)
|
|
7291 |
</DL>
|
|
7292 |
<P>
|
|
7293 |
|
|
7294 |
<A NAME="Date Construction"></A>
|
|
7295 |
<HR SIZE="6">
|
|
7296 |
<A NAME="SEC78"></A>
|
|
7297 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7298 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC77"> < </A>]</TD>
|
|
7299 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC79"> > </A>]</TD>
|
|
7300 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7301 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> Up </A>]</TD>
|
|
7302 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7303 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7304 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7305 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7306 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7307 |
</TR></TABLE>
|
|
7308 |
<H4> 8.7.9.4 Functions that Produce Dates </H4>
|
|
7309 |
<!--docid::SEC78::-->
|
|
7310 |
<P>
|
|
7311 |
|
|
7312 |
<A NAME="IDX335"></A>
|
|
7313 |
These functions take numeric arguments and give numeric results in the
|
|
7314 |
PSPP date format. Arguments taken by these functions are:
|
|
7315 |
</P>
|
|
7316 |
<P>
|
|
7317 |
|
|
7318 |
</P>
|
|
7319 |
<DL COMPACT>
|
|
7320 |
<DT><VAR>day</VAR>
|
|
7321 |
<DD>Refers to a day of the month between 1 and 31.
|
|
7322 |
<P>
|
|
7323 |
|
|
7324 |
</P>
|
|
7325 |
<DT><VAR>month</VAR>
|
|
7326 |
<DD>Refers to a month of the year between 1 and 12.
|
|
7327 |
<P>
|
|
7328 |
|
|
7329 |
</P>
|
|
7330 |
<DT><VAR>quarter</VAR>
|
|
7331 |
<DD>Refers to a quarter of the year between 1 and 4. The quarters of the
|
|
7332 |
year begin on the first days of months 1, 4, 7, and 10.
|
|
7333 |
<P>
|
|
7334 |
|
|
7335 |
</P>
|
|
7336 |
<DT><VAR>week</VAR>
|
|
7337 |
<DD>Refers to a week of the year between 1 and 53.
|
|
7338 |
<P>
|
|
7339 |
|
|
7340 |
</P>
|
|
7341 |
<DT><VAR>yday</VAR>
|
|
7342 |
<DD>Refers to a day of the year between 1 and 366.
|
|
7343 |
<P>
|
|
7344 |
|
|
7345 |
</P>
|
|
7346 |
<DT><VAR>year</VAR>
|
|
7347 |
<DD>Refers to a year between 1582 and 19999.
|
|
7348 |
</DL>
|
|
7349 |
<P>
|
|
7350 |
|
|
7351 |
<A NAME="IDX336"></A>
|
|
7352 |
If these functions' arguments are out-of-range, they are correctly
|
|
7353 |
normalized before conversion to date format. Non-integers are rounded
|
|
7354 |
toward zero.
|
|
7355 |
</P>
|
|
7356 |
<P>
|
|
7357 |
|
|
7358 |
<A NAME="IDX337"></A>
|
|
7359 |
<A NAME="IDX338"></A>
|
|
7360 |
<A NAME="IDX339"></A>
|
|
7361 |
</P>
|
|
7362 |
<DL>
|
|
7363 |
<DT><U>Function:</U> <B>DATE.DMY</B> <I>(<VAR>day</VAR>, <VAR>month</VAR>, <VAR>year</VAR>)</I>
|
|
7364 |
<DD><A NAME="IDX340"></A>
|
|
7365 |
<DT><U>Function:</U> <B>DATE.MDY</B> <I>(<VAR>month</VAR>, <VAR>day</VAR>, <VAR>year</VAR>)</I>
|
|
7366 |
<DD>Results in a date value corresponding to the midnight before day
|
|
7367 |
<VAR>day</VAR> of month <VAR>month</VAR> of year <VAR>year</VAR>.
|
|
7368 |
</DL>
|
|
7369 |
<P>
|
|
7370 |
|
|
7371 |
<A NAME="IDX341"></A>
|
|
7372 |
<A NAME="IDX342"></A>
|
|
7373 |
<A NAME="IDX343"></A>
|
|
7374 |
</P>
|
|
7375 |
<DL>
|
|
7376 |
<DT><U>Function:</U> <B>DATE.MOYR</B> <I>(<VAR>month</VAR>, <VAR>year</VAR>)</I>
|
|
7377 |
<DD>Results in a date value corresponding to the midnight before the first
|
|
7378 |
day of month <VAR>month</VAR> of year <VAR>year</VAR>.
|
|
7379 |
</DL>
|
|
7380 |
<P>
|
|
7381 |
|
|
7382 |
<A NAME="IDX344"></A>
|
|
7383 |
<A NAME="IDX345"></A>
|
|
7384 |
<A NAME="IDX346"></A>
|
|
7385 |
</P>
|
|
7386 |
<DL>
|
|
7387 |
<DT><U>Function:</U> <B>DATE.QYR</B> <I>(<VAR>quarter</VAR>, <VAR>year</VAR>)</I>
|
|
7388 |
<DD>Results in a date value corresponding to the midnight before the first
|
|
7389 |
day of quarter <VAR>quarter</VAR> of year <VAR>year</VAR>.
|
|
7390 |
</DL>
|
|
7391 |
<P>
|
|
7392 |
|
|
7393 |
<A NAME="IDX347"></A>
|
|
7394 |
<A NAME="IDX348"></A>
|
|
7395 |
<A NAME="IDX349"></A>
|
|
7396 |
</P>
|
|
7397 |
<DL>
|
|
7398 |
<DT><U>Function:</U> <B>DATE.WKYR</B> <I>(<VAR>week</VAR>, <VAR>year</VAR>)</I>
|
|
7399 |
<DD>Results in a date value corresponding to the midnight before the first
|
|
7400 |
day of week <VAR>week</VAR> of year <VAR>year</VAR>.
|
|
7401 |
</DL>
|
|
7402 |
<P>
|
|
7403 |
|
|
7404 |
<A NAME="IDX350"></A>
|
|
7405 |
<A NAME="IDX351"></A>
|
|
7406 |
<A NAME="IDX352"></A>
|
|
7407 |
</P>
|
|
7408 |
<DL>
|
|
7409 |
<DT><U>Function:</U> <B>DATE.YRDAY</B> <I>(<VAR>year</VAR>, <VAR>yday</VAR>)</I>
|
|
7410 |
<DD>Results in a date value corresponding to the midnight before day
|
|
7411 |
<VAR>yday</VAR> of year <VAR>year</VAR>.
|
|
7412 |
</DL>
|
|
7413 |
<P>
|
|
7414 |
|
|
7415 |
<A NAME="Date Extraction"></A>
|
|
7416 |
<HR SIZE="6">
|
|
7417 |
<A NAME="SEC79"></A>
|
|
7418 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7419 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC78"> < </A>]</TD>
|
|
7420 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC80"> > </A>]</TD>
|
|
7421 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7422 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC74"> Up </A>]</TD>
|
|
7423 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7424 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7425 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7426 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7427 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7428 |
</TR></TABLE>
|
|
7429 |
<H4> 8.7.9.5 Functions that Examine Dates </H4>
|
|
7430 |
<!--docid::SEC79::-->
|
|
7431 |
<P>
|
|
7432 |
|
|
7433 |
<A NAME="IDX353"></A>
|
|
7434 |
These functions take numeric arguments in PSPP date or time
|
|
7435 |
format and give numeric results. These names are used for arguments:
|
|
7436 |
</P>
|
|
7437 |
<P>
|
|
7438 |
|
|
7439 |
</P>
|
|
7440 |
<DL COMPACT>
|
|
7441 |
<DT><VAR>date</VAR>
|
|
7442 |
<DD>A numeric value in PSPP date format.
|
|
7443 |
<P>
|
|
7444 |
|
|
7445 |
</P>
|
|
7446 |
<DT><VAR>time</VAR>
|
|
7447 |
<DD>A numeric value in PSPP time format.
|
|
7448 |
<P>
|
|
7449 |
|
|
7450 |
</P>
|
|
7451 |
<DT><VAR>time-or-date</VAR>
|
|
7452 |
<DD>A numeric value in PSPP time or date format.
|
|
7453 |
</DL>
|
|
7454 |
<P>
|
|
7455 |
|
|
7456 |
<A NAME="IDX354"></A>
|
|
7457 |
<A NAME="IDX355"></A>
|
|
7458 |
<A NAME="IDX356"></A>
|
|
7459 |
<A NAME="IDX357"></A>
|
|
7460 |
</P>
|
|
7461 |
<DL>
|
|
7462 |
<DT><U>Function:</U> <B>XDATE.DATE</B> <I>(<VAR>time-or-date</VAR>)</I>
|
|
7463 |
<DD>For a time, results in the time corresponding to the number of whole
|
|
7464 |
days <VAR>date-or-time</VAR> includes. For a date, results in the date
|
|
7465 |
corresponding to the latest midnight at or before <VAR>date-or-time</VAR>;
|
|
7466 |
that is, gives the date that <VAR>date-or-time</VAR> is in.
|
|
7467 |
(XDATE.DATE(<VAR>x</VAR>) is equivalent to TRUNC(<VAR>x</VAR>/86400)*86400.)
|
|
7468 |
Applying this function to a time is a Portability: none feature.
|
|
7469 |
</DL>
|
|
7470 |
<P>
|
|
7471 |
|
|
7472 |
<A NAME="IDX358"></A>
|
|
7473 |
<A NAME="IDX359"></A>
|
|
7474 |
<A NAME="IDX360"></A>
|
|
7475 |
<A NAME="IDX361"></A>
|
|
7476 |
</P>
|
|
7477 |
<DL>
|
|
7478 |
<DT><U>Function:</U> <B>XDATE.HOUR</B> <I>(<VAR>time-or-date</VAR>)</I>
|
|
7479 |
<DD>For a time, results in the number of whole hours beyond the number of
|
|
7480 |
whole days represented by <VAR>date-or-time</VAR>. For a date, results in
|
|
7481 |
the hour (as an integer between 0 and 23) corresponding to
|
|
7482 |
<VAR>date-or-time</VAR>. (XDATE.HOUR(<VAR>x</VAR>) is equivalent to
|
|
7483 |
MOD(TRUNC(<VAR>x</VAR>/3600),24)) Applying this function to a time is a
|
|
7484 |
Portability: none feature.
|
|
7485 |
</DL>
|
|
7486 |
<P>
|
|
7487 |
|
|
7488 |
<A NAME="IDX362"></A>
|
|
7489 |
<A NAME="IDX363"></A>
|
|
7490 |
<A NAME="IDX364"></A>
|
|
7491 |
</P>
|
|
7492 |
<DL>
|
|
7493 |
<DT><U>Function:</U> <B>XDATE.JDAY(<VAR>date</VAR>)</B>
|
|
7494 |
<DD>Results in the day of the year (as an integer between 1 and 366)
|
|
7495 |
corresponding to <VAR>date</VAR>.
|
|
7496 |
</DL>
|
|
7497 |
<P>
|
|
7498 |
|
|
7499 |
<A NAME="IDX365"></A>
|
|
7500 |
<A NAME="IDX366"></A>
|
|
7501 |
<A NAME="IDX367"></A>
|
|
7502 |
</P>
|
|
7503 |
<DL>
|
|
7504 |
<DT><U>Function:</U> <B>XDATE.MDAY(<VAR>date</VAR>)</B>
|
|
7505 |
<DD>Results in the day of the month (as an integer between 1 and 31)
|
|
7506 |
corresponding to <VAR>date</VAR>.
|
|
7507 |
</DL>
|
|
7508 |
<P>
|
|
7509 |
|
|
7510 |
<A NAME="IDX368"></A>
|
|
7511 |
<A NAME="IDX369"></A>
|
|
7512 |
<A NAME="IDX370"></A>
|
|
7513 |
<A NAME="IDX371"></A>
|
|
7514 |
</P>
|
|
7515 |
<DL>
|
|
7516 |
<DT><U>Function:</U> <B>XDATE.MINUTE(<VAR>time-or-date</VAR>)</B>
|
|
7517 |
<DD>Results in the number of minutes (as an integer between 0 and 59) after
|
|
7518 |
the last hour in <VAR>time-or-date</VAR>. (XDATE.MINUTE(<VAR>x</VAR>) is
|
|
7519 |
equivalent to MOD(TRUNC(<VAR>x</VAR>/60),60)) Applying this function to a
|
|
7520 |
time is a Portability: none feature.
|
|
7521 |
</DL>
|
|
7522 |
<P>
|
|
7523 |
|
|
7524 |
<A NAME="IDX372"></A>
|
|
7525 |
<A NAME="IDX373"></A>
|
|
7526 |
<A NAME="IDX374"></A>
|
|
7527 |
</P>
|
|
7528 |
<DL>
|
|
7529 |
<DT><U>Function:</U> <B>XDATE.MONTH(<VAR>date</VAR>)</B>
|
|
7530 |
<DD>Results in the month of the year (as an integer between 1 and 12)
|
|
7531 |
corresponding to <VAR>date</VAR>.
|
|
7532 |
</DL>
|
|
7533 |
<P>
|
|
7534 |
|
|
7535 |
<A NAME="IDX375"></A>
|
|
7536 |
<A NAME="IDX376"></A>
|
|
7537 |
<A NAME="IDX377"></A>
|
|
7538 |
</P>
|
|
7539 |
<DL>
|
|
7540 |
<DT><U>Function:</U> <B>XDATE.QUARTER(<VAR>date</VAR>)</B>
|
|
7541 |
<DD>Results in the quarter of the year (as an integer between 1 and 4)
|
|
7542 |
corresponding to <VAR>date</VAR>.
|
|
7543 |
</DL>
|
|
7544 |
<P>
|
|
7545 |
|
|
7546 |
<A NAME="IDX378"></A>
|
|
7547 |
<A NAME="IDX379"></A>
|
|
7548 |
<A NAME="IDX380"></A>
|
|
7549 |
<A NAME="IDX381"></A>
|
|
7550 |
</P>
|
|
7551 |
<DL>
|
|
7552 |
<DT><U>Function:</U> <B>XDATE.SECOND(<VAR>time-or-date</VAR>)</B>
|
|
7553 |
<DD>Results in the number of whole seconds after the last whole minute (as
|
|
7554 |
an integer between 0 and 59) in <VAR>time-or-date</VAR>.
|
|
7555 |
(XDATE.SECOND(<VAR>x</VAR>) is equivalent to MOD(<VAR>x</VAR>, 60).) Applying
|
|
7556 |
this function to a time is a Portability: none feature.
|
|
7557 |
</DL>
|
|
7558 |
<P>
|
|
7559 |
|
|
7560 |
<A NAME="IDX382"></A>
|
|
7561 |
<A NAME="IDX383"></A>
|
|
7562 |
<A NAME="IDX384"></A>
|
|
7563 |
</P>
|
|
7564 |
<DL>
|
|
7565 |
<DT><U>Function:</U> <B>XDATE.TDAY(<VAR>time</VAR>)</B>
|
|
7566 |
<DD>Results in the number of whole days (as an integer) in <VAR>time</VAR>.
|
|
7567 |
(XDATE.TDAY(<VAR>x</VAR>) is equivalent to TRUNC(<VAR>x</VAR>/86400).)
|
|
7568 |
</DL>
|
|
7569 |
<P>
|
|
7570 |
|
|
7571 |
<A NAME="IDX385"></A>
|
|
7572 |
<A NAME="IDX386"></A>
|
|
7573 |
<A NAME="IDX387"></A>
|
|
7574 |
</P>
|
|
7575 |
<DL>
|
|
7576 |
<DT><U>Function:</U> <B>XDATE.TIME(<VAR>date</VAR>)</B>
|
|
7577 |
<DD>Results in the time of day at the instant corresponding to <VAR>date</VAR>,
|
|
7578 |
in PSPP time format. This is the number of seconds since
|
|
7579 |
midnight on the day corresponding to <VAR>date</VAR>. (XDATE.TIME(<VAR>x</VAR>) is
|
|
7580 |
equivalent to TRUNC(<VAR>x</VAR>/86400)*86400.)
|
|
7581 |
</DL>
|
|
7582 |
<P>
|
|
7583 |
|
|
7584 |
<A NAME="IDX388"></A>
|
|
7585 |
<A NAME="IDX389"></A>
|
|
7586 |
<A NAME="IDX390"></A>
|
|
7587 |
</P>
|
|
7588 |
<DL>
|
|
7589 |
<DT><U>Function:</U> <B>XDATE.WEEK(<VAR>date</VAR>)</B>
|
|
7590 |
<DD>Results in the week of the year (as an integer between 1 and 53)
|
|
7591 |
corresponding to <VAR>date</VAR>.
|
|
7592 |
</DL>
|
|
7593 |
<P>
|
|
7594 |
|
|
7595 |
<A NAME="IDX391"></A>
|
|
7596 |
<A NAME="IDX392"></A>
|
|
7597 |
<A NAME="IDX393"></A>
|
|
7598 |
<A NAME="IDX394"></A>
|
|
7599 |
<A NAME="IDX395"></A>
|
|
7600 |
</P>
|
|
7601 |
<DL>
|
|
7602 |
<DT><U>Function:</U> <B>XDATE.WKDAY(<VAR>date</VAR>)</B>
|
|
7603 |
<DD>Results in the day of week (as an integer between 1 and 7) corresponding
|
|
7604 |
to <VAR>date</VAR>. The days of the week are:
|
|
7605 |
<P>
|
|
7606 |
|
|
7607 |
</P>
|
|
7608 |
<DL COMPACT>
|
|
7609 |
<DT>1
|
|
7610 |
<DD>Sunday
|
|
7611 |
<DT>2
|
|
7612 |
<DD>Monday
|
|
7613 |
<DT>3
|
|
7614 |
<DD>Tuesday
|
|
7615 |
<DT>4
|
|
7616 |
<DD>Wednesday
|
|
7617 |
<DT>5
|
|
7618 |
<DD>Thursday
|
|
7619 |
<DT>6
|
|
7620 |
<DD>Friday
|
|
7621 |
<DT>7
|
|
7622 |
<DD>Saturday
|
|
7623 |
</DL>
|
|
7624 |
</DL>
|
|
7625 |
<P>
|
|
7626 |
|
|
7627 |
<A NAME="IDX396"></A>
|
|
7628 |
<A NAME="IDX397"></A>
|
|
7629 |
<A NAME="IDX398"></A>
|
|
7630 |
</P>
|
|
7631 |
<DL>
|
|
7632 |
<DT><U>Function:</U> <B>XDATE.YEAR</B> <I>(<VAR>date</VAR>)</I>
|
|
7633 |
<DD>Returns the year (as an integer between 1582 and 19999) corresponding to
|
|
7634 |
<VAR>date</VAR>.
|
|
7635 |
</DL>
|
|
7636 |
<P>
|
|
7637 |
|
|
7638 |
<A NAME="Miscellaneous Functions"></A>
|
|
7639 |
<HR SIZE="6">
|
|
7640 |
<A NAME="SEC80"></A>
|
|
7641 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7642 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC79"> < </A>]</TD>
|
|
7643 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC81"> > </A>]</TD>
|
|
7644 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7645 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
7646 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7647 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7648 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7649 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7650 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7651 |
</TR></TABLE>
|
|
7652 |
<H3> 8.7.10 Miscellaneous Functions </H3>
|
|
7653 |
<!--docid::SEC80::-->
|
|
7654 |
<P>
|
|
7655 |
|
|
7656 |
Miscellaneous functions take various arguments and produce various
|
|
7657 |
results.
|
|
7658 |
</P>
|
|
7659 |
<P>
|
|
7660 |
|
|
7661 |
<A NAME="IDX399"></A>
|
|
7662 |
<A NAME="IDX400"></A>
|
|
7663 |
<A NAME="IDX401"></A>
|
|
7664 |
</P>
|
|
7665 |
<DL>
|
|
7666 |
<DT><U>Function:</U> <B>LAG</B> <I>(<VAR>variable</VAR>)</I>
|
|
7667 |
<DD><VAR>variable</VAR> must be a numeric or string variable name. <CODE>LAG</CODE>
|
|
7668 |
results in the value of that variable for the case before the current
|
|
7669 |
one. In case-selection procedures, <CODE>LAG</CODE> results in the value of
|
|
7670 |
the variable for the last case selected. Results in system-missing (for
|
|
7671 |
numeric variables) or blanks (for string variables) for the first case
|
|
7672 |
or before any cases are selected.
|
|
7673 |
</DL>
|
|
7674 |
<P>
|
|
7675 |
|
|
7676 |
<A NAME="IDX402"></A>
|
|
7677 |
</P>
|
|
7678 |
<DL>
|
|
7679 |
<DT><U>Function:</U> <B>LAG</B> <I>(<VAR>variable</VAR>, <VAR>ncases</VAR>)</I>
|
|
7680 |
<DD><VAR>variable</VAR> must be a numeric or string variable name. <VAR>ncases</VAR>
|
|
7681 |
must be a small positive constant integer, although there is no explicit
|
|
7682 |
limit. (Use of a large value for <VAR>ncases</VAR> will increase memory
|
|
7683 |
consumption, since PSPP must keep <VAR>ncases</VAR> cases in memory.)
|
|
7684 |
<CODE>LAG (<VAR>variable</VAR>, <VAR>ncases</VAR></CODE> results in the value of
|
|
7685 |
<VAR>variable</VAR> that is <VAR>ncases</VAR> before the case currently being
|
|
7686 |
processed. See <CODE>LAG (<VAR>variable</VAR>)</CODE> above for more details.
|
|
7687 |
</DL>
|
|
7688 |
<P>
|
|
7689 |
|
|
7690 |
<A NAME="IDX403"></A>
|
|
7691 |
<A NAME="IDX404"></A>
|
|
7692 |
<A NAME="IDX405"></A>
|
|
7693 |
</P>
|
|
7694 |
<DL>
|
|
7695 |
<DT><U>Function:</U> <B>YRMODA</B> <I>(<VAR>year</VAR>, <VAR>month</VAR>, <VAR>day</VAR>)</I>
|
|
7696 |
<DD><VAR>year</VAR> is a year between 0 and 199 or 1582 and 19999. <VAR>month</VAR> is
|
|
7697 |
a month between 1 and 12. <VAR>day</VAR> is a day between 1 and 31. If
|
|
7698 |
<VAR>month</VAR> or <VAR>day</VAR> is out-of-range, it changes the next higher
|
|
7699 |
unit. For instance, a <VAR>day</VAR> of 0 refers to the last day of the
|
|
7700 |
previous month, and a <VAR>month</VAR> of 13 refers to the first month of the
|
|
7701 |
next year. <VAR>year</VAR> must be in range. If <VAR>year</VAR> is between 0 and
|
|
7702 |
199, 1900 is added. <VAR>year</VAR>, <VAR>month</VAR>, and <VAR>day</VAR> must all be
|
|
7703 |
integers.
|
|
7704 |
<P>
|
|
7705 |
|
|
7706 |
<CODE>YRMODA</CODE> results in the number of days between 15 Oct 1582 and
|
|
7707 |
the date specified, plus one. The date passed to <CODE>YRMODA</CODE> must be
|
|
7708 |
on or after 15 Oct 1582. 15 Oct 1582 has a value of 1.
|
|
7709 |
</P>
|
|
7710 |
</DL>
|
|
7711 |
<P>
|
|
7712 |
|
|
7713 |
<A NAME="Functions Not Implemented"></A>
|
|
7714 |
<HR SIZE="6">
|
|
7715 |
<A NAME="SEC81"></A>
|
|
7716 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7717 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC80"> < </A>]</TD>
|
|
7718 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC82"> > </A>]</TD>
|
|
7719 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7720 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC65"> Up </A>]</TD>
|
|
7721 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7722 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7723 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7724 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7725 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7726 |
</TR></TABLE>
|
|
7727 |
<H3> 8.7.11 Functions Not Implemented </H3>
|
|
7728 |
<!--docid::SEC81::-->
|
|
7729 |
<P>
|
|
7730 |
|
|
7731 |
These functions are not yet implemented and thus not yet documented,
|
|
7732 |
since it's a hassle.
|
|
7733 |
</P>
|
|
7734 |
<P>
|
|
7735 |
|
|
7736 |
<A NAME="IDX406"></A>
|
|
7737 |
<A NAME="IDX407"></A>
|
|
7738 |
<A NAME="IDX408"></A>
|
|
7739 |
<A NAME="IDX409"></A>
|
|
7740 |
<A NAME="IDX410"></A>
|
|
7741 |
<A NAME="IDX411"></A>
|
|
7742 |
</P>
|
|
7743 |
<P>
|
|
7744 |
|
|
7745 |
<UL>
|
|
7746 |
<LI>
|
|
7747 |
<CODE>CDF.xxx</CODE>
|
|
7748 |
<LI>
|
|
7749 |
<CODE>CDFNORM</CODE>
|
|
7750 |
<LI>
|
|
7751 |
<CODE>IDF.xxx</CODE>
|
|
7752 |
<LI>
|
|
7753 |
<CODE>NCDF.xxx</CODE>
|
|
7754 |
<LI>
|
|
7755 |
<CODE>PROBIT</CODE>
|
|
7756 |
<LI>
|
|
7757 |
<CODE>RV.xxx</CODE>
|
|
7758 |
</UL>
|
|
7759 |
<P>
|
|
7760 |
|
|
7761 |
<A NAME="Order of Operations"></A>
|
|
7762 |
<HR SIZE="6">
|
|
7763 |
<A NAME="SEC82"></A>
|
|
7764 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7765 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC81"> < </A>]</TD>
|
|
7766 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> > </A>]</TD>
|
|
7767 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7768 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> Up </A>]</TD>
|
|
7769 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> >> </A>]</TD>
|
|
7770 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7771 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7772 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7773 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7774 |
</TR></TABLE>
|
|
7775 |
<H2> 8.8 Operator Precedence </H2>
|
|
7776 |
<!--docid::SEC82::-->
|
|
7777 |
<P>
|
|
7778 |
|
|
7779 |
The following table describes operator precedence. Smaller-numbered
|
|
7780 |
levels in the table have higher precedence. Within a level, operations
|
|
7781 |
are performed from left to right, except for level 2 (exponentiation),
|
|
7782 |
where operations are performed from right to left. If an operator
|
|
7783 |
appears in the table in two places (<CODE>-</CODE>), the first occurrence is
|
|
7784 |
unary, the second is binary.
|
|
7785 |
</P>
|
|
7786 |
<P>
|
|
7787 |
|
|
7788 |
<OL>
|
|
7789 |
<LI>
|
|
7790 |
<CODE>( )</CODE>
|
|
7791 |
<LI>
|
|
7792 |
<CODE>**</CODE>
|
|
7793 |
<LI>
|
|
7794 |
<CODE>-</CODE>
|
|
7795 |
<LI>
|
|
7796 |
<CODE>* /</CODE>
|
|
7797 |
<LI>
|
|
7798 |
<CODE>+ -</CODE>
|
|
7799 |
<LI>
|
|
7800 |
<CODE>EQ GE GT LE LT NE</CODE>
|
|
7801 |
<LI>
|
|
7802 |
<CODE>AND NOT OR</CODE>
|
|
7803 |
</OL>
|
|
7804 |
<P>
|
|
7805 |
|
|
7806 |
<A NAME="Data Input and Output"></A>
|
|
7807 |
<HR SIZE="6">
|
|
7808 |
<A NAME="SEC83"></A>
|
|
7809 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7810 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC82"> < </A>]</TD>
|
|
7811 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC84"> > </A>]</TD>
|
|
7812 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC58"> << </A>]</TD>
|
|
7813 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
7814 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
7815 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7816 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7817 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7818 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7819 |
</TR></TABLE>
|
|
7820 |
<H1> 9. Data Input and Output </H1>
|
|
7821 |
<!--docid::SEC83::-->
|
|
7822 |
<P>
|
|
7823 |
|
|
7824 |
Data is the focus of the PSPP language. This chapter examines
|
|
7825 |
the PSPP commands for defining variables and reading and writing data.
|
|
7826 |
</P>
|
|
7827 |
<P>
|
|
7828 |
|
|
7829 |
<BLOCKQUOTE>
|
|
7830 |
<STRONG>Please note:</STRONG> Data is not actually read until a procedure is
|
|
7831 |
executed. These commands tell PSPP how to read data, but they
|
|
7832 |
do not <EM>cause</EM> PSPP to read data.
|
|
7833 |
</BLOCKQUOTE>
|
|
7834 |
<P>
|
|
7835 |
|
|
7836 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
7837 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Embed data within a syntax file.</TD></TR>
|
|
7838 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC85">9.2 CLEAR TRANSFORMATIONS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Clear pending transformations.</TD></TR>
|
|
7839 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Fundamental data reading command.</TD></TR>
|
|
7840 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC91">9.4 END CASE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Output the current case.</TD></TR>
|
|
7841 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC92">9.5 END FILE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Terminate the current input program.</TD></TR>
|
|
7842 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Support for fixed-length records.</TD></TR>
|
|
7843 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Support for complex input programs.</TD></TR>
|
|
7844 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC95">9.8 LIST</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">List cases in the active file.</TD></TR>
|
|
7845 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC96">9.9 MATRIX DATA</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Read matrices in text format.</TD></TR>
|
|
7846 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC97">9.10 NEW FILE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Clear the active file and dictionary.</TD></TR>
|
|
7847 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC98">9.11 PRINT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display values in print formats.</TD></TR>
|
|
7848 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC99">9.12 PRINT EJECT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Eject the current page then print.</TD></TR>
|
|
7849 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC100">9.13 PRINT SPACE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Print blank lines.</TD></TR>
|
|
7850 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC101">9.14 REREAD</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Take another look at the previous input line.</TD></TR>
|
|
7851 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC102">9.15 REPEATING DATA</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Multiple cases on a single line.</TD></TR>
|
|
7852 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC103">9.16 WRITE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display values in write formats.</TD></TR>
|
|
7853 |
</TABLE>
|
|
7854 |
<P>
|
|
7855 |
|
|
7856 |
<A NAME="BEGIN DATA"></A>
|
|
7857 |
<HR SIZE="6">
|
|
7858 |
<A NAME="SEC84"></A>
|
|
7859 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7860 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> < </A>]</TD>
|
|
7861 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC85"> > </A>]</TD>
|
|
7862 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
7863 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
7864 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
7865 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7866 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7867 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7868 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7869 |
</TR></TABLE>
|
|
7870 |
<H2> 9.1 BEGIN DATA </H2>
|
|
7871 |
<!--docid::SEC84::-->
|
|
7872 |
<P>
|
|
7873 |
|
|
7874 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">BEGIN DATA.
|
|
7875 |
<small>...</small>
|
|
7876 |
END DATA.
|
|
7877 |
</pre></td></tr></table><P>
|
|
7878 |
|
|
7879 |
BEGIN DATA and END DATA can be used to embed raw ASCII data in a PSPP
|
|
7880 |
syntax file. DATA LIST or another input procedure must be used before
|
|
7881 |
BEGIN DATA (see section <A HREF="pspp.html#SEC86">9.3 DATA LIST</A>). BEGIN DATA and END DATA must be used
|
|
7882 |
together. The END DATA command must appear by itself on a single line,
|
|
7883 |
with no leading whitespace and exactly one space between the words
|
|
7884 |
<CODE>END</CODE> and <CODE>DATA</CODE>, followed immediately by the terminal dot,
|
|
7885 |
like this:
|
|
7886 |
</P>
|
|
7887 |
<P>
|
|
7888 |
|
|
7889 |
<TABLE><tr><td> </td><td class=example><pre>END DATA.
|
|
7890 |
</pre></td></tr></table><P>
|
|
7891 |
|
|
7892 |
<A NAME="CLEAR TRANSFORMATIONS"></A>
|
|
7893 |
<HR SIZE="6">
|
|
7894 |
<A NAME="SEC85"></A>
|
|
7895 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7896 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC84"> < </A>]</TD>
|
|
7897 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC86"> > </A>]</TD>
|
|
7898 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
7899 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
7900 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
7901 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7902 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7903 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7904 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7905 |
</TR></TABLE>
|
|
7906 |
<H2> 9.2 CLEAR TRANSFORMATIONS </H2>
|
|
7907 |
<!--docid::SEC85::-->
|
|
7908 |
<P>
|
|
7909 |
|
|
7910 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">CLEAR TRANSFORMATIONS.
|
|
7911 |
</pre></td></tr></table><P>
|
|
7912 |
|
|
7913 |
The CLEAR TRANSFORMATIONS command clears out all pending
|
|
7914 |
transformations. It does not cancel the current input program. It is
|
|
7915 |
valid only when PSPP is interactive, not in syntax files.
|
|
7916 |
</P>
|
|
7917 |
<P>
|
|
7918 |
|
|
7919 |
<A NAME="DATA LIST"></A>
|
|
7920 |
<HR SIZE="6">
|
|
7921 |
<A NAME="SEC86"></A>
|
|
7922 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7923 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC85"> < </A>]</TD>
|
|
7924 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC87"> > </A>]</TD>
|
|
7925 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
7926 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
7927 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
7928 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7929 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7930 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7931 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7932 |
</TR></TABLE>
|
|
7933 |
<H2> 9.3 DATA LIST </H2>
|
|
7934 |
<!--docid::SEC86::-->
|
|
7935 |
<P>
|
|
7936 |
|
|
7937 |
Used to read text or binary data, DATA LIST is the most
|
|
7938 |
fundamental data-reading command. Even the more sophisticated input
|
|
7939 |
methods use DATA LIST commands as a building block.
|
|
7940 |
Understanding DATA LIST is important to understanding how to use
|
|
7941 |
PSPP to read your data files.
|
|
7942 |
</P>
|
|
7943 |
<P>
|
|
7944 |
|
|
7945 |
There are two major variants of DATA LIST, which are fixed
|
|
7946 |
format and free format. In addition, free format has a minor variant,
|
|
7947 |
list format, which is discussed in terms of its differences from vanilla
|
|
7948 |
free format.
|
|
7949 |
</P>
|
|
7950 |
<P>
|
|
7951 |
|
|
7952 |
Each form of DATA LIST is described in detail below.
|
|
7953 |
</P>
|
|
7954 |
<P>
|
|
7955 |
|
|
7956 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
7957 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Fixed columnar locations for data.</TD></TR>
|
|
7958 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC89">9.3.2 DATA LIST FREE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Any spacing you like.</TD></TR>
|
|
7959 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC90">9.3.3 DATA LIST LIST</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Each case must be on a single line.</TD></TR>
|
|
7960 |
</TABLE>
|
|
7961 |
<P>
|
|
7962 |
|
|
7963 |
<A NAME="DATA LIST FIXED"></A>
|
|
7964 |
<HR SIZE="6">
|
|
7965 |
<A NAME="SEC87"></A>
|
|
7966 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
7967 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC86"> < </A>]</TD>
|
|
7968 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC88"> > </A>]</TD>
|
|
7969 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
7970 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC86"> Up </A>]</TD>
|
|
7971 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
7972 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
7973 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
7974 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
7975 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
7976 |
</TR></TABLE>
|
|
7977 |
<H3> 9.3.1 DATA LIST FIXED </H3>
|
|
7978 |
<!--docid::SEC87::-->
|
|
7979 |
<P>
|
|
7980 |
|
|
7981 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DATA LIST [FIXED]
|
|
7982 |
{TABLE,NOTABLE}
|
|
7983 |
FILE='filename'
|
|
7984 |
RECORDS=record_count
|
|
7985 |
END=end_var
|
|
7986 |
/[line_no] var_spec<small>...</small>
|
|
7987 |
|
|
7988 |
where each var_spec takes one of the forms
|
|
7989 |
var_list start-end [type_spec]
|
|
7990 |
var_list (fortran_spec)
|
|
7991 |
</pre></td></tr></table><P>
|
|
7992 |
|
|
7993 |
DATA LIST FIXED is used to read data files that have values at fixed
|
|
7994 |
positions on each line of single-line or multiline records. The
|
|
7995 |
keyword FIXED is optional.
|
|
7996 |
</P>
|
|
7997 |
<P>
|
|
7998 |
|
|
7999 |
The FILE subcommand must be used if input is to be taken from an
|
|
8000 |
external file. It may be used to specify a filename as a string or a
|
|
8001 |
file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If the FILE subcommand is not used,
|
|
8002 |
then input is assumed to be specified within the command file using
|
|
8003 |
BEGIN DATA<small>...</small>END DATA (see section <A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A>).
|
|
8004 |
</P>
|
|
8005 |
<P>
|
|
8006 |
|
|
8007 |
The optional RECORDS subcommand, which takes a single integer as an
|
|
8008 |
argument, is used to specify the number of lines per record. If RECORDS
|
|
8009 |
is not specified, then the number of lines per record is calculated from
|
|
8010 |
the list of variable specifications later in the DATA LIST command.
|
|
8011 |
</P>
|
|
8012 |
<P>
|
|
8013 |
|
|
8014 |
The END subcommand is only useful in conjunction with the INPUT PROGRAM
|
|
8015 |
input procedure, and for that reason it is not discussed here
|
|
8016 |
(see section <A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A>).
|
|
8017 |
</P>
|
|
8018 |
<P>
|
|
8019 |
|
|
8020 |
DATA LIST can optionally output a table describing how the data file
|
|
8021 |
will be read. The TABLE subcommand enables this output, and NOTABLE
|
|
8022 |
disables it. The default is to output the table.
|
|
8023 |
</P>
|
|
8024 |
<P>
|
|
8025 |
|
|
8026 |
The list of variables to be read from the data list must come last in
|
|
8027 |
the DATA LIST command. Each line in the data record is introduced by a
|
|
8028 |
slash (`<SAMP>/</SAMP>'). Optionally, a line number may follow the slash.
|
|
8029 |
Following, any number of variable specifications may be present.
|
|
8030 |
</P>
|
|
8031 |
<P>
|
|
8032 |
|
|
8033 |
Each variable specification consists of a list of variable names
|
|
8034 |
followed by a description of their location on the input line. Sets of
|
|
8035 |
variables may specified using DATA LIST's TO convention (see section <A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A>). There are two ways to specify the location of the variable
|
|
8036 |
on the line: SPSS style and FORTRAN style.
|
|
8037 |
</P>
|
|
8038 |
<P>
|
|
8039 |
|
|
8040 |
With SPSS style, the starting column and ending column for the field
|
|
8041 |
are specified after the variable name, separated by a dash (`<SAMP>-</SAMP>').
|
|
8042 |
For instance, the third through fifth columns on a line would be
|
|
8043 |
specified `<SAMP>3-5</SAMP>'. By default, variables are considered to be in
|
|
8044 |
`<SAMP>F</SAMP>' format (see section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>). (This default can be
|
|
8045 |
changed; see <A HREF="pspp.html#SEC166">16.10 SET</A> for more information.)
|
|
8046 |
</P>
|
|
8047 |
<P>
|
|
8048 |
|
|
8049 |
When using SPSS style, to use a variable format other than the default,
|
|
8050 |
specify the format type in parentheses after the column numbers. For
|
|
8051 |
instance, for alphanumeric `<SAMP>A</SAMP>' format, use `<SAMP>(A)</SAMP>'.
|
|
8052 |
</P>
|
|
8053 |
<P>
|
|
8054 |
|
|
8055 |
In addition, implied decimal places can be specified in parentheses
|
|
8056 |
after the column numbers. As an example, suppose that a data file has a
|
|
8057 |
field in which the characters `<SAMP>1234</SAMP>' should be interpreted as
|
|
8058 |
having the value 12.34. Then this field has two implied decimal places,
|
|
8059 |
and the corresponding specification would be `<SAMP>(2)</SAMP>'. If a field
|
|
8060 |
that has implied decimal places contains a decimal point, then the
|
|
8061 |
implied decimal places are not applied.
|
|
8062 |
</P>
|
|
8063 |
<P>
|
|
8064 |
|
|
8065 |
Changing the variable format and adding implied decimal places can be
|
|
8066 |
done together; for instance, `<SAMP>(N,5)</SAMP>'.
|
|
8067 |
</P>
|
|
8068 |
<P>
|
|
8069 |
|
|
8070 |
When using SPSS style, the input and output width of each variable is
|
|
8071 |
computed from the field width. The field width must be evenly divisible
|
|
8072 |
into the number of variables specified.
|
|
8073 |
</P>
|
|
8074 |
<P>
|
|
8075 |
|
|
8076 |
FORTRAN style is an altogether different approach to specifying field
|
|
8077 |
locations. With this approach, a list of variable input format
|
|
8078 |
specifications, separated by commas, are placed after the variable names
|
|
8079 |
inside parentheses. Each format specifier advances as many characters
|
|
8080 |
into the input line as it uses.
|
|
8081 |
</P>
|
|
8082 |
<P>
|
|
8083 |
|
|
8084 |
In addition to the standard format specifiers (see section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>), FORTRAN style defines some extensions:
|
|
8085 |
</P>
|
|
8086 |
<P>
|
|
8087 |
|
|
8088 |
</P>
|
|
8089 |
<DL COMPACT>
|
|
8090 |
<DT><CODE>X</CODE>
|
|
8091 |
<DD>Advance the current column on this line by one character position.
|
|
8092 |
<P>
|
|
8093 |
|
|
8094 |
</P>
|
|
8095 |
<DT><CODE>T</CODE><VAR>x</VAR>
|
|
8096 |
<DD>Set the current column on this line to column <VAR>x</VAR>, with column
|
|
8097 |
numbers considered to begin with 1 at the left margin.
|
|
8098 |
<P>
|
|
8099 |
|
|
8100 |
</P>
|
|
8101 |
<DT><CODE>NEWREC</CODE><VAR>x</VAR>
|
|
8102 |
<DD>Skip forward <VAR>x</VAR> lines in the current record, resetting the active
|
|
8103 |
column to the left margin.
|
|
8104 |
<P>
|
|
8105 |
|
|
8106 |
</P>
|
|
8107 |
<DT>Repeat count
|
|
8108 |
<DD>Any format specifier may be preceded by a number. This causes the
|
|
8109 |
action of that format specifier to be repeated the specified number of
|
|
8110 |
times.
|
|
8111 |
<P>
|
|
8112 |
|
|
8113 |
</P>
|
|
8114 |
<DT>(<VAR>spec1</VAR>, <small>...</small>, <VAR>specN</VAR>)
|
|
8115 |
<DD>Group the given specifiers together. This is most useful when preceded
|
|
8116 |
by a repeat count. Groups may be nested arbitrarily.
|
|
8117 |
</DL>
|
|
8118 |
<P>
|
|
8119 |
|
|
8120 |
FORTRAN and SPSS styles may be freely intermixed. SPSS style leaves the
|
|
8121 |
active column immediately after the ending column specified. Record
|
|
8122 |
motion using <CODE>NEWREC</CODE> in FORTRAN style also applies to later
|
|
8123 |
FORTRAN and SPSS specifiers.
|
|
8124 |
|
|
8125 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
8126 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC88">Examples</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Examples of DATA LIST FIXED.</TD></TR>
|
|
8127 |
</TABLE>
|
|
8128 |
<P>
|
|
8129 |
|
|
8130 |
<A NAME="DATA LIST FIXED Examples"></A>
|
|
8131 |
<HR SIZE="6">
|
|
8132 |
<A NAME="SEC88"></A>
|
|
8133 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8134 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC87"> < </A>]</TD>
|
|
8135 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC89"> > </A>]</TD>
|
|
8136 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC87"> << </A>]</TD>
|
|
8137 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC87"> Up </A>]</TD>
|
|
8138 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD>
|
|
8139 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8140 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8141 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8142 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8143 |
</TR></TABLE>
|
|
8144 |
<H4> Examples </H4>
|
|
8145 |
<!--docid::SEC88::-->
|
|
8146 |
<P>
|
|
8147 |
|
|
8148 |
<OL>
|
|
8149 |
<LI>
|
|
8150 |
<TABLE><tr><td> </td><td class=example><pre>DATA LIST TABLE /NAME 1-10 (A) INFO1 TO INFO3 12-17 (1).
|
|
8151 |
|
|
8152 |
BEGIN DATA.
|
|
8153 |
John Smith 102311
|
|
8154 |
Bob Arnold 122015
|
|
8155 |
Bill Yates 918 6
|
|
8156 |
END DATA.
|
|
8157 |
</pre></td></tr></table><P>
|
|
8158 |
|
|
8159 |
Defines the following variables:
|
|
8160 |
</P>
|
|
8161 |
<P>
|
|
8162 |
|
|
8163 |
<UL>
|
|
8164 |
<LI>
|
|
8165 |
<CODE>NAME</CODE>, a 10-character-wide long string variable, in columns 1
|
|
8166 |
through 10.
|
|
8167 |
<P>
|
|
8168 |
|
|
8169 |
</P>
|
|
8170 |
<LI>
|
|
8171 |
<CODE>INFO1</CODE>, a numeric variable, in columns 12 through 13.
|
|
8172 |
<P>
|
|
8173 |
|
|
8174 |
</P>
|
|
8175 |
<LI>
|
|
8176 |
<CODE>INFO2</CODE>, a numeric variable, in columns 14 through 15.
|
|
8177 |
<P>
|
|
8178 |
|
|
8179 |
</P>
|
|
8180 |
<LI>
|
|
8181 |
<CODE>INFO3</CODE>, a numeric variable, in columns 16 through 17.
|
|
8182 |
</UL>
|
|
8183 |
<P>
|
|
8184 |
|
|
8185 |
The <CODE>BEGIN DATA</CODE>/<CODE>END DATA</CODE> commands cause three cases to be
|
|
8186 |
defined:
|
|
8187 |
</P>
|
|
8188 |
<P>
|
|
8189 |
|
|
8190 |
<TABLE><tr><td> </td><td class=example><pre>Case NAME INFO1 INFO2 INFO3
|
|
8191 |
1 John Smith 10 23 11
|
|
8192 |
2 Bob Arnold 12 20 15
|
|
8193 |
3 Bill Yates 9 18 6
|
|
8194 |
</pre></td></tr></table><P>
|
|
8195 |
|
|
8196 |
The <CODE>TABLE</CODE> keyword causes PSPP to print out a table
|
|
8197 |
describing the four variables defined.
|
|
8198 |
</P>
|
|
8199 |
<P>
|
|
8200 |
|
|
8201 |
</P>
|
|
8202 |
<LI>
|
|
8203 |
<TABLE><tr><td> </td><td class=example><pre>DAT LIS FIL="survey.dat"
|
|
8204 |
/ID 1-5 NAME 7-36 (A) SURNAME 38-67 (A) MINITIAL 69 (A)
|
|
8205 |
/Q01 TO Q50 7-56
|
|
8206 |
/.
|
|
8207 |
</pre></td></tr></table><P>
|
|
8208 |
|
|
8209 |
Defines the following variables:
|
|
8210 |
</P>
|
|
8211 |
<P>
|
|
8212 |
|
|
8213 |
<UL>
|
|
8214 |
<LI>
|
|
8215 |
<CODE>ID</CODE>, a numeric variable, in columns 1-5 of the first record.
|
|
8216 |
<P>
|
|
8217 |
|
|
8218 |
</P>
|
|
8219 |
<LI>
|
|
8220 |
<CODE>NAME</CODE>, a 30-character long string variable, in columns 7-36 of the
|
|
8221 |
first record.
|
|
8222 |
<P>
|
|
8223 |
|
|
8224 |
</P>
|
|
8225 |
<LI>
|
|
8226 |
<CODE>SURNAME</CODE>, a 30-character long string variable, in columns 38-67 of
|
|
8227 |
the first record.
|
|
8228 |
<P>
|
|
8229 |
|
|
8230 |
</P>
|
|
8231 |
<LI>
|
|
8232 |
<CODE>MINITIAL</CODE>, a 1-character short string variable, in column 69 of
|
|
8233 |
the first record.
|
|
8234 |
<P>
|
|
8235 |
|
|
8236 |
</P>
|
|
8237 |
<LI>
|
|
8238 |
Fifty variables <CODE>Q01</CODE>, <CODE>Q02</CODE>, <CODE>Q03</CODE>, <small>...</small>, <CODE>Q49</CODE>,
|
|
8239 |
<CODE>Q50</CODE>, all numeric, <CODE>Q01</CODE> in column 7, <CODE>Q02</CODE> in column 8,
|
|
8240 |
<small>...</small>, <CODE>Q49</CODE> in column 55, <CODE>Q50</CODE> in column 56, all in the second
|
|
8241 |
record.
|
|
8242 |
</UL>
|
|
8243 |
<P>
|
|
8244 |
|
|
8245 |
Cases are separated by a blank record.
|
|
8246 |
</P>
|
|
8247 |
<P>
|
|
8248 |
|
|
8249 |
Data is read from file `<TT>survey.dat</TT>' in the current directory.
|
|
8250 |
</P>
|
|
8251 |
<P>
|
|
8252 |
|
|
8253 |
This example shows keywords abbreviated to their first 3 letters.
|
|
8254 |
</P>
|
|
8255 |
<P>
|
|
8256 |
|
|
8257 |
</OL>
|
|
8258 |
<P>
|
|
8259 |
|
|
8260 |
<A NAME="DATA LIST FREE"></A>
|
|
8261 |
<HR SIZE="6">
|
|
8262 |
<A NAME="SEC89"></A>
|
|
8263 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8264 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC88"> < </A>]</TD>
|
|
8265 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC90"> > </A>]</TD>
|
|
8266 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8267 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC86"> Up </A>]</TD>
|
|
8268 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8269 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8270 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8271 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8272 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8273 |
</TR></TABLE>
|
|
8274 |
<H3> 9.3.2 DATA LIST FREE </H3>
|
|
8275 |
<!--docid::SEC89::-->
|
|
8276 |
<P>
|
|
8277 |
|
|
8278 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DATA LIST FREE
|
|
8279 |
[{NOTABLE,TABLE}]
|
|
8280 |
FILE='filename'
|
|
8281 |
END=end_var
|
|
8282 |
/var_spec<small>...</small>
|
|
8283 |
|
|
8284 |
where each var_spec takes one of the forms
|
|
8285 |
var_list [(type_spec)]
|
|
8286 |
var_list *
|
|
8287 |
</pre></td></tr></table><P>
|
|
8288 |
|
|
8289 |
In free format, the input data is structured as a series of comma- or
|
|
8290 |
whitespace-delimited fields (end of line is one form of whitespace; it
|
|
8291 |
is not treated specially). Field contents may be surrounded by matched
|
|
8292 |
pairs of apostrophes (`<SAMP>'</SAMP>') or quotes (`<SAMP>"</SAMP>'), or they may be
|
|
8293 |
unenclosed. For any type of field leading white space (up to the
|
|
8294 |
apostrophe or quote, if any) is not included in the field.
|
|
8295 |
</P>
|
|
8296 |
<P>
|
|
8297 |
|
|
8298 |
Multiple consecutive delimiters are equivalent to a single delimiter.
|
|
8299 |
To specify an empty field, write an empty set of single or double
|
|
8300 |
quotes; for instance, `<SAMP>""</SAMP>'.
|
|
8301 |
</P>
|
|
8302 |
<P>
|
|
8303 |
|
|
8304 |
The NOTABLE and TABLE subcommands are as in DATA LIST FIXED above.
|
|
8305 |
NOTABLE is the default.
|
|
8306 |
</P>
|
|
8307 |
<P>
|
|
8308 |
|
|
8309 |
The FILE and END subcommands are as in DATA LIST FIXED above.
|
|
8310 |
</P>
|
|
8311 |
<P>
|
|
8312 |
|
|
8313 |
The variables to be parsed are given as a single list of variable names.
|
|
8314 |
This list must be introduced by a single slash (`<SAMP>/</SAMP>'). The set of
|
|
8315 |
variable names may contain format specifications in parentheses
|
|
8316 |
(see section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>). Format specifications apply to all
|
|
8317 |
variables back to the previous parenthesized format specification.
|
|
8318 |
</P>
|
|
8319 |
<P>
|
|
8320 |
|
|
8321 |
In addition, an asterisk may be used to indicate that all variables
|
|
8322 |
preceding it are to have input/output format `<SAMP>F8.0</SAMP>'.
|
|
8323 |
</P>
|
|
8324 |
<P>
|
|
8325 |
|
|
8326 |
Specified field widths are ignored on input, although all normal limits
|
|
8327 |
on field width apply, but they are honored on output.
|
|
8328 |
</P>
|
|
8329 |
<P>
|
|
8330 |
|
|
8331 |
<A NAME="DATA LIST LIST"></A>
|
|
8332 |
<HR SIZE="6">
|
|
8333 |
<A NAME="SEC90"></A>
|
|
8334 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8335 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC89"> < </A>]</TD>
|
|
8336 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC91"> > </A>]</TD>
|
|
8337 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8338 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC86"> Up </A>]</TD>
|
|
8339 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8340 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8341 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8342 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8343 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8344 |
</TR></TABLE>
|
|
8345 |
<H3> 9.3.3 DATA LIST LIST </H3>
|
|
8346 |
<!--docid::SEC90::-->
|
|
8347 |
<P>
|
|
8348 |
|
|
8349 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DATA LIST LIST
|
|
8350 |
[{NOTABLE,TABLE}]
|
|
8351 |
FILE='filename'
|
|
8352 |
END=end_var
|
|
8353 |
/var_spec<small>...</small>
|
|
8354 |
|
|
8355 |
where each var_spec takes one of the forms
|
|
8356 |
var_list [(type_spec)]
|
|
8357 |
var_list *
|
|
8358 |
</pre></td></tr></table><P>
|
|
8359 |
|
|
8360 |
Syntactically and semantically, DATA LIST LIST is equivalent to DATA
|
|
8361 |
LIST FREE, with one exception: each input line is expected to correspond
|
|
8362 |
to exactly one input record. If more or fewer fields are found on an
|
|
8363 |
input line than expected, an appropriate diagnostic is issued.
|
|
8364 |
</P>
|
|
8365 |
<P>
|
|
8366 |
|
|
8367 |
<A NAME="END CASE"></A>
|
|
8368 |
<HR SIZE="6">
|
|
8369 |
<A NAME="SEC91"></A>
|
|
8370 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8371 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC90"> < </A>]</TD>
|
|
8372 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC92"> > </A>]</TD>
|
|
8373 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8374 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8375 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8376 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8377 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8378 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8379 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8380 |
</TR></TABLE>
|
|
8381 |
<H2> 9.4 END CASE </H2>
|
|
8382 |
<!--docid::SEC91::-->
|
|
8383 |
<P>
|
|
8384 |
|
|
8385 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">END CASE.
|
|
8386 |
</pre></td></tr></table><P>
|
|
8387 |
|
|
8388 |
END CASE is used within INPUT PROGRAM to output the current case.
|
|
8389 |
See section <A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A>.
|
|
8390 |
</P>
|
|
8391 |
<P>
|
|
8392 |
|
|
8393 |
<A NAME="END FILE"></A>
|
|
8394 |
<HR SIZE="6">
|
|
8395 |
<A NAME="SEC92"></A>
|
|
8396 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8397 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC91"> < </A>]</TD>
|
|
8398 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC93"> > </A>]</TD>
|
|
8399 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8400 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8401 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8402 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8403 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8404 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8405 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8406 |
</TR></TABLE>
|
|
8407 |
<H2> 9.5 END FILE </H2>
|
|
8408 |
<!--docid::SEC92::-->
|
|
8409 |
<P>
|
|
8410 |
|
|
8411 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">END FILE.
|
|
8412 |
</pre></td></tr></table><P>
|
|
8413 |
|
|
8414 |
END FILE is used within INPUT PROGRAM to terminate the current input
|
|
8415 |
program. See section <A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A>.
|
|
8416 |
</P>
|
|
8417 |
<P>
|
|
8418 |
|
|
8419 |
<A NAME="FILE HANDLE"></A>
|
|
8420 |
<HR SIZE="6">
|
|
8421 |
<A NAME="SEC93"></A>
|
|
8422 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8423 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC92"> < </A>]</TD>
|
|
8424 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC94"> > </A>]</TD>
|
|
8425 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8426 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8427 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8428 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8429 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8430 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8431 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8432 |
</TR></TABLE>
|
|
8433 |
<H2> 9.6 FILE HANDLE </H2>
|
|
8434 |
<!--docid::SEC93::-->
|
|
8435 |
<P>
|
|
8436 |
|
|
8437 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FILE HANDLE handle_name
|
|
8438 |
/NAME='filename'
|
|
8439 |
/RECFORM={VARIABLE,FIXED,SPANNED}
|
|
8440 |
/LRECL=rec_len
|
|
8441 |
/MODE={CHARACTER,IMAGE,BINARY,MULTIPUNCH,360}
|
|
8442 |
</pre></td></tr></table><P>
|
|
8443 |
|
|
8444 |
Use the FILE HANDLE command to define the attributes of a file that does
|
|
8445 |
not use conventional variable-length records terminated by newline
|
|
8446 |
characters.
|
|
8447 |
</P>
|
|
8448 |
<P>
|
|
8449 |
|
|
8450 |
Specify the file handle name as an identifier. Any given identifier may
|
|
8451 |
only appear once in a PSPP run. File handles may not be reassigned to a
|
|
8452 |
different file. The file handle name must immediately follow the FILE
|
|
8453 |
HANDLE command name.
|
|
8454 |
</P>
|
|
8455 |
<P>
|
|
8456 |
|
|
8457 |
The NAME subcommand specifies the name of the file associated with the
|
|
8458 |
handle. It is the only required subcommand.
|
|
8459 |
</P>
|
|
8460 |
<P>
|
|
8461 |
|
|
8462 |
The RECFORM subcommand specifies how the file is laid out. VARIABLE
|
|
8463 |
specifies variable-length lines terminated with newlines, and it is the
|
|
8464 |
default. FIXED specifies fixed-length records. SPANNED is not
|
|
8465 |
supported.
|
|
8466 |
</P>
|
|
8467 |
<P>
|
|
8468 |
|
|
8469 |
LRECL specifies the length of fixed-length records. It is required if
|
|
8470 |
<CODE>/RECFORM FIXED</CODE> is specified.
|
|
8471 |
</P>
|
|
8472 |
<P>
|
|
8473 |
|
|
8474 |
MODE specifies a file mode. CHARACTER, the default, causes the data
|
|
8475 |
file to be opened in ANSI C text mode. BINARY causes the data file to
|
|
8476 |
be opened in ANSI C binary mode. The other possibilities are not
|
|
8477 |
supported.
|
|
8478 |
</P>
|
|
8479 |
<P>
|
|
8480 |
|
|
8481 |
<A NAME="INPUT PROGRAM"></A>
|
|
8482 |
<HR SIZE="6">
|
|
8483 |
<A NAME="SEC94"></A>
|
|
8484 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8485 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC93"> < </A>]</TD>
|
|
8486 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC95"> > </A>]</TD>
|
|
8487 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8488 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8489 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8490 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8491 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8492 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8493 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8494 |
</TR></TABLE>
|
|
8495 |
<H2> 9.7 INPUT PROGRAM </H2>
|
|
8496 |
<!--docid::SEC94::-->
|
|
8497 |
<P>
|
|
8498 |
|
|
8499 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">INPUT PROGRAM.
|
|
8500 |
<small>...</small> input commands <small>...</small>
|
|
8501 |
END INPUT PROGRAM.
|
|
8502 |
</pre></td></tr></table><P>
|
|
8503 |
|
|
8504 |
The INPUT PROGRAM<small>...</small>END INPUT PROGRAM construct is used to specify a
|
|
8505 |
complex input program. By placing data input commands within INPUT
|
|
8506 |
PROGRAM, PSPP programs can take advantage of more complex file
|
|
8507 |
structures than available by using DATA LIST by itself.
|
|
8508 |
</P>
|
|
8509 |
<P>
|
|
8510 |
|
|
8511 |
The first sort of extended input program is to simply put multiple DATA
|
|
8512 |
LIST commands within the INPUT PROGRAM. This will cause all of the data
|
|
8513 |
files to be read in parallel. Input will stop when end of file is
|
|
8514 |
reached on any of the data files.
|
|
8515 |
</P>
|
|
8516 |
<P>
|
|
8517 |
|
|
8518 |
Transformations, such as conditional and looping constructs, can also be
|
|
8519 |
included within an INPUT PROGRAM. These can be used to combine input
|
|
8520 |
from several data files in more complex ways. However, input will still
|
|
8521 |
stop when end of file is reached on any of the data files.
|
|
8522 |
</P>
|
|
8523 |
<P>
|
|
8524 |
|
|
8525 |
To prevent INPUT PROGRAM from terminating at the first end of file, use
|
|
8526 |
the END subcommand on DATA LIST. This subcommand takes a variable name,
|
|
8527 |
which should be a numeric scratch variable (see section <A HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A>).
|
|
8528 |
(It need not be a scratch variable but otherwise the results can be
|
|
8529 |
surprising.) The value of this variable is set to 0 when reading the
|
|
8530 |
data file, or 1 when end of file is encountered.
|
|
8531 |
</P>
|
|
8532 |
<P>
|
|
8533 |
|
|
8534 |
Some additional commands are useful in conjunction with INPUT PROGRAM.
|
|
8535 |
END CASE is the first one. Normally each loop through the INPUT PROGRAM
|
|
8536 |
structure produces one case. But with END CASE you can control exactly
|
|
8537 |
when cases are output. When END CASE is used, looping from the end of
|
|
8538 |
INPUT PROGRAM to the beginning does not cause a case to be output.
|
|
8539 |
</P>
|
|
8540 |
<P>
|
|
8541 |
|
|
8542 |
END FILE is the other command. When the END subcommand is used on DATA
|
|
8543 |
LIST, there is no way for the INPUT PROGRAM construct to stop looping,
|
|
8544 |
so an infinite loop results. The END FILE command, when executed,
|
|
8545 |
stops the flow of input data and passes out of the INPUT PROGRAM
|
|
8546 |
structure.
|
|
8547 |
</P>
|
|
8548 |
<P>
|
|
8549 |
|
|
8550 |
All this is very confusing. A few examples should help to clarify.
|
|
8551 |
</P>
|
|
8552 |
<P>
|
|
8553 |
|
|
8554 |
<TABLE><tr><td> </td><td class=example><pre>INPUT PROGRAM.
|
|
8555 |
DATA LIST NOTABLE FILE='a.data'/X 1-10.
|
|
8556 |
DATA LIST NOTABLE FILE='b.data'/Y 1-10.
|
|
8557 |
END INPUT PROGRAM.
|
|
8558 |
LIST.
|
|
8559 |
</pre></td></tr></table><P>
|
|
8560 |
|
|
8561 |
The example above reads variable X from file `<TT>a.data</TT>' and variable
|
|
8562 |
Y from file `<TT>b.data</TT>'. If one file is shorter than the other then
|
|
8563 |
the extra data in the longer file is ignored.
|
|
8564 |
</P>
|
|
8565 |
<P>
|
|
8566 |
|
|
8567 |
<TABLE><tr><td> </td><td class=example><pre>INPUT PROGRAM.
|
|
8568 |
NUMERIC #A #B.
|
|
8569 |
|
|
8570 |
DO IF NOT #A.
|
|
8571 |
DATA LIST NOTABLE END=#A FILE='a.data'/X 1-10.
|
|
8572 |
END IF.
|
|
8573 |
DO IF NOT #B.
|
|
8574 |
DATA LIST NOTABLE END=#B FILE='b.data'/Y 1-10.
|
|
8575 |
END IF.
|
|
8576 |
DO IF #A AND #B.
|
|
8577 |
END FILE.
|
|
8578 |
END IF.
|
|
8579 |
END CASE.
|
|
8580 |
END INPUT PROGRAM.
|
|
8581 |
LIST.
|
|
8582 |
</pre></td></tr></table><P>
|
|
8583 |
|
|
8584 |
This example reads variable X from `<TT>a.data</TT>' and variable Y from
|
|
8585 |
`<TT>b.data</TT>'. If one file is shorter than the other then the missing
|
|
8586 |
field is set to the system-missing value alongside the present value for
|
|
8587 |
the remaining length of the longer file.
|
|
8588 |
</P>
|
|
8589 |
<P>
|
|
8590 |
|
|
8591 |
<TABLE><tr><td> </td><td class=example><pre>INPUT PROGRAM.
|
|
8592 |
NUMERIC #A #B.
|
|
8593 |
|
|
8594 |
DO IF #A.
|
|
8595 |
DATA LIST NOTABLE END=#B FILE='b.data'/X 1-10.
|
|
8596 |
DO IF #B.
|
|
8597 |
END FILE.
|
|
8598 |
ELSE.
|
|
8599 |
END CASE.
|
|
8600 |
END IF.
|
|
8601 |
ELSE.
|
|
8602 |
DATA LIST NOTABLE END=#A FILE='a.data'/X 1-10.
|
|
8603 |
DO IF NOT #A.
|
|
8604 |
END CASE.
|
|
8605 |
END IF.
|
|
8606 |
END IF.
|
|
8607 |
END INPUT PROGRAM.
|
|
8608 |
LIST.
|
|
8609 |
</pre></td></tr></table><P>
|
|
8610 |
|
|
8611 |
The above example reads data from file `<TT>a.data</TT>', then from
|
|
8612 |
`<TT>b.data</TT>', and concatenates them into a single active file.
|
|
8613 |
</P>
|
|
8614 |
<P>
|
|
8615 |
|
|
8616 |
<TABLE><tr><td> </td><td class=example><pre>INPUT PROGRAM.
|
|
8617 |
NUMERIC #EOF.
|
|
8618 |
|
|
8619 |
LOOP IF NOT #EOF.
|
|
8620 |
DATA LIST NOTABLE END=#EOF FILE='a.data'/X 1-10.
|
|
8621 |
DO IF NOT #EOF.
|
|
8622 |
END CASE.
|
|
8623 |
END IF.
|
|
8624 |
END LOOP.
|
|
8625 |
|
|
8626 |
COMPUTE #EOF = 0.
|
|
8627 |
LOOP IF NOT #EOF.
|
|
8628 |
DATA LIST NOTABLE END=#EOF FILE='b.data'/X 1-10.
|
|
8629 |
DO IF NOT #EOF.
|
|
8630 |
END CASE.
|
|
8631 |
END IF.
|
|
8632 |
END LOOP.
|
|
8633 |
|
|
8634 |
END FILE.
|
|
8635 |
END INPUT PROGRAM.
|
|
8636 |
LIST.
|
|
8637 |
</pre></td></tr></table><P>
|
|
8638 |
|
|
8639 |
The above example does the same thing as the previous example, in a
|
|
8640 |
different way.
|
|
8641 |
</P>
|
|
8642 |
<P>
|
|
8643 |
|
|
8644 |
<TABLE><tr><td> </td><td class=example><pre>INPUT PROGRAM.
|
|
8645 |
LOOP #I=1 TO 50.
|
|
8646 |
COMPUTE X=UNIFORM(10).
|
|
8647 |
END CASE.
|
|
8648 |
END LOOP.
|
|
8649 |
END FILE.
|
|
8650 |
END INPUT PROGRAM.
|
|
8651 |
LIST/FORMAT=NUMBERED.
|
|
8652 |
</pre></td></tr></table><P>
|
|
8653 |
|
|
8654 |
The above example causes an active file to be created consisting of 50
|
|
8655 |
random variates between 0 and 10.
|
|
8656 |
</P>
|
|
8657 |
<P>
|
|
8658 |
|
|
8659 |
<A NAME="LIST"></A>
|
|
8660 |
<HR SIZE="6">
|
|
8661 |
<A NAME="SEC95"></A>
|
|
8662 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8663 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC94"> < </A>]</TD>
|
|
8664 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC96"> > </A>]</TD>
|
|
8665 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8666 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8667 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8668 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8669 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8670 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8671 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8672 |
</TR></TABLE>
|
|
8673 |
<H2> 9.8 LIST </H2>
|
|
8674 |
<!--docid::SEC95::-->
|
|
8675 |
<P>
|
|
8676 |
|
|
8677 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">LIST
|
|
8678 |
/VARIABLES=var_list
|
|
8679 |
/CASES=FROM start_index TO end_index BY incr_index
|
|
8680 |
/FORMAT={UNNUMBERED,NUMBERED} {WRAP,SINGLE}
|
|
8681 |
{NOWEIGHT,WEIGHT}
|
|
8682 |
</pre></td></tr></table><P>
|
|
8683 |
|
|
8684 |
The LIST procedure prints the values of specified variables to the
|
|
8685 |
listing file.
|
|
8686 |
</P>
|
|
8687 |
<P>
|
|
8688 |
|
|
8689 |
The VARIABLES subcommand specifies the variables whose values are to be
|
|
8690 |
printed. Keyword VARIABLES is optional. If VARIABLES subcommand is not
|
|
8691 |
specified then all variables in the active file are printed.
|
|
8692 |
</P>
|
|
8693 |
<P>
|
|
8694 |
|
|
8695 |
The CASES subcommand can be used to specify a subset of cases to be
|
|
8696 |
printed. Specify FROM and the case number of the first case to print,
|
|
8697 |
TO and the case number of the last case to print, and BY and the number
|
|
8698 |
of cases to advance between printing cases, or any subset of those
|
|
8699 |
settings. If CASES is not specified then all cases are printed.
|
|
8700 |
</P>
|
|
8701 |
<P>
|
|
8702 |
|
|
8703 |
The FORMAT subcommand can be used to change the output format. NUMBERED
|
|
8704 |
will print case numbers along with each case; UNNUMBERED, the default,
|
|
8705 |
causes the case numbers to be omitted. The WRAP and SINGLE settings are
|
|
8706 |
currently not used. WEIGHT will cause case weights to be printed along
|
|
8707 |
with variable values; NOWEIGHT, the default, causes case weights to be
|
|
8708 |
omitted from the output.
|
|
8709 |
</P>
|
|
8710 |
<P>
|
|
8711 |
|
|
8712 |
Case numbers start from 1. They are counted after all transformations
|
|
8713 |
have been considered.
|
|
8714 |
</P>
|
|
8715 |
<P>
|
|
8716 |
|
|
8717 |
LIST will attempt to fit all the values on a single line. If necessary,
|
|
8718 |
variable names will be display vertically in order to fit. If values
|
|
8719 |
cannot fit on a single line, then a multi-line format will be used.
|
|
8720 |
</P>
|
|
8721 |
<P>
|
|
8722 |
|
|
8723 |
LIST is a procedure. It causes the data to be read.
|
|
8724 |
</P>
|
|
8725 |
<P>
|
|
8726 |
|
|
8727 |
<A NAME="MATRIX DATA"></A>
|
|
8728 |
<HR SIZE="6">
|
|
8729 |
<A NAME="SEC96"></A>
|
|
8730 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8731 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC95"> < </A>]</TD>
|
|
8732 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC97"> > </A>]</TD>
|
|
8733 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8734 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8735 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8736 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8737 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8738 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8739 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8740 |
</TR></TABLE>
|
|
8741 |
<H2> 9.9 MATRIX DATA </H2>
|
|
8742 |
<!--docid::SEC96::-->
|
|
8743 |
<P>
|
|
8744 |
|
|
8745 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">MATRIX DATA
|
|
8746 |
/VARIABLES=var_list
|
|
8747 |
/FILE='filename'
|
|
8748 |
/FORMAT={LIST,FREE} {LOWER,UPPER,FULL} {DIAGONAL,NODIAGONAL}
|
|
8749 |
/SPLIT={new_var,var_list}
|
|
8750 |
/FACTORS=var_list
|
|
8751 |
/CELLS=n_cells
|
|
8752 |
/N=n
|
|
8753 |
/CONTENTS={N_VECTOR,N_SCALAR,N_MATRIX,MEAN,STDDEV,COUNT,MSE,
|
|
8754 |
DFE,MAT,COV,CORR,PROX}
|
|
8755 |
</pre></td></tr></table><P>
|
|
8756 |
|
|
8757 |
The MATRIX DATA command reads square matrices in one of several textual
|
|
8758 |
formats. MATRIX DATA clears the dictionary and replaces it and reads a
|
|
8759 |
data file.
|
|
8760 |
</P>
|
|
8761 |
<P>
|
|
8762 |
|
|
8763 |
Use VARIABLES to specify the variables that form the rows and columns of
|
|
8764 |
the matrices. You may not specify a variable named VARNAME_. You
|
|
8765 |
should specify VARIABLES first.
|
|
8766 |
</P>
|
|
8767 |
<P>
|
|
8768 |
|
|
8769 |
Specify the file to read on FILE, either as a file name string or a file
|
|
8770 |
handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If FILE is not specified then matrix data
|
|
8771 |
must immediately follow MATRIX DATA with a BEGIN DATA<small>...</small>END DATA
|
|
8772 |
construct (see section <A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A>).
|
|
8773 |
</P>
|
|
8774 |
<P>
|
|
8775 |
|
|
8776 |
The FORMAT subcommand specifies how the matrices are formatted. LIST,
|
|
8777 |
the default, indicates that there is one line per row of matrix data;
|
|
8778 |
FREE allows single matrix rows to be broken across multiple lines. This
|
|
8779 |
is analogous to the difference between DATA LIST FREE and DATA LIST LIST
|
|
8780 |
(see section <A HREF="pspp.html#SEC86">9.3 DATA LIST</A>). LOWER, the default, indicates that the lower
|
|
8781 |
triangle of the matrix is given; UPPER indicates the upper triangle; and
|
|
8782 |
FULL indicates that the entire matrix is given. DIAGONAL, the default,
|
|
8783 |
indicates that the diagonal is part of the data; NODIAGONAL indicates
|
|
8784 |
that it is omitted. DIAGONAL/NODIAGONAL have no effect when FULL is
|
|
8785 |
specified.
|
|
8786 |
</P>
|
|
8787 |
<P>
|
|
8788 |
|
|
8789 |
The SPLIT subcommand is used to specify SPLIT FILE variables for the
|
|
8790 |
input matrices (see section <A HREF="pspp.html#SEC144">13.6 SPLIT FILE</A>). Specify either a single variable
|
|
8791 |
not specified on VARIABLES, or one or more variables that are specified
|
|
8792 |
on VARIABLES. In the former case, the SPLIT values are not present in
|
|
8793 |
the data and ROWTYPE_ may not be specified on VARIABLES. In the latter
|
|
8794 |
case, the SPLIT values are present in the data.
|
|
8795 |
</P>
|
|
8796 |
<P>
|
|
8797 |
|
|
8798 |
Specify a list of factor variables on FACTORS. Factor variables must
|
|
8799 |
also be listed on VARIABLES. Factor variables are used when there are
|
|
8800 |
some variables where, for each possible combination of their values,
|
|
8801 |
statistics on the matrix variables are included in the data.
|
|
8802 |
</P>
|
|
8803 |
<P>
|
|
8804 |
|
|
8805 |
If FACTORS is specified and ROWTYPE_ is not specified on VARIABLES, the
|
|
8806 |
CELLS subcommand is required. Specify the number of factor variable
|
|
8807 |
combinations that are given. For instance, if factor variable A has 2
|
|
8808 |
values and factor variable B has 3 values, specify 6.
|
|
8809 |
</P>
|
|
8810 |
<P>
|
|
8811 |
|
|
8812 |
The N subcommand specifies a population number of observations. When N
|
|
8813 |
is specified, one N record is output for each SPLIT FILE.
|
|
8814 |
</P>
|
|
8815 |
<P>
|
|
8816 |
|
|
8817 |
Use CONTENTS to specify what sort of information the matrices include.
|
|
8818 |
Each possible option is described in more detail below. When ROWTYPE_
|
|
8819 |
is specified on VARIABLES, CONTENTS is optional; otherwise, if CONTENTS
|
|
8820 |
is not specified then /CONTENTS=CORR is assumed.
|
|
8821 |
</P>
|
|
8822 |
<P>
|
|
8823 |
|
|
8824 |
</P>
|
|
8825 |
<DL COMPACT>
|
|
8826 |
<DT>N
|
|
8827 |
<DD><DT>N_VECTOR
|
|
8828 |
<DD>Number of observations as a vector, one value for each variable.
|
|
8829 |
<DT>N_SCALAR
|
|
8830 |
<DD>Number of observations as a single value.
|
|
8831 |
<DT>N_MATRIX
|
|
8832 |
<DD>Matrix of counts.
|
|
8833 |
<DT>MEAN
|
|
8834 |
<DD>Vector of means.
|
|
8835 |
<DT>STDDEV
|
|
8836 |
<DD>Vector of standard deviations.
|
|
8837 |
<DT>COUNT
|
|
8838 |
<DD>Vector of counts.
|
|
8839 |
<DT>MSE
|
|
8840 |
<DD>Vector of mean squared errors.
|
|
8841 |
<DT>DFE
|
|
8842 |
<DD>Vector of degrees of freedom.
|
|
8843 |
<DT>MAT
|
|
8844 |
<DD>Generic matrix.
|
|
8845 |
<DT>COV
|
|
8846 |
<DD>Covariance matrix.
|
|
8847 |
<DT>CORR
|
|
8848 |
<DD>Correlation matrix.
|
|
8849 |
<DT>PROX
|
|
8850 |
<DD>Proximities matrix.
|
|
8851 |
</DL>
|
|
8852 |
<P>
|
|
8853 |
|
|
8854 |
The exact semantics of the matrices read by MATRIX DATA are complex.
|
|
8855 |
Right now MATRIX DATA isn't too useful due to a lack of procedures
|
|
8856 |
accepting or producing related data, so these semantics aren't
|
|
8857 |
documented. Later, they'll be described here in detail.
|
|
8858 |
</P>
|
|
8859 |
<P>
|
|
8860 |
|
|
8861 |
<A NAME="NEW FILE"></A>
|
|
8862 |
<HR SIZE="6">
|
|
8863 |
<A NAME="SEC97"></A>
|
|
8864 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8865 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC96"> < </A>]</TD>
|
|
8866 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC98"> > </A>]</TD>
|
|
8867 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8868 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8869 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8870 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8871 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8872 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8873 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8874 |
</TR></TABLE>
|
|
8875 |
<H2> 9.10 NEW FILE </H2>
|
|
8876 |
<!--docid::SEC97::-->
|
|
8877 |
<P>
|
|
8878 |
|
|
8879 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">NEW FILE.
|
|
8880 |
</pre></td></tr></table><P>
|
|
8881 |
|
|
8882 |
The NEW FILE command clears the current active file.
|
|
8883 |
</P>
|
|
8884 |
<P>
|
|
8885 |
|
|
8886 |
<A NAME="PRINT"></A>
|
|
8887 |
<HR SIZE="6">
|
|
8888 |
<A NAME="SEC98"></A>
|
|
8889 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8890 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC97"> < </A>]</TD>
|
|
8891 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC99"> > </A>]</TD>
|
|
8892 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8893 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8894 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8895 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8896 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8897 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8898 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8899 |
</TR></TABLE>
|
|
8900 |
<H2> 9.11 PRINT </H2>
|
|
8901 |
<!--docid::SEC98::-->
|
|
8902 |
<P>
|
|
8903 |
|
|
8904 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">PRINT
|
|
8905 |
OUTFILE='filename'
|
|
8906 |
RECORDS=n_lines
|
|
8907 |
{NOTABLE,TABLE}
|
|
8908 |
/[line_no] arg<small>...</small>
|
|
8909 |
|
|
8910 |
arg takes one of the following forms:
|
|
8911 |
'string' [start-end]
|
|
8912 |
var_list start-end [type_spec]
|
|
8913 |
var_list (fortran_spec)
|
|
8914 |
var_list *
|
|
8915 |
</pre></td></tr></table><P>
|
|
8916 |
|
|
8917 |
The PRINT transformation writes variable data to an output file. PRINT
|
|
8918 |
is executed when a procedure causes the data to be read. In order to
|
|
8919 |
execute the PRINT transformation without invoking a procedure, use the
|
|
8920 |
EXECUTE command (see section <A HREF="pspp.html#SEC162">16.6 EXECUTE</A>).
|
|
8921 |
</P>
|
|
8922 |
<P>
|
|
8923 |
|
|
8924 |
All PRINT subcommands are optional.
|
|
8925 |
</P>
|
|
8926 |
<P>
|
|
8927 |
|
|
8928 |
The OUTFILE subcommand specifies the file to receive the output. The
|
|
8929 |
file may be a file name as a string or a file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If OUTFILE is not present then output will be sent to PSPP's
|
|
8930 |
output listing file.
|
|
8931 |
</P>
|
|
8932 |
<P>
|
|
8933 |
|
|
8934 |
The RECORDS subcommand specifies the number of lines to be output. The
|
|
8935 |
number of lines may optionally be surrounded by parentheses.
|
|
8936 |
</P>
|
|
8937 |
<P>
|
|
8938 |
|
|
8939 |
TABLE will cause the PRINT command to output a table to the listing file
|
|
8940 |
that describes what it will print to the output file. NOTABLE, the
|
|
8941 |
default, suppresses this output table.
|
|
8942 |
</P>
|
|
8943 |
<P>
|
|
8944 |
|
|
8945 |
Introduce the strings and variables to be printed with a slash
|
|
8946 |
(`<SAMP>/</SAMP>'). Optionally, the slash may be followed by a number
|
|
8947 |
indicating which output line will be specified. In the absence of this
|
|
8948 |
line number, the next line number will be specified. Multiple lines may
|
|
8949 |
be specified using multiple slashes with the intended output for a line
|
|
8950 |
following its respective slash.
|
|
8951 |
</P>
|
|
8952 |
<P>
|
|
8953 |
|
|
8954 |
Literal strings may be printed. Specify the string itself. Optionally
|
|
8955 |
the string may be followed by a column number or range of column
|
|
8956 |
numbers, specifying the location on the line for the string to be
|
|
8957 |
printed. Otherwise, the string will be printed at the current position
|
|
8958 |
on the line.
|
|
8959 |
</P>
|
|
8960 |
<P>
|
|
8961 |
|
|
8962 |
Variables to be printed can be specified in the same ways as available
|
|
8963 |
for DATA LIST FIXED (see section <A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A>). In addition, a variable
|
|
8964 |
list may be followed by an asterisk (`<SAMP>*</SAMP>'), which indicates that the
|
|
8965 |
variables should be printed in their dictionary print formats, separated
|
|
8966 |
by spaces. A variable list followed by a slash or the end of command
|
|
8967 |
will be interpreted the same way.
|
|
8968 |
</P>
|
|
8969 |
<P>
|
|
8970 |
|
|
8971 |
If a FORTRAN type specification is used to move backwards on the current
|
|
8972 |
line, then text is written at that point on the line, the line will be
|
|
8973 |
truncated to that length, although additional text being added will
|
|
8974 |
again extend the line to that length.
|
|
8975 |
</P>
|
|
8976 |
<P>
|
|
8977 |
|
|
8978 |
<A NAME="PRINT EJECT"></A>
|
|
8979 |
<HR SIZE="6">
|
|
8980 |
<A NAME="SEC99"></A>
|
|
8981 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
8982 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC98"> < </A>]</TD>
|
|
8983 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC100"> > </A>]</TD>
|
|
8984 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
8985 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
8986 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
8987 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
8988 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
8989 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
8990 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
8991 |
</TR></TABLE>
|
|
8992 |
<H2> 9.12 PRINT EJECT </H2>
|
|
8993 |
<!--docid::SEC99::-->
|
|
8994 |
<P>
|
|
8995 |
|
|
8996 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">PRINT EJECT
|
|
8997 |
OUTFILE='filename'
|
|
8998 |
RECORDS=n_lines
|
|
8999 |
{NOTABLE,TABLE}
|
|
9000 |
/[line_no] arg<small>...</small>
|
|
9001 |
|
|
9002 |
arg takes one of the following forms:
|
|
9003 |
'string' [start-end]
|
|
9004 |
var_list start-end [type_spec]
|
|
9005 |
var_list (fortran_spec)
|
|
9006 |
var_list *
|
|
9007 |
</pre></td></tr></table><P>
|
|
9008 |
|
|
9009 |
PRINT EJECT is used to write data to an output file. Before the data is
|
|
9010 |
written, the current page in the listing file is ejected.
|
|
9011 |
</P>
|
|
9012 |
<P>
|
|
9013 |
|
|
9014 |
See section <A HREF="pspp.html#SEC98">9.11 PRINT</A>, for more information on syntax and usage.
|
|
9015 |
</P>
|
|
9016 |
<P>
|
|
9017 |
|
|
9018 |
<A NAME="PRINT SPACE"></A>
|
|
9019 |
<HR SIZE="6">
|
|
9020 |
<A NAME="SEC100"></A>
|
|
9021 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9022 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC99"> < </A>]</TD>
|
|
9023 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC101"> > </A>]</TD>
|
|
9024 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
9025 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
9026 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
9027 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9028 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9029 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9030 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9031 |
</TR></TABLE>
|
|
9032 |
<H2> 9.13 PRINT SPACE </H2>
|
|
9033 |
<!--docid::SEC100::-->
|
|
9034 |
<P>
|
|
9035 |
|
|
9036 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">PRINT SPACE OUTFILE='filename' n_lines.
|
|
9037 |
</pre></td></tr></table><P>
|
|
9038 |
|
|
9039 |
The PRINT SPACE prints one or more blank lines to an output file.
|
|
9040 |
</P>
|
|
9041 |
<P>
|
|
9042 |
|
|
9043 |
The OUTFILE subcommand is optional. It may be used to direct output to
|
|
9044 |
a file specified by file name as a string or file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If OUTFILE is not specified then output will be directed to
|
|
9045 |
the listing file.
|
|
9046 |
</P>
|
|
9047 |
<P>
|
|
9048 |
|
|
9049 |
n_lines is also optional. If present, it is an expression
|
|
9050 |
(see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>) specifying the number of blank lines to be
|
|
9051 |
printed. The expression must evaluate to a nonnegative value.
|
|
9052 |
</P>
|
|
9053 |
<P>
|
|
9054 |
|
|
9055 |
<A NAME="REREAD"></A>
|
|
9056 |
<HR SIZE="6">
|
|
9057 |
<A NAME="SEC101"></A>
|
|
9058 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9059 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC100"> < </A>]</TD>
|
|
9060 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC102"> > </A>]</TD>
|
|
9061 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
9062 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
9063 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
9064 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9065 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9066 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9067 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9068 |
</TR></TABLE>
|
|
9069 |
<H2> 9.14 REREAD </H2>
|
|
9070 |
<!--docid::SEC101::-->
|
|
9071 |
<P>
|
|
9072 |
|
|
9073 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">REREAD FILE=handle COLUMN=column.
|
|
9074 |
</pre></td></tr></table><P>
|
|
9075 |
|
|
9076 |
The REREAD transformation allows the previous input line in a data file
|
|
9077 |
already processed by DATA LIST or another input command to be re-read
|
|
9078 |
for further processing.
|
|
9079 |
</P>
|
|
9080 |
<P>
|
|
9081 |
|
|
9082 |
The FILE subcommand, which is optional, is used to specify the file to
|
|
9083 |
have its line re-read. The file must be specified in the form of a file
|
|
9084 |
handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If FILE is not specified then the last
|
|
9085 |
file specified on DATA LIST will be assumed (last file specified
|
|
9086 |
lexically, not in terms of flow-of-control).
|
|
9087 |
</P>
|
|
9088 |
<P>
|
|
9089 |
|
|
9090 |
By default, the line re-read is re-read in its entirety. With the
|
|
9091 |
COLUMN subcommand, a prefix of the line can be exempted from
|
|
9092 |
re-reading. Specify an expression (see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>) evaluating to
|
|
9093 |
the first column that should be included in the re-read line. Columns
|
|
9094 |
are numbered from 1 at the left margin.
|
|
9095 |
</P>
|
|
9096 |
<P>
|
|
9097 |
|
|
9098 |
Multiple REREAD commands will not back up in the data file. Instead,
|
|
9099 |
they will re-read the same line multiple times.
|
|
9100 |
</P>
|
|
9101 |
<P>
|
|
9102 |
|
|
9103 |
<A NAME="REPEATING DATA"></A>
|
|
9104 |
<HR SIZE="6">
|
|
9105 |
<A NAME="SEC102"></A>
|
|
9106 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9107 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC101"> < </A>]</TD>
|
|
9108 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC103"> > </A>]</TD>
|
|
9109 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
9110 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
9111 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
9112 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9113 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9114 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9115 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9116 |
</TR></TABLE>
|
|
9117 |
<H2> 9.15 REPEATING DATA </H2>
|
|
9118 |
<!--docid::SEC102::-->
|
|
9119 |
<P>
|
|
9120 |
|
|
9121 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">REPEATING DATA
|
|
9122 |
/STARTS=start-end
|
|
9123 |
/OCCURS=n_occurs
|
|
9124 |
/FILE='filename'
|
|
9125 |
/LENGTH=length
|
|
9126 |
/CONTINUED[=cont_start-cont_end]
|
|
9127 |
/ID=id_start-id_end=id_var
|
|
9128 |
/{TABLE,NOTABLE}
|
|
9129 |
/DATA=var_spec<small>...</small>
|
|
9130 |
|
|
9131 |
where each var_spec takes one of the forms
|
|
9132 |
var_list start-end [type_spec]
|
|
9133 |
var_list (fortran_spec)
|
|
9134 |
</pre></td></tr></table><P>
|
|
9135 |
|
|
9136 |
The REPEATING DATA command is used to parse groups of data repeating in
|
|
9137 |
a uniform format, possibly with several groups on a single line. Each
|
|
9138 |
group of data corresponds with one case. REPEATING DATA may only be
|
|
9139 |
used within an INPUT PROGRAM structure. When used with DATA LIST, it
|
|
9140 |
can be used to parse groups of cases that share a subset of variables
|
|
9141 |
but differ in their other data.
|
|
9142 |
</P>
|
|
9143 |
<P>
|
|
9144 |
|
|
9145 |
The STARTS subcommand is required. Specify a range of columns, using
|
|
9146 |
literal numbers or numeric variable names. This range specifies the
|
|
9147 |
columns on the first line that are used to contain groups of data. The
|
|
9148 |
ending column is optional. If it is not specified, then the record
|
|
9149 |
width of the input file is used. For the inline file (see section <A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A>) this is 80 columns; for a file with fixed record widths it is the
|
|
9150 |
record width; for other files it is 1024 characters by default.
|
|
9151 |
</P>
|
|
9152 |
<P>
|
|
9153 |
|
|
9154 |
The OCCURS subcommand is required. It must be a number or the name of a
|
|
9155 |
numeric variable. Its value is the number of groups present in the
|
|
9156 |
current record.
|
|
9157 |
</P>
|
|
9158 |
<P>
|
|
9159 |
|
|
9160 |
The DATA subcommand is required. It must be the last subcommand
|
|
9161 |
specified. It is used to specify the data present within each repeating
|
|
9162 |
group. Column numbers are specified relative to the beginning of a
|
|
9163 |
group at column 1. Data is specified in the same way as with DATA LIST
|
|
9164 |
FIXED (see section <A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A>).
|
|
9165 |
</P>
|
|
9166 |
<P>
|
|
9167 |
|
|
9168 |
All other subcommands are optional.
|
|
9169 |
</P>
|
|
9170 |
<P>
|
|
9171 |
|
|
9172 |
FILE specifies the file to read, either a file name as a string or a
|
|
9173 |
file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). If FILE is not present then the
|
|
9174 |
default is the last file handle used on DATA LIST (lexically, not in
|
|
9175 |
terms of flow of control).
|
|
9176 |
</P>
|
|
9177 |
<P>
|
|
9178 |
|
|
9179 |
By default REPEATING DATA will output a table describing how it will
|
|
9180 |
parse the input data. Specifying NOTABLE will disable this behavior;
|
|
9181 |
specifying TABLE will explicitly enable it.
|
|
9182 |
</P>
|
|
9183 |
<P>
|
|
9184 |
|
|
9185 |
The LENGTH subcommand specifies the length in characters of each group.
|
|
9186 |
If it is not present then length is inferred from the DATA subcommand.
|
|
9187 |
LENGTH can be a number or a variable name.
|
|
9188 |
</P>
|
|
9189 |
<P>
|
|
9190 |
|
|
9191 |
Normally all the data groups are expected to be present on a single
|
|
9192 |
line. Use the CONTINUED command to indicate that data can be continued
|
|
9193 |
onto additional lines. If data on continuation lines starts at the left
|
|
9194 |
margin and continues through the entire field width, no column
|
|
9195 |
specifications are necessary on CONTINUED. Otherwise, specify the
|
|
9196 |
possible range of columns in the same way as on STARTS.
|
|
9197 |
</P>
|
|
9198 |
<P>
|
|
9199 |
|
|
9200 |
When data groups are continued from line to line, it's easily possible
|
|
9201 |
for cases to get out of sync if hand editing is not done carefully. The
|
|
9202 |
ID subcommand allows a case identifier to be present on each line of
|
|
9203 |
repeating data groups. REPEATING DATA will check for the same
|
|
9204 |
identifier on each line and report mismatches. Specify the range of
|
|
9205 |
columns that the identifier will occupy, followed by an equals sign
|
|
9206 |
(`<SAMP>=</SAMP>') and the identifier variable name. The variable must already
|
|
9207 |
have been declared with NUMERIC or another command.
|
|
9208 |
</P>
|
|
9209 |
<P>
|
|
9210 |
|
|
9211 |
<A NAME="WRITE"></A>
|
|
9212 |
<HR SIZE="6">
|
|
9213 |
<A NAME="SEC103"></A>
|
|
9214 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9215 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC102"> < </A>]</TD>
|
|
9216 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> > </A>]</TD>
|
|
9217 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
9218 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> Up </A>]</TD>
|
|
9219 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> >> </A>]</TD>
|
|
9220 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9221 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9222 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9223 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9224 |
</TR></TABLE>
|
|
9225 |
<H2> 9.16 WRITE </H2>
|
|
9226 |
<!--docid::SEC103::-->
|
|
9227 |
<P>
|
|
9228 |
|
|
9229 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">WRITE
|
|
9230 |
OUTFILE='filename'
|
|
9231 |
RECORDS=n_lines
|
|
9232 |
{NOTABLE,TABLE}
|
|
9233 |
/[line_no] arg<small>...</small>
|
|
9234 |
|
|
9235 |
arg takes one of the following forms:
|
|
9236 |
'string' [start-end]
|
|
9237 |
var_list start-end [type_spec]
|
|
9238 |
var_list (fortran_spec)
|
|
9239 |
var_list *
|
|
9240 |
</pre></td></tr></table><P>
|
|
9241 |
|
|
9242 |
WRITE is used to write text or binary data to an output file.
|
|
9243 |
</P>
|
|
9244 |
<P>
|
|
9245 |
|
|
9246 |
See section <A HREF="pspp.html#SEC98">9.11 PRINT</A>, for more information on syntax and usage. The main
|
|
9247 |
difference between PRINT and WRITE is that whereas by default PRINT uses
|
|
9248 |
variables' print formats, WRITE uses write formats.
|
|
9249 |
</P>
|
|
9250 |
<P>
|
|
9251 |
|
|
9252 |
The sole additional difference is that if WRITE is used to send output
|
|
9253 |
to a binary file, carriage control characters will not be output.
|
|
9254 |
See section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>, for information on how to declare a file as binary.
|
|
9255 |
</P>
|
|
9256 |
<P>
|
|
9257 |
|
|
9258 |
<A NAME="System and Portable Files"></A>
|
|
9259 |
<HR SIZE="6">
|
|
9260 |
<A NAME="SEC104"></A>
|
|
9261 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9262 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC103"> < </A>]</TD>
|
|
9263 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC105"> > </A>]</TD>
|
|
9264 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC83"> << </A>]</TD>
|
|
9265 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
9266 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9267 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9268 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9269 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9270 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9271 |
</TR></TABLE>
|
|
9272 |
<H1> 10. System Files and Portable Files </H1>
|
|
9273 |
<!--docid::SEC104::-->
|
|
9274 |
<P>
|
|
9275 |
|
|
9276 |
The commands in this chapter read, write, and examine system files and
|
|
9277 |
portable files.
|
|
9278 |
</P>
|
|
9279 |
<P>
|
|
9280 |
|
|
9281 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
9282 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC105">10.1 APPLY DICTIONARY</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Apply system file dictionary to active file.</TD></TR>
|
|
9283 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC106">10.2 EXPORT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Write to a portable file.</TD></TR>
|
|
9284 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC107">10.3 GET</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Read from a system file.</TD></TR>
|
|
9285 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC108">10.4 IMPORT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Read from a portable file.</TD></TR>
|
|
9286 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC109">10.5 MATCH FILES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Merge system files.</TD></TR>
|
|
9287 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC110">10.6 SAVE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Write to a system file.</TD></TR>
|
|
9288 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC111">10.7 SYSFILE INFO</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display system file dictionary.</TD></TR>
|
|
9289 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC112">10.8 XSAVE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Write to a system file, as a transform.</TD></TR>
|
|
9290 |
</TABLE>
|
|
9291 |
<P>
|
|
9292 |
|
|
9293 |
<A NAME="APPLY DICTIONARY"></A>
|
|
9294 |
<HR SIZE="6">
|
|
9295 |
<A NAME="SEC105"></A>
|
|
9296 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9297 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> < </A>]</TD>
|
|
9298 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC106"> > </A>]</TD>
|
|
9299 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9300 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9301 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9302 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9303 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9304 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9305 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9306 |
</TR></TABLE>
|
|
9307 |
<H2> 10.1 APPLY DICTIONARY </H2>
|
|
9308 |
<!--docid::SEC105::-->
|
|
9309 |
<P>
|
|
9310 |
|
|
9311 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">APPLY DICTIONARY FROM='filename'.
|
|
9312 |
</pre></td></tr></table><P>
|
|
9313 |
|
|
9314 |
The APPLY DICTIONARY command applies the variable labels, value labels,
|
|
9315 |
and missing values from variables in a system file to corresponding
|
|
9316 |
variables in the active file. In some cases it also updates the
|
|
9317 |
weighting variable.
|
|
9318 |
</P>
|
|
9319 |
<P>
|
|
9320 |
|
|
9321 |
Specify a system file with a file name string or as a file handle
|
|
9322 |
(see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). The dictionary in the system file will be read,
|
|
9323 |
but it will not replace the active file dictionary. The system file's
|
|
9324 |
data will not be read.
|
|
9325 |
</P>
|
|
9326 |
<P>
|
|
9327 |
|
|
9328 |
Only variables with names that exist in both the active file and the
|
|
9329 |
system file are considered. Variables with the same name but different
|
|
9330 |
types (numeric, string) will cause an error message. Otherwise, the
|
|
9331 |
system file variables' attributes will replace those in their matching
|
|
9332 |
active file variables, as described below.
|
|
9333 |
</P>
|
|
9334 |
<P>
|
|
9335 |
|
|
9336 |
If a system file variable has a variable label, then it will replace the
|
|
9337 |
active file variable's variable label. If the system file variable does
|
|
9338 |
not have a variable label, then the active file variable's variable
|
|
9339 |
label, if any, will be retained.
|
|
9340 |
</P>
|
|
9341 |
<P>
|
|
9342 |
|
|
9343 |
If the active file variable is numeric or short string, then value
|
|
9344 |
labels and missing values, if any, will be copied to the active file
|
|
9345 |
variable. If the system file variable does not have value labels or
|
|
9346 |
missing values, then those in the active file variable, if any, will not
|
|
9347 |
be disturbed.
|
|
9348 |
</P>
|
|
9349 |
<P>
|
|
9350 |
|
|
9351 |
Finally, weighting of the active file is updated (see section <A HREF="pspp.html#SEC146">13.8 WEIGHT</A>). If
|
|
9352 |
the active file has a weighting variable, and the system file does not,
|
|
9353 |
or if the weighting variable in the system file does not exist in the
|
|
9354 |
active file, then the active file weighting variable, if any, is
|
|
9355 |
retained. Otherwise, the weighting variable in the system file becomes
|
|
9356 |
the active file weighting variable.
|
|
9357 |
</P>
|
|
9358 |
<P>
|
|
9359 |
|
|
9360 |
APPLY DICTIONARY takes effect immediately. It does not read the active
|
|
9361 |
file. The system file is not modified.
|
|
9362 |
</P>
|
|
9363 |
<P>
|
|
9364 |
|
|
9365 |
<A NAME="EXPORT"></A>
|
|
9366 |
<HR SIZE="6">
|
|
9367 |
<A NAME="SEC106"></A>
|
|
9368 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9369 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC105"> < </A>]</TD>
|
|
9370 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC107"> > </A>]</TD>
|
|
9371 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9372 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9373 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9374 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9375 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9376 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9377 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9378 |
</TR></TABLE>
|
|
9379 |
<H2> 10.2 EXPORT </H2>
|
|
9380 |
<!--docid::SEC106::-->
|
|
9381 |
<P>
|
|
9382 |
|
|
9383 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">EXPORT
|
|
9384 |
/OUTFILE='filename'
|
|
9385 |
/DROP=var_list
|
|
9386 |
/KEEP=var_list
|
|
9387 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9388 |
</pre></td></tr></table><P>
|
|
9389 |
|
|
9390 |
The EXPORT procedure writes the active file dictionary and data to a
|
|
9391 |
specified portable file.
|
|
9392 |
</P>
|
|
9393 |
<P>
|
|
9394 |
|
|
9395 |
The OUTFILE subcommand, which is the only required subcommand, specifies
|
|
9396 |
the portable file to be written as a file name string or a file handle
|
|
9397 |
(see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>).
|
|
9398 |
</P>
|
|
9399 |
<P>
|
|
9400 |
|
|
9401 |
DROP, KEEP, and RENAME follow the same format as the SAVE procedure
|
|
9402 |
(see section <A HREF="pspp.html#SEC110">10.6 SAVE</A>).
|
|
9403 |
</P>
|
|
9404 |
<P>
|
|
9405 |
|
|
9406 |
EXPORT is a procedure. It causes the active file to be read.
|
|
9407 |
</P>
|
|
9408 |
<P>
|
|
9409 |
|
|
9410 |
<A NAME="GET"></A>
|
|
9411 |
<HR SIZE="6">
|
|
9412 |
<A NAME="SEC107"></A>
|
|
9413 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9414 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC106"> < </A>]</TD>
|
|
9415 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC108"> > </A>]</TD>
|
|
9416 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9417 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9418 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9419 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9420 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9421 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9422 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9423 |
</TR></TABLE>
|
|
9424 |
<H2> 10.3 GET </H2>
|
|
9425 |
<!--docid::SEC107::-->
|
|
9426 |
<P>
|
|
9427 |
|
|
9428 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">GET
|
|
9429 |
/FILE='filename'
|
|
9430 |
/DROP=var_list
|
|
9431 |
/KEEP=var_list
|
|
9432 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9433 |
</pre></td></tr></table><P>
|
|
9434 |
|
|
9435 |
The GET transformation clears the current dictionary and active file and
|
|
9436 |
replaces them with the dictionary and data from a specified system file.
|
|
9437 |
</P>
|
|
9438 |
<P>
|
|
9439 |
|
|
9440 |
The FILE subcommand is the only required subcommand. Specify the system
|
|
9441 |
file to be read as a string file name or a file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>).
|
|
9442 |
</P>
|
|
9443 |
<P>
|
|
9444 |
|
|
9445 |
By default, all the variables in a system file are read. The DROP
|
|
9446 |
subcommand can be used to specify a list of variables that are not to be
|
|
9447 |
read. By contrast, the KEEP subcommand can be used to specify variable
|
|
9448 |
that are to be read, with all other variables not read.
|
|
9449 |
</P>
|
|
9450 |
<P>
|
|
9451 |
|
|
9452 |
Normally variables in a system file retain the names that they were
|
|
9453 |
saved under. Use the RENAME subcommand to change these names. Specify,
|
|
9454 |
within parentheses, a list of variable names followed by an equals sign
|
|
9455 |
(`<SAMP>=</SAMP>') and the names that they should be renamed to. Multiple
|
|
9456 |
parenthesized groups of variable names can be included on a single
|
|
9457 |
RENAME subcommand. Variables' names may be swapped using a RENAME
|
|
9458 |
subcommand of the form `<SAMP>/RENAME=(A B=B A)</SAMP>'.
|
|
9459 |
</P>
|
|
9460 |
<P>
|
|
9461 |
|
|
9462 |
Alternate syntax for the RENAME subcommand allows the parentheses to be
|
|
9463 |
eliminated. When this is done, only a single variable may be renamed at
|
|
9464 |
once. For instance, `<SAMP>/RENAME=A=B</SAMP>'. This alternate syntax is
|
|
9465 |
deprecated.
|
|
9466 |
</P>
|
|
9467 |
<P>
|
|
9468 |
|
|
9469 |
DROP, KEEP, and RENAME are performed in left-to-right order. They each
|
|
9470 |
may be present any number of times.
|
|
9471 |
</P>
|
|
9472 |
<P>
|
|
9473 |
|
|
9474 |
Please note that DROP, KEEP, and RENAME do not cause the system file on
|
|
9475 |
disk to be modified. Only the active file read from the system file is
|
|
9476 |
changed.
|
|
9477 |
</P>
|
|
9478 |
<P>
|
|
9479 |
|
|
9480 |
GET does not cause the data to be read, only the dictionary. The data
|
|
9481 |
is read later, when a procedure is executed.
|
|
9482 |
</P>
|
|
9483 |
<P>
|
|
9484 |
|
|
9485 |
<A NAME="IMPORT"></A>
|
|
9486 |
<HR SIZE="6">
|
|
9487 |
<A NAME="SEC108"></A>
|
|
9488 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9489 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC107"> < </A>]</TD>
|
|
9490 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC109"> > </A>]</TD>
|
|
9491 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9492 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9493 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9494 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9495 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9496 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9497 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9498 |
</TR></TABLE>
|
|
9499 |
<H2> 10.4 IMPORT </H2>
|
|
9500 |
<!--docid::SEC108::-->
|
|
9501 |
<P>
|
|
9502 |
|
|
9503 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">IMPORT
|
|
9504 |
/FILE='filename'
|
|
9505 |
/TYPE={COMM,TAPE}
|
|
9506 |
/DROP=var_list
|
|
9507 |
/KEEP=var_list
|
|
9508 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9509 |
</pre></td></tr></table><P>
|
|
9510 |
|
|
9511 |
The IMPORT transformation clears the active file dictionary and data and
|
|
9512 |
replaces them with a dictionary and data from a portable file on disk.
|
|
9513 |
</P>
|
|
9514 |
<P>
|
|
9515 |
|
|
9516 |
The FILE subcommand, which is the only required subcommand, specifies
|
|
9517 |
the portable file to be read as a file name string or a file handle
|
|
9518 |
(see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>).
|
|
9519 |
</P>
|
|
9520 |
<P>
|
|
9521 |
|
|
9522 |
The TYPE subcommand is currently not used.
|
|
9523 |
</P>
|
|
9524 |
<P>
|
|
9525 |
|
|
9526 |
DROP, KEEP, and RENAME follow the syntax used by GET (see section <A HREF="pspp.html#SEC107">10.3 GET</A>).
|
|
9527 |
</P>
|
|
9528 |
<P>
|
|
9529 |
|
|
9530 |
IMPORT does not cause the data to be read, only the dictionary. The
|
|
9531 |
data is read later, when a procedure is executed.
|
|
9532 |
</P>
|
|
9533 |
<P>
|
|
9534 |
|
|
9535 |
<A NAME="MATCH FILES"></A>
|
|
9536 |
<HR SIZE="6">
|
|
9537 |
<A NAME="SEC109"></A>
|
|
9538 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9539 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC108"> < </A>]</TD>
|
|
9540 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC110"> > </A>]</TD>
|
|
9541 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9542 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9543 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9544 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9545 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9546 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9547 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9548 |
</TR></TABLE>
|
|
9549 |
<H2> 10.5 MATCH FILES </H2>
|
|
9550 |
<!--docid::SEC109::-->
|
|
9551 |
<P>
|
|
9552 |
|
|
9553 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">MATCH FILES
|
|
9554 |
/BY var_list
|
|
9555 |
/{FILE,TABLE}={*,'filename'}
|
|
9556 |
/DROP=var_list
|
|
9557 |
/KEEP=var_list
|
|
9558 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9559 |
/IN=var_name
|
|
9560 |
/FIRST=var_name
|
|
9561 |
/LAST=var_name
|
|
9562 |
/MAP
|
|
9563 |
</pre></td></tr></table><P>
|
|
9564 |
|
|
9565 |
The MATCH FILES command merges one or more system files, optionally
|
|
9566 |
including the active file. Records with the same values for BY
|
|
9567 |
variables are combined into a single record. Records with different
|
|
9568 |
values are output in order. Thus, multiple sorted system files are
|
|
9569 |
combined into a single sorted system file based on the value of the BY
|
|
9570 |
variables.
|
|
9571 |
</P>
|
|
9572 |
<P>
|
|
9573 |
|
|
9574 |
The BY subcommand specifies a list of variables that are used to match
|
|
9575 |
records from each of the system files. Variables specified must exist
|
|
9576 |
in all the files specified on FILE and TABLE. BY should usually be
|
|
9577 |
specified. If TABLE is used then BY is required.
|
|
9578 |
</P>
|
|
9579 |
<P>
|
|
9580 |
|
|
9581 |
Specify FILE with a system file as a file name string or file handle
|
|
9582 |
(see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). An asterisk (`<SAMP>*</SAMP>') may also be specified to
|
|
9583 |
indicate the current active file. The files specified on FILE are
|
|
9584 |
merged together based on the BY variables, or combined case-by-case if
|
|
9585 |
BY is not specified. Normally at least two FILE subcommands should be
|
|
9586 |
specified.
|
|
9587 |
</P>
|
|
9588 |
<P>
|
|
9589 |
|
|
9590 |
Specify TABLE with a system file in order to use it as a <EM>table
|
|
9591 |
lookup file</EM>. Records in table lookup files are not used up after
|
|
9592 |
they've been used once. This means that data in table lookup files can
|
|
9593 |
correspond to any number of records in FILE files. Table lookup files
|
|
9594 |
correspond to lookup tables in traditional relational database systems.
|
|
9595 |
It is incorrect to have records with duplicate BY values in table lookup
|
|
9596 |
files.
|
|
9597 |
</P>
|
|
9598 |
<P>
|
|
9599 |
|
|
9600 |
Any number of FILE and TABLE subcommands may be specified. Each
|
|
9601 |
instance of FILE or TABLE can be followed by DROP, KEEP, and/or RENAME
|
|
9602 |
subcommands. These take the same form as the corresponding subcommands
|
|
9603 |
of GET (see section <A HREF="pspp.html#SEC107">10.3 GET</A>), and perform the same functions.
|
|
9604 |
</P>
|
|
9605 |
<P>
|
|
9606 |
|
|
9607 |
Variables belonging to files that are not present for the current case
|
|
9608 |
are set to the system-missing value for numeric variables or spaces for
|
|
9609 |
string variables.
|
|
9610 |
</P>
|
|
9611 |
<P>
|
|
9612 |
|
|
9613 |
IN, FIRST, LAST, and MAP are currently not used.
|
|
9614 |
</P>
|
|
9615 |
<P>
|
|
9616 |
|
|
9617 |
<A NAME="SAVE"></A>
|
|
9618 |
<HR SIZE="6">
|
|
9619 |
<A NAME="SEC110"></A>
|
|
9620 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9621 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC109"> < </A>]</TD>
|
|
9622 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC111"> > </A>]</TD>
|
|
9623 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9624 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9625 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9626 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9627 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9628 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9629 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9630 |
</TR></TABLE>
|
|
9631 |
<H2> 10.6 SAVE </H2>
|
|
9632 |
<!--docid::SEC110::-->
|
|
9633 |
<P>
|
|
9634 |
|
|
9635 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SAVE
|
|
9636 |
/OUTFILE='filename'
|
|
9637 |
/{COMPRESSED,UNCOMPRESSED}
|
|
9638 |
/DROP=var_list
|
|
9639 |
/KEEP=var_list
|
|
9640 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9641 |
</pre></td></tr></table><P>
|
|
9642 |
|
|
9643 |
The SAVE procedure causes the dictionary and data in the active file to
|
|
9644 |
be written to a system file.
|
|
9645 |
</P>
|
|
9646 |
<P>
|
|
9647 |
|
|
9648 |
The FILE subcommand is the only required subcommand. Specify the system
|
|
9649 |
file to be written as a string file name or a file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>).
|
|
9650 |
</P>
|
|
9651 |
<P>
|
|
9652 |
|
|
9653 |
The COMPRESS and UNCOMPRESS subcommand determine whether the saved
|
|
9654 |
system file is compressed. By default, system files are compressed.
|
|
9655 |
This default can be changed with the SET command (see section <A HREF="pspp.html#SEC166">16.10 SET</A>).
|
|
9656 |
</P>
|
|
9657 |
<P>
|
|
9658 |
|
|
9659 |
By default, all the variables in the active file dictionary are written
|
|
9660 |
to the system file. The DROP subcommand can be used to specify a list
|
|
9661 |
of variables not to be written. In contrast, KEEP specifies variables
|
|
9662 |
to be written, with all variables not specified not written.
|
|
9663 |
</P>
|
|
9664 |
<P>
|
|
9665 |
|
|
9666 |
Normally variables are saved to a system file under the same names they
|
|
9667 |
have in the active file. Use the RENAME command to change these names.
|
|
9668 |
Specify, within parentheses, a list of variable names followed by an
|
|
9669 |
equals sign (`<SAMP>=</SAMP>') and the names that they should be renamed to.
|
|
9670 |
Multiple parenthesized groups of variable names can be included on a
|
|
9671 |
single RENAME subcommand. Variables' names may be swapped using a
|
|
9672 |
RENAME subcommand of the form `<SAMP>/RENAME=(A B=B A)</SAMP>'.
|
|
9673 |
</P>
|
|
9674 |
<P>
|
|
9675 |
|
|
9676 |
Alternate syntax for the RENAME subcommand allows the parentheses to be
|
|
9677 |
eliminated. When this is done, only a single variable may be renamed at
|
|
9678 |
once. For instance, `<SAMP>/RENAME=A=B</SAMP>'. This alternate syntax is
|
|
9679 |
deprecated.
|
|
9680 |
</P>
|
|
9681 |
<P>
|
|
9682 |
|
|
9683 |
DROP, KEEP, and RENAME are performed in left-to-right order. They each
|
|
9684 |
may be present any number of times.
|
|
9685 |
</P>
|
|
9686 |
<P>
|
|
9687 |
|
|
9688 |
Please note that DROP, KEEP, and RENAME do not cause the active file to
|
|
9689 |
be modified. Only the system file written to disk is changed.
|
|
9690 |
</P>
|
|
9691 |
<P>
|
|
9692 |
|
|
9693 |
SAVE causes the data to be read. It is a procedure.
|
|
9694 |
</P>
|
|
9695 |
<P>
|
|
9696 |
|
|
9697 |
<A NAME="SYSFILE INFO"></A>
|
|
9698 |
<HR SIZE="6">
|
|
9699 |
<A NAME="SEC111"></A>
|
|
9700 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9701 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC110"> < </A>]</TD>
|
|
9702 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC112"> > </A>]</TD>
|
|
9703 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9704 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9705 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9706 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9707 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9708 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9709 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9710 |
</TR></TABLE>
|
|
9711 |
<H2> 10.7 SYSFILE INFO </H2>
|
|
9712 |
<!--docid::SEC111::-->
|
|
9713 |
<P>
|
|
9714 |
|
|
9715 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SYSFILE INFO FILE='filename'.
|
|
9716 |
</pre></td></tr></table><P>
|
|
9717 |
|
|
9718 |
The SYSFILE INFO command reads the dictionary in a system file and
|
|
9719 |
displays the information in its dictionary.
|
|
9720 |
</P>
|
|
9721 |
<P>
|
|
9722 |
|
|
9723 |
Specify a file name or file handle. SYSFILE INFO will read that file as
|
|
9724 |
a system file and display information on its dictionary.
|
|
9725 |
</P>
|
|
9726 |
<P>
|
|
9727 |
|
|
9728 |
The file does not replace the current active file.
|
|
9729 |
</P>
|
|
9730 |
<P>
|
|
9731 |
|
|
9732 |
<A NAME="XSAVE"></A>
|
|
9733 |
<HR SIZE="6">
|
|
9734 |
<A NAME="SEC112"></A>
|
|
9735 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9736 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC111"> < </A>]</TD>
|
|
9737 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> > </A>]</TD>
|
|
9738 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9739 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> Up </A>]</TD>
|
|
9740 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> >> </A>]</TD>
|
|
9741 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9742 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9743 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9744 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9745 |
</TR></TABLE>
|
|
9746 |
<H2> 10.8 XSAVE </H2>
|
|
9747 |
<!--docid::SEC112::-->
|
|
9748 |
<P>
|
|
9749 |
|
|
9750 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">XSAVE
|
|
9751 |
/FILE='filename'
|
|
9752 |
/{COMPRESSED,UNCOMPRESSED}
|
|
9753 |
/DROP=var_list
|
|
9754 |
/KEEP=var_list
|
|
9755 |
/RENAME=(src_names=target_names)<small>...</small>
|
|
9756 |
</pre></td></tr></table><P>
|
|
9757 |
|
|
9758 |
The XSAVE transformation writes the active file dictionary and data to a
|
|
9759 |
system file stored on disk.
|
|
9760 |
</P>
|
|
9761 |
<P>
|
|
9762 |
|
|
9763 |
XSAVE is a transformation, not a procedure. It is executed when the
|
|
9764 |
data is read by a procedure or procedure-like command. In all other
|
|
9765 |
respects, XSAVE is identical to SAVE. See section <A HREF="pspp.html#SEC110">10.6 SAVE</A>, for more information
|
|
9766 |
on syntax and usage.
|
|
9767 |
</P>
|
|
9768 |
<P>
|
|
9769 |
|
|
9770 |
<A NAME="Variable Attributes"></A>
|
|
9771 |
<HR SIZE="6">
|
|
9772 |
<A NAME="SEC113"></A>
|
|
9773 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9774 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC112"> < </A>]</TD>
|
|
9775 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC114"> > </A>]</TD>
|
|
9776 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC104"> << </A>]</TD>
|
|
9777 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
9778 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9779 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9780 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9781 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9782 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9783 |
</TR></TABLE>
|
|
9784 |
<H1> 11. Manipulating variables </H1>
|
|
9785 |
<!--docid::SEC113::-->
|
|
9786 |
<P>
|
|
9787 |
|
|
9788 |
The variables in the active file dictionary are important. There are
|
|
9789 |
several utility functions for examining and adjusting them.
|
|
9790 |
</P>
|
|
9791 |
<P>
|
|
9792 |
|
|
9793 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
9794 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC114">11.1 ADD VALUE LABELS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Add value labels to variables.</TD></TR>
|
|
9795 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC115">11.2 DISPLAY</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display variable names & descriptions.</TD></TR>
|
|
9796 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC116">11.3 DISPLAY VECTORS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display a list of vectors.</TD></TR>
|
|
9797 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC117">11.4 FORMATS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set print and write formats.</TD></TR>
|
|
9798 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC118">11.5 LEAVE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Don't clear variables between cases.</TD></TR>
|
|
9799 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC119">11.6 MISSING VALUES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set missing values for variables.</TD></TR>
|
|
9800 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC120">11.7 MODIFY VARS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Rename, reorder, and drop variables.</TD></TR>
|
|
9801 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC121">11.8 NUMERIC</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Create new numeric variables.</TD></TR>
|
|
9802 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC122">11.9 PRINT FORMATS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set variable print formats.</TD></TR>
|
|
9803 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC123">11.10 RENAME VARIABLES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Rename variables.</TD></TR>
|
|
9804 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC124">11.11 VALUE LABELS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set value labels for variables.</TD></TR>
|
|
9805 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC125">11.12 STRING</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Create new string variables.</TD></TR>
|
|
9806 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC126">11.13 VARIABLE LABELS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set variable labels for variables.</TD></TR>
|
|
9807 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC127">11.14 VECTOR</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Declare an array of variables.</TD></TR>
|
|
9808 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC128">11.15 WRITE FORMATS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set variable write formats.</TD></TR>
|
|
9809 |
</TABLE>
|
|
9810 |
<P>
|
|
9811 |
|
|
9812 |
<A NAME="ADD VALUE LABELS"></A>
|
|
9813 |
<HR SIZE="6">
|
|
9814 |
<A NAME="SEC114"></A>
|
|
9815 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9816 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> < </A>]</TD>
|
|
9817 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC115"> > </A>]</TD>
|
|
9818 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
9819 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
9820 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9821 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9822 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9823 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9824 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9825 |
</TR></TABLE>
|
|
9826 |
<H2> 11.1 ADD VALUE LABELS </H2>
|
|
9827 |
<!--docid::SEC114::-->
|
|
9828 |
<P>
|
|
9829 |
|
|
9830 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">ADD VALUE LABELS
|
|
9831 |
/var_list value 'label' [value 'label']<small>...</small>
|
|
9832 |
</pre></td></tr></table><P>
|
|
9833 |
|
|
9834 |
ADD VALUE LABELS has the same syntax and purpose as VALUE LABELS (see
|
|
9835 |
above), but it does not clear away value labels from the variables
|
|
9836 |
before adding the ones specified.
|
|
9837 |
</P>
|
|
9838 |
<P>
|
|
9839 |
|
|
9840 |
<A NAME="DISPLAY"></A>
|
|
9841 |
<HR SIZE="6">
|
|
9842 |
<A NAME="SEC115"></A>
|
|
9843 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9844 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC114"> < </A>]</TD>
|
|
9845 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC116"> > </A>]</TD>
|
|
9846 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
9847 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
9848 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9849 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9850 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9851 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9852 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9853 |
</TR></TABLE>
|
|
9854 |
<H2> 11.2 DISPLAY </H2>
|
|
9855 |
<!--docid::SEC115::-->
|
|
9856 |
<P>
|
|
9857 |
|
|
9858 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DISPLAY {NAMES,INDEX,LABELS,VARIABLES,DICTIONARY,SCRATCH}
|
|
9859 |
[SORTED] [var_list]
|
|
9860 |
</pre></td></tr></table><P>
|
|
9861 |
|
|
9862 |
DISPLAY displays requested information on variables. Variables can
|
|
9863 |
optionally be sorted alphabetically. The entire dictionary or just
|
|
9864 |
specified variables can be described.
|
|
9865 |
</P>
|
|
9866 |
<P>
|
|
9867 |
|
|
9868 |
One of the following keywords can be present:
|
|
9869 |
</P>
|
|
9870 |
<P>
|
|
9871 |
|
|
9872 |
</P>
|
|
9873 |
<DL COMPACT>
|
|
9874 |
<DT>NAMES
|
|
9875 |
<DD>The variables' names are displayed.
|
|
9876 |
<P>
|
|
9877 |
|
|
9878 |
</P>
|
|
9879 |
<DT>INDEX
|
|
9880 |
<DD>The variables' names are displayed along with a value describing their
|
|
9881 |
position within the active file dictionary.
|
|
9882 |
<P>
|
|
9883 |
|
|
9884 |
</P>
|
|
9885 |
<DT>LABELS
|
|
9886 |
<DD>Variable names, positions, and variable labels are displayed.
|
|
9887 |
<P>
|
|
9888 |
|
|
9889 |
</P>
|
|
9890 |
<DT>VARIABLES
|
|
9891 |
<DD>Variable names, positions, print and write formats, and missing values
|
|
9892 |
are displayed.
|
|
9893 |
<P>
|
|
9894 |
|
|
9895 |
</P>
|
|
9896 |
<DT>DICTIONARY
|
|
9897 |
<DD>Variable names, positions, print and write formats, missing values,
|
|
9898 |
variable labels, and value labels are displayed.
|
|
9899 |
<P>
|
|
9900 |
|
|
9901 |
</P>
|
|
9902 |
<DT>SCRATCH
|
|
9903 |
<DD>Varible names are displayed, for scratch variables only (see section <A HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A>).
|
|
9904 |
</DL>
|
|
9905 |
<P>
|
|
9906 |
|
|
9907 |
If SORTED is specified, then the variables are displayed in ascending
|
|
9908 |
order based on their names; otherwise, they are displayed in the order
|
|
9909 |
that they occur in the active file dictionary.
|
|
9910 |
</P>
|
|
9911 |
<P>
|
|
9912 |
|
|
9913 |
<A NAME="DISPLAY VECTORS"></A>
|
|
9914 |
<HR SIZE="6">
|
|
9915 |
<A NAME="SEC116"></A>
|
|
9916 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9917 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC115"> < </A>]</TD>
|
|
9918 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC117"> > </A>]</TD>
|
|
9919 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
9920 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
9921 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9922 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9923 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9924 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9925 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9926 |
</TR></TABLE>
|
|
9927 |
<H2> 11.3 DISPLAY VECTORS </H2>
|
|
9928 |
<!--docid::SEC116::-->
|
|
9929 |
<P>
|
|
9930 |
|
|
9931 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DISPLAY VECTORS.
|
|
9932 |
</pre></td></tr></table><P>
|
|
9933 |
|
|
9934 |
The DISPLAY VECTORS command causes a list of the currently declared
|
|
9935 |
vectors to be displayed.
|
|
9936 |
</P>
|
|
9937 |
<P>
|
|
9938 |
|
|
9939 |
<A NAME="FORMATS"></A>
|
|
9940 |
<HR SIZE="6">
|
|
9941 |
<A NAME="SEC117"></A>
|
|
9942 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9943 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC116"> < </A>]</TD>
|
|
9944 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC118"> > </A>]</TD>
|
|
9945 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
9946 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
9947 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9948 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9949 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9950 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9951 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9952 |
</TR></TABLE>
|
|
9953 |
<H2> 11.4 FORMATS </H2>
|
|
9954 |
<!--docid::SEC117::-->
|
|
9955 |
<P>
|
|
9956 |
|
|
9957 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FORMATS var_list (fmt_spec).
|
|
9958 |
</pre></td></tr></table><P>
|
|
9959 |
|
|
9960 |
The FORMATS command set the print and write formats for the specified
|
|
9961 |
variables to the specified format specification. See section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>.
|
|
9962 |
</P>
|
|
9963 |
<P>
|
|
9964 |
|
|
9965 |
Specify a list of variables followed by a format specification in
|
|
9966 |
parentheses. The print and write formats of the specified variables
|
|
9967 |
will be changed.
|
|
9968 |
</P>
|
|
9969 |
<P>
|
|
9970 |
|
|
9971 |
Additional lists of variables and formats may be included if they are
|
|
9972 |
delimited by a slash (`<SAMP>/</SAMP>').
|
|
9973 |
</P>
|
|
9974 |
<P>
|
|
9975 |
|
|
9976 |
The FORMATS command takes effect immediately. It is not affected by
|
|
9977 |
conditional and looping structures such as DO IF or LOOP.
|
|
9978 |
</P>
|
|
9979 |
<P>
|
|
9980 |
|
|
9981 |
<A NAME="LEAVE"></A>
|
|
9982 |
<HR SIZE="6">
|
|
9983 |
<A NAME="SEC118"></A>
|
|
9984 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
9985 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC117"> < </A>]</TD>
|
|
9986 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC119"> > </A>]</TD>
|
|
9987 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
9988 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
9989 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
9990 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
9991 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
9992 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
9993 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
9994 |
</TR></TABLE>
|
|
9995 |
<H2> 11.5 LEAVE </H2>
|
|
9996 |
<!--docid::SEC118::-->
|
|
9997 |
<P>
|
|
9998 |
|
|
9999 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">LEAVE var_list.
|
|
10000 |
</pre></td></tr></table><P>
|
|
10001 |
|
|
10002 |
The LEAVE command prevents the specified variables from being
|
|
10003 |
reinitialized whenever a new case is processed.
|
|
10004 |
</P>
|
|
10005 |
<P>
|
|
10006 |
|
|
10007 |
Normally, when a data file is processed, every variable in the active
|
|
10008 |
file is initialized to the system-missing value or spaces at the
|
|
10009 |
beginning of processing for each case. When a variable has been
|
|
10010 |
specified on LEAVE, this is not the case. Instead, that variable is
|
|
10011 |
initialized to 0 (not system-missing) or spaces for the first case.
|
|
10012 |
After that, it retains its value between cases.
|
|
10013 |
</P>
|
|
10014 |
<P>
|
|
10015 |
|
|
10016 |
This becomes useful for counters. For instance, in the example below
|
|
10017 |
the variable SUM maintains a running total of the values in the ITEM
|
|
10018 |
variable.
|
|
10019 |
</P>
|
|
10020 |
<P>
|
|
10021 |
|
|
10022 |
<TABLE><tr><td> </td><td class=example><pre>DATA LIST /ITEM 1-3.
|
|
10023 |
COMPUTE SUM=SUM+ITEM.
|
|
10024 |
PRINT /ITEM SUM.
|
|
10025 |
LEAVE SUM
|
|
10026 |
BEGIN DATA.
|
|
10027 |
123
|
|
10028 |
404
|
|
10029 |
555
|
|
10030 |
999
|
|
10031 |
END DATA.
|
|
10032 |
</pre></td></tr></table><P>
|
|
10033 |
|
|
10034 |
Partial output from this example:
|
|
10035 |
</P>
|
|
10036 |
<P>
|
|
10037 |
|
|
10038 |
<TABLE><tr><td> </td><td class=example><pre>123 123.00
|
|
10039 |
404 527.00
|
|
10040 |
555 1082.00
|
|
10041 |
999 2081.00
|
|
10042 |
</pre></td></tr></table><P>
|
|
10043 |
|
|
10044 |
It is best to use the LEAVE command immediately before invoking a
|
|
10045 |
procedure command, because it is reset by certain transformations--for
|
|
10046 |
instance, COMPUTE and IF. LEAVE is also reset by all procedure
|
|
10047 |
invocations.
|
|
10048 |
</P>
|
|
10049 |
<P>
|
|
10050 |
|
|
10051 |
<A NAME="MISSING VALUES"></A>
|
|
10052 |
<HR SIZE="6">
|
|
10053 |
<A NAME="SEC119"></A>
|
|
10054 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10055 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC118"> < </A>]</TD>
|
|
10056 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC120"> > </A>]</TD>
|
|
10057 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10058 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10059 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10060 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10061 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10062 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10063 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10064 |
</TR></TABLE>
|
|
10065 |
<H2> 11.6 MISSING VALUES </H2>
|
|
10066 |
<!--docid::SEC119::-->
|
|
10067 |
<P>
|
|
10068 |
|
|
10069 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">MISSING VALUES var_list (missing_values).
|
|
10070 |
|
|
10071 |
missing_values takes one of the following forms:
|
|
10072 |
num1
|
|
10073 |
num1, num2
|
|
10074 |
num1, num2, num3
|
|
10075 |
num1 THRU num2
|
|
10076 |
num1 THRU num2, num3
|
|
10077 |
string1
|
|
10078 |
string1, string2
|
|
10079 |
string1, string2, string3
|
|
10080 |
As part of a range, LO or LOWEST may take the place of num1;
|
|
10081 |
HI or HIGHEST may take the place of num2.
|
|
10082 |
</pre></td></tr></table><P>
|
|
10083 |
|
|
10084 |
The MISSING VALUES command sets user-missing values for numeric and
|
|
10085 |
short string variables. Long string variables may not have missing
|
|
10086 |
values.
|
|
10087 |
</P>
|
|
10088 |
<P>
|
|
10089 |
|
|
10090 |
Specify a list of variables, followed by a list of their user-missing
|
|
10091 |
values in parentheses. Up to three discrete values may be given, or,
|
|
10092 |
for numeric variables only, a range of values optionally accompanied by
|
|
10093 |
a single discrete value. Ranges may be open-ended on one end, indicated
|
|
10094 |
through the use of the keyword LO or LOWEST or HI or HIGHEST.
|
|
10095 |
</P>
|
|
10096 |
<P>
|
|
10097 |
|
|
10098 |
The MISSING VALUES command takes effect immediately. It is not affected
|
|
10099 |
by conditional and looping constructs such as DO IF or LOOP.
|
|
10100 |
</P>
|
|
10101 |
<P>
|
|
10102 |
|
|
10103 |
<A NAME="MODIFY VARS"></A>
|
|
10104 |
<HR SIZE="6">
|
|
10105 |
<A NAME="SEC120"></A>
|
|
10106 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10107 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC119"> < </A>]</TD>
|
|
10108 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC121"> > </A>]</TD>
|
|
10109 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10110 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10111 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10112 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10113 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10114 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10115 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10116 |
</TR></TABLE>
|
|
10117 |
<H2> 11.7 MODIFY VARS </H2>
|
|
10118 |
<!--docid::SEC120::-->
|
|
10119 |
<P>
|
|
10120 |
|
|
10121 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">MODIFY VARS
|
|
10122 |
/REORDER={FORWARD,BACKWARD} {POSITIONAL,ALPHA} (var_list)<small>...</small>
|
|
10123 |
/RENAME=(old_names=new_names)<small>...</small>
|
|
10124 |
/{DROP,KEEP}=var_list
|
|
10125 |
/MAP
|
|
10126 |
</pre></td></tr></table><P>
|
|
10127 |
|
|
10128 |
The MODIFY VARS commands allows variables in the active file to be
|
|
10129 |
reordered, renamed, or deleted from the active file.
|
|
10130 |
</P>
|
|
10131 |
<P>
|
|
10132 |
|
|
10133 |
At least one subcommand must be specified, and no subcommand may be
|
|
10134 |
specified more than once. DROP and KEEP may not both be specified.
|
|
10135 |
</P>
|
|
10136 |
<P>
|
|
10137 |
|
|
10138 |
The REORDER subcommand changes the order of variables in the active
|
|
10139 |
file. Specify one or more lists of variable names in parentheses. By
|
|
10140 |
default, each list of variables is rearranged into the specified order.
|
|
10141 |
To put the variables into the reverse of the specified order, put
|
|
10142 |
keyword BACKWARD before the parentheses. To put them into alphabetical
|
|
10143 |
order in the dictionary, specify keyword ALPHA before the parentheses.
|
|
10144 |
BACKWARD and ALPHA may also be combined.
|
|
10145 |
</P>
|
|
10146 |
<P>
|
|
10147 |
|
|
10148 |
To rename variables in the active file, specify RENAME, an equals sign
|
|
10149 |
(`<SAMP>=</SAMP>'), and lists of the old variable names and new variable names
|
|
10150 |
separated by another equals sign within parentheses. There must be the
|
|
10151 |
same number of old and new variable names. Each old variable is renamed to
|
|
10152 |
the corresponding new variable name. Multiple parenthesized groups of
|
|
10153 |
variables may be specified.
|
|
10154 |
</P>
|
|
10155 |
<P>
|
|
10156 |
|
|
10157 |
The DROP subcommand deletes a specified list of variables from the
|
|
10158 |
active file.
|
|
10159 |
</P>
|
|
10160 |
<P>
|
|
10161 |
|
|
10162 |
The KEEP subcommand keeps the specified list of variables in the active
|
|
10163 |
file. Any unlisted variables are delete from the active file.
|
|
10164 |
</P>
|
|
10165 |
<P>
|
|
10166 |
|
|
10167 |
MAP is currently ignored.
|
|
10168 |
</P>
|
|
10169 |
<P>
|
|
10170 |
|
|
10171 |
MODIFY VARS takes effect immediately. It does not cause the data to be
|
|
10172 |
read.
|
|
10173 |
</P>
|
|
10174 |
<P>
|
|
10175 |
|
|
10176 |
<A NAME="NUMERIC"></A>
|
|
10177 |
<HR SIZE="6">
|
|
10178 |
<A NAME="SEC121"></A>
|
|
10179 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10180 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC120"> < </A>]</TD>
|
|
10181 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC122"> > </A>]</TD>
|
|
10182 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10183 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10184 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10185 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10186 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10187 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10188 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10189 |
</TR></TABLE>
|
|
10190 |
<H2> 11.8 NUMERIC </H2>
|
|
10191 |
<!--docid::SEC121::-->
|
|
10192 |
<P>
|
|
10193 |
|
|
10194 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">NUMERIC /var_list [(fmt_spec)].
|
|
10195 |
</pre></td></tr></table><P>
|
|
10196 |
|
|
10197 |
The NUMERIC command explicitly declares new numeric variables,
|
|
10198 |
optionally setting their output formats.
|
|
10199 |
</P>
|
|
10200 |
<P>
|
|
10201 |
|
|
10202 |
Specify a slash (`<SAMP>/</SAMP>'), followed by the names of the new numeric
|
|
10203 |
variables. If you wish to set their output formats, follow their names
|
|
10204 |
by an output format specification in parentheses (see section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>). If no output format specification is given then the
|
|
10205 |
variables will default to F8.2.
|
|
10206 |
</P>
|
|
10207 |
<P>
|
|
10208 |
|
|
10209 |
Variables created with NUMERIC will be initialized to the system-missing
|
|
10210 |
value.
|
|
10211 |
</P>
|
|
10212 |
<P>
|
|
10213 |
|
|
10214 |
<A NAME="PRINT FORMATS"></A>
|
|
10215 |
<HR SIZE="6">
|
|
10216 |
<A NAME="SEC122"></A>
|
|
10217 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10218 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC121"> < </A>]</TD>
|
|
10219 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC123"> > </A>]</TD>
|
|
10220 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10221 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10222 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10223 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10224 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10225 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10226 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10227 |
</TR></TABLE>
|
|
10228 |
<H2> 11.9 PRINT FORMATS </H2>
|
|
10229 |
<!--docid::SEC122::-->
|
|
10230 |
<P>
|
|
10231 |
|
|
10232 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">PRINT FORMATS var_list (fmt_spec).
|
|
10233 |
</pre></td></tr></table><P>
|
|
10234 |
|
|
10235 |
The PRINT FORMATS command sets the print formats for the specified
|
|
10236 |
variables to the specified format specification.
|
|
10237 |
</P>
|
|
10238 |
<P>
|
|
10239 |
|
|
10240 |
Syntax is identical to that of FORMATS (see section <A HREF="pspp.html#SEC117">11.4 FORMATS</A>), but the PRINT
|
|
10241 |
FORMATS command sets only print formats, not write formats.
|
|
10242 |
</P>
|
|
10243 |
<P>
|
|
10244 |
|
|
10245 |
<A NAME="RENAME VARIABLES"></A>
|
|
10246 |
<HR SIZE="6">
|
|
10247 |
<A NAME="SEC123"></A>
|
|
10248 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10249 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC122"> < </A>]</TD>
|
|
10250 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC124"> > </A>]</TD>
|
|
10251 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10252 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10253 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10254 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10255 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10256 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10257 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10258 |
</TR></TABLE>
|
|
10259 |
<H2> 11.10 RENAME VARIABLES </H2>
|
|
10260 |
<!--docid::SEC123::-->
|
|
10261 |
<P>
|
|
10262 |
|
|
10263 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">RENAME VARIABLES (old_names=new_names)<small>...</small> .
|
|
10264 |
</pre></td></tr></table><P>
|
|
10265 |
|
|
10266 |
The RENAME VARIABLES command allows the names of variables in the active
|
|
10267 |
file to be changed.
|
|
10268 |
</P>
|
|
10269 |
<P>
|
|
10270 |
|
|
10271 |
To rename variables, specify lists of the old variable names and new
|
|
10272 |
variable names, separated by an equals sign (`<SAMP>=</SAMP>'), within
|
|
10273 |
parentheses. There must be the same number of old and new variable
|
|
10274 |
names. Each old variable is renamed to the corresponding new variable
|
|
10275 |
name. Multiple parenthesized groups of variables may be specified.
|
|
10276 |
</P>
|
|
10277 |
<P>
|
|
10278 |
|
|
10279 |
RENAME VARIABLES takes effect immediately. It does not cause the data
|
|
10280 |
to be read.
|
|
10281 |
</P>
|
|
10282 |
<P>
|
|
10283 |
|
|
10284 |
<A NAME="VALUE LABELS"></A>
|
|
10285 |
<HR SIZE="6">
|
|
10286 |
<A NAME="SEC124"></A>
|
|
10287 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10288 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC123"> < </A>]</TD>
|
|
10289 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC125"> > </A>]</TD>
|
|
10290 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10291 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10292 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10293 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10294 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10295 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10296 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10297 |
</TR></TABLE>
|
|
10298 |
<H2> 11.11 VALUE LABELS </H2>
|
|
10299 |
<!--docid::SEC124::-->
|
|
10300 |
<P>
|
|
10301 |
|
|
10302 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">VALUE LABELS
|
|
10303 |
/var_list value 'label' [value 'label']<small>...</small>
|
|
10304 |
</pre></td></tr></table><P>
|
|
10305 |
|
|
10306 |
The VALUE LABELS command allows values of numeric and short string
|
|
10307 |
variables to be associated with labels. In this way, a short value can
|
|
10308 |
stand for a long value.
|
|
10309 |
</P>
|
|
10310 |
<P>
|
|
10311 |
|
|
10312 |
In order to set up value labels for a set of variables, specify the
|
|
10313 |
variable names after a slash (`<SAMP>/</SAMP>'), followed by a list of values
|
|
10314 |
and their associated labels, separated by spaces.
|
|
10315 |
</P>
|
|
10316 |
<P>
|
|
10317 |
|
|
10318 |
Before the VALUE LABELS command is executed, any existing value labels
|
|
10319 |
are cleared from the variables specified.
|
|
10320 |
</P>
|
|
10321 |
<P>
|
|
10322 |
|
|
10323 |
<A NAME="STRING"></A>
|
|
10324 |
<HR SIZE="6">
|
|
10325 |
<A NAME="SEC125"></A>
|
|
10326 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10327 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC124"> < </A>]</TD>
|
|
10328 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC126"> > </A>]</TD>
|
|
10329 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10330 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10331 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10332 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10333 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10334 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10335 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10336 |
</TR></TABLE>
|
|
10337 |
<H2> 11.12 STRING </H2>
|
|
10338 |
<!--docid::SEC125::-->
|
|
10339 |
<P>
|
|
10340 |
|
|
10341 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">STRING /var_list (fmt_spec).
|
|
10342 |
</pre></td></tr></table><P>
|
|
10343 |
|
|
10344 |
The STRING command creates new string variables for use in
|
|
10345 |
transformations.
|
|
10346 |
</P>
|
|
10347 |
<P>
|
|
10348 |
|
|
10349 |
Specify a slash (`<SAMP>/</SAMP>'), followed by the names of the string
|
|
10350 |
variables to create and the desired output format specification in
|
|
10351 |
parentheses (see section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>). Variable widths are
|
|
10352 |
implicitly derived from the specified output formats.
|
|
10353 |
</P>
|
|
10354 |
<P>
|
|
10355 |
|
|
10356 |
Created variables are initialized to spaces.
|
|
10357 |
</P>
|
|
10358 |
<P>
|
|
10359 |
|
|
10360 |
<A NAME="VARIABLE LABELS"></A>
|
|
10361 |
<HR SIZE="6">
|
|
10362 |
<A NAME="SEC126"></A>
|
|
10363 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10364 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC125"> < </A>]</TD>
|
|
10365 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC127"> > </A>]</TD>
|
|
10366 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10367 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10368 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10369 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10370 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10371 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10372 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10373 |
</TR></TABLE>
|
|
10374 |
<H2> 11.13 VARIABLE LABELS </H2>
|
|
10375 |
<!--docid::SEC126::-->
|
|
10376 |
<P>
|
|
10377 |
|
|
10378 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">VARIABLE LABELS
|
|
10379 |
/var_list 'var_label'.
|
|
10380 |
</pre></td></tr></table><P>
|
|
10381 |
|
|
10382 |
The VARIABLE LABELS command is used to associate an explanatory name
|
|
10383 |
with a group of variables. This name (a variable label) is displayed by
|
|
10384 |
statistical procedures.
|
|
10385 |
</P>
|
|
10386 |
<P>
|
|
10387 |
|
|
10388 |
To assign a variable label to a group of variables, specify a slash
|
|
10389 |
(`<SAMP>/</SAMP>'), followed by the list of variable names and the variable
|
|
10390 |
label as a string.
|
|
10391 |
</P>
|
|
10392 |
<P>
|
|
10393 |
|
|
10394 |
<A NAME="VECTOR"></A>
|
|
10395 |
<HR SIZE="6">
|
|
10396 |
<A NAME="SEC127"></A>
|
|
10397 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10398 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC126"> < </A>]</TD>
|
|
10399 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC128"> > </A>]</TD>
|
|
10400 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10401 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10402 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10403 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10404 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10405 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10406 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10407 |
</TR></TABLE>
|
|
10408 |
<H2> 11.14 VECTOR </H2>
|
|
10409 |
<!--docid::SEC127::-->
|
|
10410 |
<P>
|
|
10411 |
|
|
10412 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
10413 |
VECTOR vec_name=var_list.
|
|
10414 |
VECTOR vec_name_list(count).
|
|
10415 |
</pre></td></tr></table><P>
|
|
10416 |
|
|
10417 |
The VECTOR command allows a group of variables to be accessed as if they
|
|
10418 |
were consecutive members of an array with a vector(index) notation.
|
|
10419 |
</P>
|
|
10420 |
<P>
|
|
10421 |
|
|
10422 |
To make a vector out of a set of existing variables, specify a name for
|
|
10423 |
the vector followed by an equals sign (`<SAMP>=</SAMP>') and the variables that
|
|
10424 |
belong in the vector.
|
|
10425 |
</P>
|
|
10426 |
<P>
|
|
10427 |
|
|
10428 |
To make a vector and create variables at the same time, specify one or
|
|
10429 |
more vector names followed by a count in parentheses. This will cause
|
|
10430 |
variables named <CODE><VAR>vec</VAR>1</CODE> through <CODE><VAR>vec</VAR><VAR>count</VAR></CODE> to
|
|
10431 |
be created as numeric variables. Variable names including numeric
|
|
10432 |
suffixes may not exceed 8 characters in length, and none of the
|
|
10433 |
variables may exist prior to the VECTOR command.
|
|
10434 |
</P>
|
|
10435 |
<P>
|
|
10436 |
|
|
10437 |
All the variables in a vector must be the same type.
|
|
10438 |
</P>
|
|
10439 |
<P>
|
|
10440 |
|
|
10441 |
Vectors created with VECTOR disappear after any procedure or
|
|
10442 |
procedure-like command is executed. The variables contained in the
|
|
10443 |
vectors remain, unless they are scratch variables (see section <A HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A>).
|
|
10444 |
</P>
|
|
10445 |
<P>
|
|
10446 |
|
|
10447 |
Variables within a vector may be references in expressions using
|
|
10448 |
vector(index) syntax.
|
|
10449 |
</P>
|
|
10450 |
<P>
|
|
10451 |
|
|
10452 |
<A NAME="WRITE FORMATS"></A>
|
|
10453 |
<HR SIZE="6">
|
|
10454 |
<A NAME="SEC128"></A>
|
|
10455 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10456 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC127"> < </A>]</TD>
|
|
10457 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> > </A>]</TD>
|
|
10458 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10459 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> Up </A>]</TD>
|
|
10460 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> >> </A>]</TD>
|
|
10461 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10462 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10463 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10464 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10465 |
</TR></TABLE>
|
|
10466 |
<H2> 11.15 WRITE FORMATS </H2>
|
|
10467 |
<!--docid::SEC128::-->
|
|
10468 |
<P>
|
|
10469 |
|
|
10470 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">WRITE FORMATS var_list (fmt_spec).
|
|
10471 |
</pre></td></tr></table><P>
|
|
10472 |
|
|
10473 |
The WRITE FORMATS command sets the write formats for the specified
|
|
10474 |
variables to the specified format specification.
|
|
10475 |
</P>
|
|
10476 |
<P>
|
|
10477 |
|
|
10478 |
Syntax is identical to that of FORMATS (see section <A HREF="pspp.html#SEC117">11.4 FORMATS</A>), but the WRITE
|
|
10479 |
FORMATS command sets only write formats, not print formats.
|
|
10480 |
</P>
|
|
10481 |
<P>
|
|
10482 |
|
|
10483 |
<A NAME="Data Manipulation"></A>
|
|
10484 |
<HR SIZE="6">
|
|
10485 |
<A NAME="SEC129"></A>
|
|
10486 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10487 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC128"> < </A>]</TD>
|
|
10488 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC130"> > </A>]</TD>
|
|
10489 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC113"> << </A>]</TD>
|
|
10490 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
10491 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10492 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10493 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10494 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10495 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10496 |
</TR></TABLE>
|
|
10497 |
<H1> 12. Data transformations </H1>
|
|
10498 |
<!--docid::SEC129::-->
|
|
10499 |
<P>
|
|
10500 |
|
|
10501 |
The PSPP procedures examined in this chapter manipulate data and
|
|
10502 |
prepare the active file for later analyses. They do not produce output,
|
|
10503 |
as a rule.
|
|
10504 |
</P>
|
|
10505 |
<P>
|
|
10506 |
|
|
10507 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
10508 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC130">12.1 AGGREGATE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Summarize multiple cases into a single case.</TD></TR>
|
|
10509 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC131">12.2 AUTORECODE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Automatic recoding of variables.</TD></TR>
|
|
10510 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC132">12.3 COMPUTE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Assigning a variable a calculated value.</TD></TR>
|
|
10511 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC133">12.4 COUNT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Counting variables with particular values.</TD></TR>
|
|
10512 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC134">12.5 FLIP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Exchange variables with cases.</TD></TR>
|
|
10513 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC135">12.6 IF</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Conditionally assigning a calculated value.</TD></TR>
|
|
10514 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC136">12.7 RECODE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Mapping values from one set to another.</TD></TR>
|
|
10515 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC137">12.8 SORT CASES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Sort the active file.</TD></TR>
|
|
10516 |
</TABLE>
|
|
10517 |
<P>
|
|
10518 |
|
|
10519 |
<A NAME="AGGREGATE"></A>
|
|
10520 |
<HR SIZE="6">
|
|
10521 |
<A NAME="SEC130"></A>
|
|
10522 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10523 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> < </A>]</TD>
|
|
10524 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC131"> > </A>]</TD>
|
|
10525 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10526 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10527 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10528 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10529 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10530 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10531 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10532 |
</TR></TABLE>
|
|
10533 |
<H2> 12.1 AGGREGATE </H2>
|
|
10534 |
<!--docid::SEC130::-->
|
|
10535 |
<P>
|
|
10536 |
|
|
10537 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">AGGREGATE
|
|
10538 |
/BREAK=var_list
|
|
10539 |
/PRESORTED
|
|
10540 |
/OUTFILE={*,'filename'}
|
|
10541 |
/DOCUMENT
|
|
10542 |
/MISSING=COLUMNWISE
|
|
10543 |
/dest_vars=agr_func(src_vars, args<small>...</small>)<small>...</small>
|
|
10544 |
</pre></td></tr></table><P>
|
|
10545 |
|
|
10546 |
The AGGREGATE command summarizes groups of cases into single cases.
|
|
10547 |
Cases are divided into groups that have the same values for one or more
|
|
10548 |
variables called <EM>break variables</EM>. Several functions are available
|
|
10549 |
for summarizing case contents.
|
|
10550 |
</P>
|
|
10551 |
<P>
|
|
10552 |
|
|
10553 |
BREAK is the only required subcommand (in addition, at least one
|
|
10554 |
aggregation variable must be specified). Specify a list of variable
|
|
10555 |
names. The values of these variables are used to divide the active file
|
|
10556 |
into groups to be summarized.
|
|
10557 |
</P>
|
|
10558 |
<P>
|
|
10559 |
|
|
10560 |
By default, the active file is sorted based on the break variables
|
|
10561 |
before aggregation takes place. If the active file is already sorted,
|
|
10562 |
specify PRESORTED to save time.
|
|
10563 |
</P>
|
|
10564 |
<P>
|
|
10565 |
|
|
10566 |
The OUTFILE subcommand specifies a system file by file name string or
|
|
10567 |
file handle (see section <A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>). The aggregated cases are sent to
|
|
10568 |
this file. If OUTFILE is not specified, or if `<SAMP>*</SAMP>' is specified,
|
|
10569 |
then the aggregated cases replace the active file.
|
|
10570 |
</P>
|
|
10571 |
<P>
|
|
10572 |
|
|
10573 |
Normally the aggregate file does not receive the documents from the
|
|
10574 |
active file, even if the aggregate file replaces the active file.
|
|
10575 |
Specify DOCUMENT to have the documents from the active file copied to
|
|
10576 |
the aggregate file.
|
|
10577 |
</P>
|
|
10578 |
<P>
|
|
10579 |
|
|
10580 |
At least one aggregation variable must be specified. Specify a list of
|
|
10581 |
aggregation variables, an equals sign (`<SAMP>=</SAMP>'), an aggregation
|
|
10582 |
function name (see the list below), and a list of source variables in
|
|
10583 |
parentheses. In addition, some aggregation functions expect additional
|
|
10584 |
arguments in the parentheses following the source variable names.
|
|
10585 |
</P>
|
|
10586 |
<P>
|
|
10587 |
|
|
10588 |
There must be exactly as many source variables as aggregation variables.
|
|
10589 |
Each aggregation variable receives the results of applying the specified
|
|
10590 |
aggregation function to the corresponding source variable. Most
|
|
10591 |
aggregation functions may be applied to numeric and short and long
|
|
10592 |
string variables. Others are restricted to numeric values; these are
|
|
10593 |
marked as such in this list below.
|
|
10594 |
</P>
|
|
10595 |
<P>
|
|
10596 |
|
|
10597 |
Any number of sets of aggregation variables may be specified.
|
|
10598 |
</P>
|
|
10599 |
<P>
|
|
10600 |
|
|
10601 |
The available aggregation functions are as follows:
|
|
10602 |
</P>
|
|
10603 |
<P>
|
|
10604 |
|
|
10605 |
</P>
|
|
10606 |
<DL COMPACT>
|
|
10607 |
<DT>SUM(var_name)
|
|
10608 |
<DD>Sum. Limited to numeric values.
|
|
10609 |
<DT>MEAN(var_name)
|
|
10610 |
<DD>Arithmetic mean. Limited to numeric values.
|
|
10611 |
<DT>SD(var_name)
|
|
10612 |
<DD>Standard deviation of the mean. Limited to numeric values.
|
|
10613 |
<DT>MAX(var_name)
|
|
10614 |
<DD>Maximum value.
|
|
10615 |
<DT>MIN(var_name)
|
|
10616 |
<DD>Minimum value.
|
|
10617 |
<DT>FGT(var_name, value)
|
|
10618 |
<DD><DT>PGT(var_name, value)
|
|
10619 |
<DD>Fraction between 0 and 1, or percentage between 0 and 100, respectively,
|
|
10620 |
of values greater than the specified constant.
|
|
10621 |
<DT>FLT(var_name, value)
|
|
10622 |
<DD><DT>PLT(var_name, value)
|
|
10623 |
<DD>Fraction or percentage, respectively, of values less than the specified
|
|
10624 |
constant.
|
|
10625 |
<DT>FIN(var_name, low, high)
|
|
10626 |
<DD><DT>PIN(var_name, low, high)
|
|
10627 |
<DD>Fraction or percentage, respectively, of values within the specified
|
|
10628 |
inclusive range of constants.
|
|
10629 |
<DT>FOUT(var_name, low, high)
|
|
10630 |
<DD><DT>POUT(var_name, low, high)
|
|
10631 |
<DD>Fraction or percentage, respectively, of values strictly outside the
|
|
10632 |
specified range of constants.
|
|
10633 |
<DT>N(var_name)
|
|
10634 |
<DD>Number of non-missing values.
|
|
10635 |
<DT>N
|
|
10636 |
<DD>Number of cases aggregated to form this group. Don't supply a source
|
|
10637 |
variable for this aggregation function.
|
|
10638 |
<DT>NU(var_name)
|
|
10639 |
<DD>Number of non-missing values. Each case is considered to have a weight
|
|
10640 |
of 1, regardless of the current weighting variable (see section <A HREF="pspp.html#SEC146">13.8 WEIGHT</A>).
|
|
10641 |
<DT>NU
|
|
10642 |
<DD>Number of cases aggregated to form this group. Each case is considered
|
|
10643 |
to have a weight of 1, regardless of the current weighting variable.
|
|
10644 |
<DT>NMISS(var_name)
|
|
10645 |
<DD>Number of missing values.
|
|
10646 |
<DT>NUMISS(var_name)
|
|
10647 |
<DD>Number of missing values. Each case is considered to have a weight of
|
|
10648 |
1, regardless of the current weighting variable.
|
|
10649 |
<DT>FIRST(var_name)
|
|
10650 |
<DD>First value in this group.
|
|
10651 |
<DT>LAST(var_name)
|
|
10652 |
<DD>Last value in this group.
|
|
10653 |
</DL>
|
|
10654 |
<P>
|
|
10655 |
|
|
10656 |
When string values are compared by aggregation functions, they are done
|
|
10657 |
in terms of internal character codes. On most modern computers, this is
|
|
10658 |
a form of ASCII.
|
|
10659 |
</P>
|
|
10660 |
<P>
|
|
10661 |
|
|
10662 |
In addition, there is a parallel set of aggregation functions having the
|
|
10663 |
same names as those above, but with a dot after the last character (for
|
|
10664 |
instance, `<SAMP>SUM.</SAMP>'). These functions are the same as the above,
|
|
10665 |
except that they cause user-missing values, which are normally excluded
|
|
10666 |
from calculations, to be included.
|
|
10667 |
</P>
|
|
10668 |
<P>
|
|
10669 |
|
|
10670 |
Normally, only a single case (2 for SD and SD.) need be non-missing in
|
|
10671 |
each group in order for the aggregate variable to be non-missing. If
|
|
10672 |
/MISSING=COLUMNWISE is specified, the behavior reverses: that is, a
|
|
10673 |
single missing value is enough to make the aggregate variable become a
|
|
10674 |
missing value.
|
|
10675 |
</P>
|
|
10676 |
<P>
|
|
10677 |
|
|
10678 |
AGGREGATE ignores the current SPLIT FILE settings and causes them to be
|
|
10679 |
canceled (see section <A HREF="pspp.html#SEC144">13.6 SPLIT FILE</A>).
|
|
10680 |
</P>
|
|
10681 |
<P>
|
|
10682 |
|
|
10683 |
<A NAME="AUTORECODE"></A>
|
|
10684 |
<HR SIZE="6">
|
|
10685 |
<A NAME="SEC131"></A>
|
|
10686 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10687 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC130"> < </A>]</TD>
|
|
10688 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC132"> > </A>]</TD>
|
|
10689 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10690 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10691 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10692 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10693 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10694 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10695 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10696 |
</TR></TABLE>
|
|
10697 |
<H2> 12.2 AUTORECODE </H2>
|
|
10698 |
<!--docid::SEC131::-->
|
|
10699 |
<P>
|
|
10700 |
|
|
10701 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">AUTORECODE VARIABLES=src_vars INTO dest_vars
|
|
10702 |
/DESCENDING
|
|
10703 |
/PRINT
|
|
10704 |
</pre></td></tr></table><P>
|
|
10705 |
|
|
10706 |
The AUTORECODE procedure considers the <VAR>n</VAR> values that a variable
|
|
10707 |
takes on and maps them onto values 1<small>...</small><VAR>n</VAR> on a new numeric
|
|
10708 |
variable.
|
|
10709 |
</P>
|
|
10710 |
<P>
|
|
10711 |
|
|
10712 |
Subcommand VARIABLES is the only required subcommand and must come
|
|
10713 |
first. Specify VARIABLES, an equals sign (`<SAMP>=</SAMP>'), a list of source
|
|
10714 |
variables, INTO, and a list of target variables. There must the same
|
|
10715 |
number of source and target variables. The target variables must not
|
|
10716 |
already exist.
|
|
10717 |
</P>
|
|
10718 |
<P>
|
|
10719 |
|
|
10720 |
By default, increasing values of a source variable (for a string, this
|
|
10721 |
is based on character code comparisons) are recoded to increasing values
|
|
10722 |
of its target variable. To cause increasing values of a source variable
|
|
10723 |
to be recoded to decreasing values of its target variable (<VAR>n</VAR> down
|
|
10724 |
to 1), specify DESCENDING.
|
|
10725 |
</P>
|
|
10726 |
<P>
|
|
10727 |
|
|
10728 |
PRINT is currently ignored.
|
|
10729 |
</P>
|
|
10730 |
<P>
|
|
10731 |
|
|
10732 |
AUTORECODE is a procedure. It causes the data to be read.
|
|
10733 |
</P>
|
|
10734 |
<P>
|
|
10735 |
|
|
10736 |
<A NAME="COMPUTE"></A>
|
|
10737 |
<HR SIZE="6">
|
|
10738 |
<A NAME="SEC132"></A>
|
|
10739 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10740 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC131"> < </A>]</TD>
|
|
10741 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC133"> > </A>]</TD>
|
|
10742 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10743 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10744 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10745 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10746 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10747 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10748 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10749 |
</TR></TABLE>
|
|
10750 |
<H2> 12.3 COMPUTE </H2>
|
|
10751 |
<!--docid::SEC132::-->
|
|
10752 |
<P>
|
|
10753 |
|
|
10754 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">COMPUTE var_name = expression.
|
|
10755 |
</pre></td></tr></table><P>
|
|
10756 |
|
|
10757 |
<CODE>COMPUTE</CODE> creates a variable with the name specified (if
|
|
10758 |
necessary), then evaluates the given expression for every case and
|
|
10759 |
assigns the result to the variable. See section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>.
|
|
10760 |
</P>
|
|
10761 |
<P>
|
|
10762 |
|
|
10763 |
Numeric variables created or computed by <CODE>COMPUTE</CODE> are assigned an
|
|
10764 |
output width of 8 character with two decimal places (<CODE>F8.2</CODE>).
|
|
10765 |
String variables created or computed by <CODE>COMPUTE</CODE> have the same
|
|
10766 |
width as the existing variable or constant.
|
|
10767 |
</P>
|
|
10768 |
<P>
|
|
10769 |
|
|
10770 |
COMPUTE is a transformation. It does not cause the active file to be
|
|
10771 |
read.
|
|
10772 |
</P>
|
|
10773 |
<P>
|
|
10774 |
|
|
10775 |
<A NAME="COUNT"></A>
|
|
10776 |
<HR SIZE="6">
|
|
10777 |
<A NAME="SEC133"></A>
|
|
10778 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10779 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC132"> < </A>]</TD>
|
|
10780 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC134"> > </A>]</TD>
|
|
10781 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10782 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10783 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10784 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10785 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10786 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10787 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10788 |
</TR></TABLE>
|
|
10789 |
<H2> 12.4 COUNT </H2>
|
|
10790 |
<!--docid::SEC133::-->
|
|
10791 |
<P>
|
|
10792 |
|
|
10793 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">COUNT var_name = var<small>...</small> (value<small>...</small>).
|
|
10794 |
|
|
10795 |
Each value takes one of the following forms:
|
|
10796 |
number
|
|
10797 |
string
|
|
10798 |
num1 THRU num2
|
|
10799 |
MISSING
|
|
10800 |
SYSMIS
|
|
10801 |
In addition, num1 and num2 can be LO or LOWEST, or HI or HIGHEST,
|
|
10802 |
respectively.
|
|
10803 |
</pre></td></tr></table><P>
|
|
10804 |
|
|
10805 |
<CODE>COUNT</CODE> creates or replaces a numeric <EM>target</EM> variable that
|
|
10806 |
counts the occurrence of a <EM>criterion</EM> value or set of values over
|
|
10807 |
one or more <EM>test</EM> variables for each case.
|
|
10808 |
</P>
|
|
10809 |
<P>
|
|
10810 |
|
|
10811 |
The target variable values are always nonnegative integers. They are
|
|
10812 |
never missing. The target variable is assigned an F8.2 output format.
|
|
10813 |
See section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>. Any variables, including long and short
|
|
10814 |
string variables, may be test variables.
|
|
10815 |
</P>
|
|
10816 |
<P>
|
|
10817 |
|
|
10818 |
User-missing values of test variables are treated just like any other
|
|
10819 |
values. They are <STRONG>not</STRONG> treated as system-missing values.
|
|
10820 |
User-missing values that are criterion values or inside ranges of
|
|
10821 |
criterion values are counted as any other values. However (for numeric
|
|
10822 |
variables), keyword <CODE>MISSING</CODE> may be used to refer to all system-
|
|
10823 |
and user-missing values.
|
|
10824 |
</P>
|
|
10825 |
<P>
|
|
10826 |
|
|
10827 |
<CODE>COUNT</CODE> target variables are assigned values in the order
|
|
10828 |
specified. In the command <CODE>COUNT A=A B(1) /B=A B(2).</CODE>, the
|
|
10829 |
following actions occur:
|
|
10830 |
</P>
|
|
10831 |
<P>
|
|
10832 |
|
|
10833 |
<UL>
|
|
10834 |
<LI>
|
|
10835 |
The number of occurrences of 1 between <CODE>A</CODE> and <CODE>B</CODE> is counted.
|
|
10836 |
<P>
|
|
10837 |
|
|
10838 |
</P>
|
|
10839 |
<LI>
|
|
10840 |
<CODE>A</CODE> is assigned this value.
|
|
10841 |
<P>
|
|
10842 |
|
|
10843 |
</P>
|
|
10844 |
<LI>
|
|
10845 |
The number of occurrences of 1 between <CODE>B</CODE> and the <STRONG>new</STRONG>
|
|
10846 |
value of <CODE>A</CODE> is counted.
|
|
10847 |
<P>
|
|
10848 |
|
|
10849 |
</P>
|
|
10850 |
<LI>
|
|
10851 |
<CODE>B</CODE> is assigned this value.
|
|
10852 |
</UL>
|
|
10853 |
<P>
|
|
10854 |
|
|
10855 |
Despite this ordering, all <CODE>COUNT</CODE> criterion variables must exist
|
|
10856 |
before the procedure is executed--they may not be created as target
|
|
10857 |
variables earlier in the command! Break such a command into two
|
|
10858 |
separate commands.
|
|
10859 |
</P>
|
|
10860 |
<P>
|
|
10861 |
|
|
10862 |
The examples below may help to clarify.
|
|
10863 |
</P>
|
|
10864 |
<P>
|
|
10865 |
|
|
10866 |
<OL>
|
|
10867 |
<LI>
|
|
10868 |
Assuming <CODE>Q0</CODE>, <CODE>Q2</CODE>, <small>...</small>, <CODE>Q9</CODE> are numeric variables,
|
|
10869 |
the following commands:
|
|
10870 |
<P>
|
|
10871 |
|
|
10872 |
<OL>
|
|
10873 |
<LI>
|
|
10874 |
Count the number of times the value 1 occurs through these variables
|
|
10875 |
for each case and assigns the count to variable <CODE>QCOUNT</CODE>.
|
|
10876 |
<P>
|
|
10877 |
|
|
10878 |
</P>
|
|
10879 |
<LI>
|
|
10880 |
Print out the total number of times the value 1 occurs throughout
|
|
10881 |
<EM>all</EM> cases using <CODE>DESCRIPTIVES</CODE>. See section <A HREF="pspp.html#SEC153">15.1 DESCRIPTIVES</A>, for
|
|
10882 |
details.
|
|
10883 |
</OL>
|
|
10884 |
<P>
|
|
10885 |
|
|
10886 |
<TABLE><tr><td> </td><td class=example><pre>COUNT QCOUNT=Q0 TO Q9(1).
|
|
10887 |
DESCRIPTIVES QCOUNT /STATISTICS=SUM.
|
|
10888 |
</pre></td></tr></table><P>
|
|
10889 |
|
|
10890 |
</P>
|
|
10891 |
<LI>
|
|
10892 |
Given these same variables, the following commands:
|
|
10893 |
<P>
|
|
10894 |
|
|
10895 |
<OL>
|
|
10896 |
<LI>
|
|
10897 |
Count the number of valid values of these variables for each case and
|
|
10898 |
assigns the count to variable <CODE>QVALID</CODE>.
|
|
10899 |
<P>
|
|
10900 |
|
|
10901 |
</P>
|
|
10902 |
<LI>
|
|
10903 |
Multiplies each value of <CODE>QVALID</CODE> by 10 to obtain a percentage of
|
|
10904 |
valid values, using <CODE>COMPUTE</CODE>. See section <A HREF="pspp.html#SEC132">12.3 COMPUTE</A>, for details.
|
|
10905 |
<P>
|
|
10906 |
|
|
10907 |
</P>
|
|
10908 |
<LI>
|
|
10909 |
Print out the percentage of valid values across all cases, using
|
|
10910 |
<CODE>DESCRIPTIVES</CODE>. See section <A HREF="pspp.html#SEC153">15.1 DESCRIPTIVES</A>, for details.
|
|
10911 |
</OL>
|
|
10912 |
<P>
|
|
10913 |
|
|
10914 |
<TABLE><tr><td> </td><td class=example><pre>COUNT QVALID=Q0 TO Q9 (LO THRU HI).
|
|
10915 |
COMPUTE QVALID=QVALID*10.
|
|
10916 |
DESCRIPTIVES QVALID /STATISTICS=MEAN.
|
|
10917 |
</pre></td></tr></table></OL>
|
|
10918 |
<P>
|
|
10919 |
|
|
10920 |
<A NAME="FLIP"></A>
|
|
10921 |
<HR SIZE="6">
|
|
10922 |
<A NAME="SEC134"></A>
|
|
10923 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10924 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC133"> < </A>]</TD>
|
|
10925 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC135"> > </A>]</TD>
|
|
10926 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10927 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10928 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10929 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10930 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10931 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10932 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10933 |
</TR></TABLE>
|
|
10934 |
<H2> 12.5 FLIP </H2>
|
|
10935 |
<!--docid::SEC134::-->
|
|
10936 |
<P>
|
|
10937 |
|
|
10938 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FLIP /VARIABLES=var_list /NEWNAMES=var_name.
|
|
10939 |
</pre></td></tr></table><P>
|
|
10940 |
|
|
10941 |
The FLIP command transposes rows and columns in the active file. It
|
|
10942 |
causes cases to be swapped with variables, and vice versa.
|
|
10943 |
</P>
|
|
10944 |
<P>
|
|
10945 |
|
|
10946 |
There are no required subcommands. The VARIABLES subcommand specifies
|
|
10947 |
variables that will be transformed into cases. Variables not specified
|
|
10948 |
are discarded. By default, all variables are selected for
|
|
10949 |
transposition.
|
|
10950 |
</P>
|
|
10951 |
<P>
|
|
10952 |
|
|
10953 |
The variables specified by NEWNAMES, which must be a string variable, is
|
|
10954 |
used to give names to the variables created by FLIP. If NEWNAMES is not
|
|
10955 |
specified then the default is a variable named CASE_LBL, if it exists.
|
|
10956 |
If it does not then the variables created by FLIP are named VAR000
|
|
10957 |
through VAR999, then VAR1000, VAR1001, and so on.
|
|
10958 |
</P>
|
|
10959 |
<P>
|
|
10960 |
|
|
10961 |
When a NEWNAMES variable is available, the names must be canonicalized
|
|
10962 |
before becoming variable names. Invalid characters are replaced by
|
|
10963 |
letter `<SAMP>V</SAMP>' in the first position, or by `<SAMP>_</SAMP>' in subsequent
|
|
10964 |
positions. If the name thus generated is not unique, then numeric
|
|
10965 |
extensions are added, starting with 1, until a unique name is found or
|
|
10966 |
there are no remaining possibilities. If the latter occurs then the
|
|
10967 |
FLIP operation aborts.
|
|
10968 |
</P>
|
|
10969 |
<P>
|
|
10970 |
|
|
10971 |
The resultant dictionary contains a CASE_LBL variable, which stores the
|
|
10972 |
names of the variables in the dictionary before the transposition. If
|
|
10973 |
the active file is subsequently transposed using FLIP, this variable can
|
|
10974 |
be used to recreate the original variable names.
|
|
10975 |
</P>
|
|
10976 |
<P>
|
|
10977 |
|
|
10978 |
<A NAME="IF"></A>
|
|
10979 |
<HR SIZE="6">
|
|
10980 |
<A NAME="SEC135"></A>
|
|
10981 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
10982 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC134"> < </A>]</TD>
|
|
10983 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC136"> > </A>]</TD>
|
|
10984 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
10985 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
10986 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
10987 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
10988 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
10989 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
10990 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
10991 |
</TR></TABLE>
|
|
10992 |
<H2> 12.6 IF </H2>
|
|
10993 |
<!--docid::SEC135::-->
|
|
10994 |
<P>
|
|
10995 |
|
|
10996 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
10997 |
IF test_expr target_var=target_expr.
|
|
10998 |
IF test_expr target_vec(target_index)=target_expr.
|
|
10999 |
</pre></td></tr></table><P>
|
|
11000 |
|
|
11001 |
The IF transformation conditionally assigns the value of a target
|
|
11002 |
expression to a target variable, based on the truth of a test
|
|
11003 |
expression.
|
|
11004 |
</P>
|
|
11005 |
<P>
|
|
11006 |
|
|
11007 |
Specify a boolean-valued expression (see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>) to be tested
|
|
11008 |
following the IF keyword. This expression is calculated for each case.
|
|
11009 |
If the value is true, then the value of target_expr is computed and
|
|
11010 |
assigned to target_var. If the value is false or missing, nothing is
|
|
11011 |
done. Numeric and short and long string variables may be used. The
|
|
11012 |
type of target_expr must match the type of target_var.
|
|
11013 |
</P>
|
|
11014 |
<P>
|
|
11015 |
|
|
11016 |
For numeric variables only, target_var need not exist before the IF
|
|
11017 |
transformation is executed. In this case, target_var is assigned the
|
|
11018 |
system-missing value if the IF condition is not true. String variables
|
|
11019 |
must be declared before they can be used as targets for IF.
|
|
11020 |
</P>
|
|
11021 |
<P>
|
|
11022 |
|
|
11023 |
In addition to ordinary variables, the target variable may be an element
|
|
11024 |
of a vector. In this case, the vector index must be specified in
|
|
11025 |
parentheses following the vector name.
|
|
11026 |
</P>
|
|
11027 |
<P>
|
|
11028 |
|
|
11029 |
<A NAME="RECODE"></A>
|
|
11030 |
<HR SIZE="6">
|
|
11031 |
<A NAME="SEC136"></A>
|
|
11032 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11033 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC135"> < </A>]</TD>
|
|
11034 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC137"> > </A>]</TD>
|
|
11035 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
11036 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
11037 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
11038 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11039 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11040 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11041 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11042 |
</TR></TABLE>
|
|
11043 |
<H2> 12.7 RECODE </H2>
|
|
11044 |
<!--docid::SEC136::-->
|
|
11045 |
<P>
|
|
11046 |
|
|
11047 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">RECODE var_list (src_value<small>...</small>=dest_value)<small>...</small> [INTO var_list].
|
|
11048 |
|
|
11049 |
src_value may take the following forms:
|
|
11050 |
number
|
|
11051 |
string
|
|
11052 |
num1 THRU num2
|
|
11053 |
MISSING
|
|
11054 |
SYSMIS
|
|
11055 |
ELSE
|
|
11056 |
Open-ended ranges may be specified using LO or LOWEST for num1
|
|
11057 |
or HI or HIGHEST for num2.
|
|
11058 |
|
|
11059 |
dest_value may take the following forms:
|
|
11060 |
num
|
|
11061 |
string
|
|
11062 |
SYSMIS
|
|
11063 |
COPY
|
|
11064 |
</pre></td></tr></table><P>
|
|
11065 |
|
|
11066 |
The RECODE command is used to translate data from one range of values to
|
|
11067 |
another, using flexible user-specified mappings. Data may be remapped
|
|
11068 |
in-place or copied to new variables. Numeric, short string, and long
|
|
11069 |
string data can be recoded.
|
|
11070 |
</P>
|
|
11071 |
<P>
|
|
11072 |
|
|
11073 |
Specify the list of source variables, followed by one or more mapping
|
|
11074 |
specifications each enclosed in parentheses. If the data is to be
|
|
11075 |
copied to new variables, specify INTO, then the list of target
|
|
11076 |
variables. String target variables must already have been declared
|
|
11077 |
using STRING or another transformation, but numeric target variables can
|
|
11078 |
be created on the fly. There must be exactly as many target variables
|
|
11079 |
as source variables. Each source variable is remapped into its
|
|
11080 |
corresponding target variable.
|
|
11081 |
</P>
|
|
11082 |
<P>
|
|
11083 |
|
|
11084 |
When INTO is not used, the input and output variables must be of the
|
|
11085 |
same type. Otherwise, string values can be recoded into numeric values,
|
|
11086 |
and vice versa. When this is done and there is no mapping for a
|
|
11087 |
particular value, either a value consisting of all spaces or the
|
|
11088 |
system-missing value is assigned, depending on variable type.
|
|
11089 |
</P>
|
|
11090 |
<P>
|
|
11091 |
|
|
11092 |
Mappings are considered from left to right. The first src_value that
|
|
11093 |
matches the value of the source variable causes the target variable to
|
|
11094 |
receive the value indicated by the dest_value. Literal number, string,
|
|
11095 |
and range src_value's should be self-explanatory. MISSING as a
|
|
11096 |
src_value matches any user- or system-missing value. SYSMIS matches the
|
|
11097 |
system missing value only. ELSE is a catch-all that matches anything.
|
|
11098 |
It should be the last src_value specified.
|
|
11099 |
</P>
|
|
11100 |
<P>
|
|
11101 |
|
|
11102 |
Numeric and string dest_value's should also be self-explanatory. COPY
|
|
11103 |
causes the input values to be copied to the output. This is only value
|
|
11104 |
if the source and target variables are of the same type. SYSMIS
|
|
11105 |
indicates the system-missing value.
|
|
11106 |
</P>
|
|
11107 |
<P>
|
|
11108 |
|
|
11109 |
If the source variables are strings and the target variables are
|
|
11110 |
numeric, then there is one additional mapping available: (CONVERT),
|
|
11111 |
which must be the last specified mapping. CONVERT causes a number
|
|
11112 |
specified as a string to be converted to a numeric value. If the string
|
|
11113 |
cannot be parsed as a number, then the system-missing value is assigned.
|
|
11114 |
</P>
|
|
11115 |
<P>
|
|
11116 |
|
|
11117 |
Multiple recodings can be specified on the same RECODE command.
|
|
11118 |
Introduce additional recodings with a slash (`<SAMP>/</SAMP>') in order to
|
|
11119 |
separate them from the previous recodings.
|
|
11120 |
</P>
|
|
11121 |
<P>
|
|
11122 |
|
|
11123 |
<A NAME="SORT CASES"></A>
|
|
11124 |
<HR SIZE="6">
|
|
11125 |
<A NAME="SEC137"></A>
|
|
11126 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11127 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC136"> < </A>]</TD>
|
|
11128 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> > </A>]</TD>
|
|
11129 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
11130 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> Up </A>]</TD>
|
|
11131 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> >> </A>]</TD>
|
|
11132 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11133 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11134 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11135 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11136 |
</TR></TABLE>
|
|
11137 |
<H2> 12.8 SORT CASES </H2>
|
|
11138 |
<!--docid::SEC137::-->
|
|
11139 |
<P>
|
|
11140 |
|
|
11141 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SORT CASES BY var_list.
|
|
11142 |
</pre></td></tr></table><P>
|
|
11143 |
|
|
11144 |
SORT CASES sorts the active file by the values of one or more
|
|
11145 |
variables.
|
|
11146 |
</P>
|
|
11147 |
<P>
|
|
11148 |
|
|
11149 |
Specify BY and a list of variables to sort by. By default, variables
|
|
11150 |
are sorted in ascending order. To override sort order, specify (D) or
|
|
11151 |
(DOWN) after a list of variables to get descending order, or (A) or (UP)
|
|
11152 |
for ascending order. These apply to the entire list of variables
|
|
11153 |
preceding them.
|
|
11154 |
</P>
|
|
11155 |
<P>
|
|
11156 |
|
|
11157 |
SORT CASES is a procedure. It causes the data to be read.
|
|
11158 |
</P>
|
|
11159 |
<P>
|
|
11160 |
|
|
11161 |
SORT CASES will attempt to sort the entire active file in main memory.
|
|
11162 |
If main memory is exhausted then it will use a merge sort algorithm that
|
|
11163 |
involves writing and reading numerous temporary files. Environment
|
|
11164 |
variables determine the temporary files' location. The first of
|
|
11165 |
SPSSTMPDIR, SPSSXTMPDIR, or TMPDIR that is set determines the location.
|
|
11166 |
Otherwise, if the compiler environment defined P_tmpdir, that is used.
|
|
11167 |
Otherwise, under Unix-like OSes /tmp is used; under MS-DOS, the first of
|
|
11168 |
TEMP, TMP, or root on the current drive is used; under other OSes, the
|
|
11169 |
current directory.
|
|
11170 |
</P>
|
|
11171 |
<P>
|
|
11172 |
|
|
11173 |
<A NAME="Data Selection"></A>
|
|
11174 |
<HR SIZE="6">
|
|
11175 |
<A NAME="SEC138"></A>
|
|
11176 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11177 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC137"> < </A>]</TD>
|
|
11178 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC139"> > </A>]</TD>
|
|
11179 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC129"> << </A>]</TD>
|
|
11180 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
11181 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11182 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11183 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11184 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11185 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11186 |
</TR></TABLE>
|
|
11187 |
<H1> 13. Selecting data for analysis </H1>
|
|
11188 |
<!--docid::SEC138::-->
|
|
11189 |
<P>
|
|
11190 |
|
|
11191 |
This chapter documents PSPP commands that temporarily or permanently
|
|
11192 |
select data records from the active file for analysis.
|
|
11193 |
</P>
|
|
11194 |
<P>
|
|
11195 |
|
|
11196 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
11197 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC139">13.1 FILTER</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Exclude cases based on a variable.</TD></TR>
|
|
11198 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC140">13.2 N OF CASES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Limit the size of the active file.</TD></TR>
|
|
11199 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC141">13.3 PROCESS IF</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Temporarily excluding cases.</TD></TR>
|
|
11200 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC142">13.4 SAMPLE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Select a specified proportion of cases.</TD></TR>
|
|
11201 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC143">13.5 SELECT IF</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Permanently delete selected cases.</TD></TR>
|
|
11202 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC144">13.6 SPLIT FILE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Do multiple analyses with one command.</TD></TR>
|
|
11203 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC145">13.7 TEMPORARY</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Make transformations' effects temporary.</TD></TR>
|
|
11204 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC146">13.8 WEIGHT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Weight cases by a variable.</TD></TR>
|
|
11205 |
</TABLE>
|
|
11206 |
<P>
|
|
11207 |
|
|
11208 |
<A NAME="FILTER"></A>
|
|
11209 |
<HR SIZE="6">
|
|
11210 |
<A NAME="SEC139"></A>
|
|
11211 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11212 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> < </A>]</TD>
|
|
11213 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC140"> > </A>]</TD>
|
|
11214 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11215 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11216 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11217 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11218 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11219 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11220 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11221 |
</TR></TABLE>
|
|
11222 |
<H2> 13.1 FILTER </H2>
|
|
11223 |
<!--docid::SEC139::-->
|
|
11224 |
<P>
|
|
11225 |
|
|
11226 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FILTER BY var_name.
|
|
11227 |
FILTER OFF.
|
|
11228 |
</pre></td></tr></table><P>
|
|
11229 |
|
|
11230 |
The FILTER command allows a boolean-valued variable to be used to select
|
|
11231 |
cases from the data stream for processing.
|
|
11232 |
</P>
|
|
11233 |
<P>
|
|
11234 |
|
|
11235 |
In order to set up filtering, specify BY and a variable name. Keyword
|
|
11236 |
BY is optional but recommended. Cases which have a zero or system- or
|
|
11237 |
user-missing value are excluded from analysis, but not deleted from the
|
|
11238 |
data stream. Cases with other values are analyzed.
|
|
11239 |
</P>
|
|
11240 |
<P>
|
|
11241 |
|
|
11242 |
Use FILTER OFF to turn off case filtering.
|
|
11243 |
</P>
|
|
11244 |
<P>
|
|
11245 |
|
|
11246 |
Filtering takes place immediately before cases pass to a procedure for
|
|
11247 |
analysis. Only one filter variable may be active at once. Normally,
|
|
11248 |
case filtering continues until it is explicitly turned off with FILTER
|
|
11249 |
OFF. However, if FILTER is placed after TEMPORARY, then filtering stops
|
|
11250 |
after execution of the next procedure or procedure-like command.
|
|
11251 |
</P>
|
|
11252 |
<P>
|
|
11253 |
|
|
11254 |
<A NAME="N OF CASES"></A>
|
|
11255 |
<HR SIZE="6">
|
|
11256 |
<A NAME="SEC140"></A>
|
|
11257 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11258 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC139"> < </A>]</TD>
|
|
11259 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC141"> > </A>]</TD>
|
|
11260 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11261 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11262 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11263 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11264 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11265 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11266 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11267 |
</TR></TABLE>
|
|
11268 |
<H2> 13.2 N OF CASES </H2>
|
|
11269 |
<!--docid::SEC140::-->
|
|
11270 |
<P>
|
|
11271 |
|
|
11272 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">N [OF CASES] num_of_cases [ESTIMATED].
|
|
11273 |
</pre></td></tr></table><P>
|
|
11274 |
|
|
11275 |
Sometimes you may want to disregard cases of your input. The <CODE>N</CODE>
|
|
11276 |
command can be used to do this. <CODE>N 100</CODE> tells PSPP to
|
|
11277 |
disregard all cases after the first 100.
|
|
11278 |
</P>
|
|
11279 |
<P>
|
|
11280 |
|
|
11281 |
If the value specified for <CODE>N</CODE> is greater than the number of cases
|
|
11282 |
read in, the value is ignored.
|
|
11283 |
</P>
|
|
11284 |
<P>
|
|
11285 |
|
|
11286 |
<CODE>N</CODE> does not discard cases or cause them not to be read in. It
|
|
11287 |
just causes cases beyond the last one specified to be ignored by data
|
|
11288 |
analysis commands.
|
|
11289 |
</P>
|
|
11290 |
<P>
|
|
11291 |
|
|
11292 |
A later <CODE>N</CODE> command can increase or decrease the number of cases
|
|
11293 |
selected. (To select all the cases without knowing how many there are,
|
|
11294 |
specify a very high number: 100000 or whatever you think is large enough.)
|
|
11295 |
</P>
|
|
11296 |
<P>
|
|
11297 |
|
|
11298 |
Transformation procedures performed after <CODE>N</CODE> is executed
|
|
11299 |
<EM>do</EM> cause cases to be discarded.
|
|
11300 |
</P>
|
|
11301 |
<P>
|
|
11302 |
|
|
11303 |
The <CODE>SAMPLE</CODE>, <CODE>PROCESS IF</CODE>, and <CODE>SELECT IF</CODE> commands have
|
|
11304 |
precedence over <CODE>N</CODE>---the same results are obtained by both of the
|
|
11305 |
following fragments, given the same random number seeds:
|
|
11306 |
</P>
|
|
11307 |
<P>
|
|
11308 |
|
|
11309 |
<TABLE><tr><td> </td><td class=example><pre><I><small>...</small>set up, read in data<small>...</small></I>
|
|
11310 |
N 100.
|
|
11311 |
SAMPLE .5.
|
|
11312 |
<I><small>...</small>analyze data<small>...</small></I>
|
|
11313 |
|
|
11314 |
<I><small>...</small>set up, read in data<small>...</small></I>
|
|
11315 |
SAMPLE .5.
|
|
11316 |
N 100.
|
|
11317 |
<I><small>...</small>analyze data<small>...</small></I>
|
|
11318 |
</pre></td></tr></table><P>
|
|
11319 |
|
|
11320 |
Both fragments above first randomly sample approximately half of the
|
|
11321 |
cases, then select the first 100 of those sampled.
|
|
11322 |
</P>
|
|
11323 |
<P>
|
|
11324 |
|
|
11325 |
<CODE>N</CODE> with the <CODE>ESTIMATED</CODE> keyword can be used to give an
|
|
11326 |
estimated number of cases before DATA LIST or another command to
|
|
11327 |
read in data. (<CODE>ESTIMATED</CODE> never limits the number of cases
|
|
11328 |
processed by procedures.)
|
|
11329 |
</P>
|
|
11330 |
<P>
|
|
11331 |
|
|
11332 |
<A NAME="PROCESS IF"></A>
|
|
11333 |
<HR SIZE="6">
|
|
11334 |
<A NAME="SEC141"></A>
|
|
11335 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11336 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC140"> < </A>]</TD>
|
|
11337 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC142"> > </A>]</TD>
|
|
11338 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11339 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11340 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11341 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11342 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11343 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11344 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11345 |
</TR></TABLE>
|
|
11346 |
<H2> 13.3 PROCESS IF </H2>
|
|
11347 |
<!--docid::SEC141::-->
|
|
11348 |
<P>
|
|
11349 |
|
|
11350 |
<TABLE><tr><td> </td><td class=example><pre>PROCESS IF expression.
|
|
11351 |
</pre></td></tr></table><P>
|
|
11352 |
|
|
11353 |
The PROCESS IF command is used to temporarily eliminate cases from the
|
|
11354 |
data stream. Its effects are active only through the execution of the
|
|
11355 |
next procedure or procedure-like command.
|
|
11356 |
</P>
|
|
11357 |
<P>
|
|
11358 |
|
|
11359 |
Specify a boolean expression (see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>). If the value of the
|
|
11360 |
expression is true for a particular case, the case will be analyzed. If
|
|
11361 |
the expression has a false or missing value, then the case will be
|
|
11362 |
deleted from the data stream for this procedure only.
|
|
11363 |
</P>
|
|
11364 |
<P>
|
|
11365 |
|
|
11366 |
Regardless of its placement relative to other commands, PROCESS IF
|
|
11367 |
always takes effect immediately before data passes to the procedure.
|
|
11368 |
Only one PROCESS IF command may be in effect at any given time.
|
|
11369 |
</P>
|
|
11370 |
<P>
|
|
11371 |
|
|
11372 |
The effects of PROCESS IF are similar not identical to the effects of
|
|
11373 |
executing TEMPORARY then SELECT IF (see section <A HREF="pspp.html#SEC143">13.5 SELECT IF</A>).
|
|
11374 |
</P>
|
|
11375 |
<P>
|
|
11376 |
|
|
11377 |
Use of PROCESS IF is deprecated. It is included for compatibility with
|
|
11378 |
old command files. New syntax files should use SELECT IF or FILTER
|
|
11379 |
instead.
|
|
11380 |
</P>
|
|
11381 |
<P>
|
|
11382 |
|
|
11383 |
<A NAME="SAMPLE"></A>
|
|
11384 |
<HR SIZE="6">
|
|
11385 |
<A NAME="SEC142"></A>
|
|
11386 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11387 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC141"> < </A>]</TD>
|
|
11388 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC143"> > </A>]</TD>
|
|
11389 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11390 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11391 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11392 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11393 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11394 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11395 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11396 |
</TR></TABLE>
|
|
11397 |
<H2> 13.4 SAMPLE </H2>
|
|
11398 |
<!--docid::SEC142::-->
|
|
11399 |
<P>
|
|
11400 |
|
|
11401 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SAMPLE num1 [FROM num2].
|
|
11402 |
</pre></td></tr></table><P>
|
|
11403 |
|
|
11404 |
<CODE>SAMPLE</CODE> is used to randomly sample a proportion of the cases in
|
|
11405 |
the active file. <CODE>SAMPLE</CODE> is temporary, affecting only the next
|
|
11406 |
procedure, unless that is a data transformation, such as <CODE>SELECT IF</CODE>
|
|
11407 |
or <CODE>RECODE</CODE>.
|
|
11408 |
</P>
|
|
11409 |
<P>
|
|
11410 |
|
|
11411 |
The proportion to sample can be expressed as a single number between 0
|
|
11412 |
and 1. If <CODE>k</CODE> is the number specified, and <CODE>N</CODE> is the number
|
|
11413 |
of currently-selected cases in the active file, then after
|
|
11414 |
<CODE>SAMPLE <VAR>k</VAR>.</CODE>, there will be <CODE>k*N</CODE>, plus or minus one, cases
|
|
11415 |
selected.
|
|
11416 |
</P>
|
|
11417 |
<P>
|
|
11418 |
|
|
11419 |
The proportion to sample can also be specified in the style <CODE>SAMPLE
|
|
11420 |
<VAR>m</VAR> FROM <VAR>N</VAR></CODE>. With this style, cases are selected as follows:
|
|
11421 |
</P>
|
|
11422 |
<P>
|
|
11423 |
|
|
11424 |
<OL>
|
|
11425 |
<LI>
|
|
11426 |
If <VAR>N</VAR> is equal to the number of currently-selected cases in the
|
|
11427 |
active file, exactly <VAR>m</VAR> cases will be selected.
|
|
11428 |
<P>
|
|
11429 |
|
|
11430 |
</P>
|
|
11431 |
<LI>
|
|
11432 |
If <VAR>N</VAR> is greater than the number of currently-selected cases in the
|
|
11433 |
active file, an equivalent proportion of cases will be selected.
|
|
11434 |
<P>
|
|
11435 |
|
|
11436 |
</P>
|
|
11437 |
<LI>
|
|
11438 |
If <VAR>N</VAR> is less than the number of currently-selected cases in the
|
|
11439 |
active, exactly <VAR>m</VAR> cases will be selected <EM>from the first
|
|
11440 |
<VAR>N</VAR> cases in the active file.</EM>
|
|
11441 |
</OL>
|
|
11442 |
<P>
|
|
11443 |
|
|
11444 |
<CODE>SAMPLE</CODE>, <CODE>SELECT IF</CODE>, and <CODE>PROCESS IF</CODE> are performed in
|
|
11445 |
the order specified by the syntax file.
|
|
11446 |
</P>
|
|
11447 |
<P>
|
|
11448 |
|
|
11449 |
<CODE>SAMPLE</CODE> is ignored before <CODE>SORT CASES</CODE>.
|
|
11450 |
</P>
|
|
11451 |
<P>
|
|
11452 |
|
|
11453 |
<CODE>SAMPLE</CODE> is always performed before <CODE>N OF CASES</CODE>, regardless
|
|
11454 |
of ordering in the syntax file. See section <A HREF="pspp.html#SEC140">13.2 N OF CASES</A>.
|
|
11455 |
</P>
|
|
11456 |
<P>
|
|
11457 |
|
|
11458 |
The same values for <CODE>SAMPLE</CODE> may result in different samples. To
|
|
11459 |
obtain the same sample, use the <CODE>SET</CODE> command to set the random
|
|
11460 |
number seed to the same value before each <CODE>SAMPLE</CODE>. By default,
|
|
11461 |
the random number seed is based on the system time.
|
|
11462 |
</P>
|
|
11463 |
<P>
|
|
11464 |
|
|
11465 |
<A NAME="SELECT IF"></A>
|
|
11466 |
<HR SIZE="6">
|
|
11467 |
<A NAME="SEC143"></A>
|
|
11468 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11469 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC142"> < </A>]</TD>
|
|
11470 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC144"> > </A>]</TD>
|
|
11471 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11472 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11473 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11474 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11475 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11476 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11477 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11478 |
</TR></TABLE>
|
|
11479 |
<H2> 13.5 SELECT IF </H2>
|
|
11480 |
<!--docid::SEC143::-->
|
|
11481 |
<P>
|
|
11482 |
|
|
11483 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SELECT IF expression.
|
|
11484 |
</pre></td></tr></table><P>
|
|
11485 |
|
|
11486 |
The SELECT IF command is used to select particular cases for analysis
|
|
11487 |
based on the value of a boolean expression. Cases not selected are
|
|
11488 |
permanently eliminated, unless TEMPORARY is in effect
|
|
11489 |
(see section <A HREF="pspp.html#SEC145">13.7 TEMPORARY</A>).
|
|
11490 |
</P>
|
|
11491 |
<P>
|
|
11492 |
|
|
11493 |
Specify a boolean expression (see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>). If the value of the
|
|
11494 |
expression is true for a particular case, the case will be analyzed. If
|
|
11495 |
the expression has a false or missing value, then the case will be
|
|
11496 |
deleted from the data stream.
|
|
11497 |
</P>
|
|
11498 |
<P>
|
|
11499 |
|
|
11500 |
Always place SELECT IF commands as early in the command file as
|
|
11501 |
possible. Cases that are deleted early can be processed more
|
|
11502 |
efficiently in time and space.
|
|
11503 |
</P>
|
|
11504 |
<P>
|
|
11505 |
|
|
11506 |
<A NAME="SPLIT FILE"></A>
|
|
11507 |
<HR SIZE="6">
|
|
11508 |
<A NAME="SEC144"></A>
|
|
11509 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11510 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC143"> < </A>]</TD>
|
|
11511 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC145"> > </A>]</TD>
|
|
11512 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11513 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11514 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11515 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11516 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11517 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11518 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11519 |
</TR></TABLE>
|
|
11520 |
<H2> 13.6 SPLIT FILE </H2>
|
|
11521 |
<!--docid::SEC144::-->
|
|
11522 |
<P>
|
|
11523 |
|
|
11524 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
11525 |
SPLIT FILE BY var_list.
|
|
11526 |
SPLIT FILE OFF.
|
|
11527 |
</pre></td></tr></table><P>
|
|
11528 |
|
|
11529 |
The SPLIT FILE command allows multiple sets of data present in one data
|
|
11530 |
file to be analyzed separately using single statistical procedure
|
|
11531 |
commands.
|
|
11532 |
</P>
|
|
11533 |
<P>
|
|
11534 |
|
|
11535 |
Specify a list of variable names in order to analyze multiple sets of
|
|
11536 |
data separately. Groups of cases having the same values for these
|
|
11537 |
variables are analyzed by statistical procedure commands as one group.
|
|
11538 |
An independent analysis is carried out for each group of cases, and the
|
|
11539 |
variable values for the group are printed along with the analysis.
|
|
11540 |
</P>
|
|
11541 |
<P>
|
|
11542 |
|
|
11543 |
Specify OFF in order to disable SPLIT FILE and resume analysis of the
|
|
11544 |
entire active file as a single group of data.
|
|
11545 |
</P>
|
|
11546 |
<P>
|
|
11547 |
|
|
11548 |
<A NAME="TEMPORARY"></A>
|
|
11549 |
<HR SIZE="6">
|
|
11550 |
<A NAME="SEC145"></A>
|
|
11551 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11552 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC144"> < </A>]</TD>
|
|
11553 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC146"> > </A>]</TD>
|
|
11554 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11555 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11556 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11557 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11558 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11559 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11560 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11561 |
</TR></TABLE>
|
|
11562 |
<H2> 13.7 TEMPORARY </H2>
|
|
11563 |
<!--docid::SEC145::-->
|
|
11564 |
<P>
|
|
11565 |
|
|
11566 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">TEMPORARY.
|
|
11567 |
</pre></td></tr></table><P>
|
|
11568 |
|
|
11569 |
The TEMPORARY command is used to make the effects of transformations
|
|
11570 |
following its execution temporary. These transformations will
|
|
11571 |
affect only the execution of the next procedure or procedure-like
|
|
11572 |
command. Their effects will not be saved to the active file.
|
|
11573 |
</P>
|
|
11574 |
<P>
|
|
11575 |
|
|
11576 |
The only specification is the command name.
|
|
11577 |
</P>
|
|
11578 |
<P>
|
|
11579 |
|
|
11580 |
TEMPORARY may not appear within a DO IF or LOOP construct. It may
|
|
11581 |
appear only once between procedures and procedure-like commands.
|
|
11582 |
</P>
|
|
11583 |
<P>
|
|
11584 |
|
|
11585 |
An example may help to clarify:
|
|
11586 |
</P>
|
|
11587 |
<P>
|
|
11588 |
|
|
11589 |
<TABLE><tr><td> </td><td class=example><pre>DATA LIST /X 1-2.
|
|
11590 |
BEGIN DATA.
|
|
11591 |
2
|
|
11592 |
4
|
|
11593 |
10
|
|
11594 |
15
|
|
11595 |
20
|
|
11596 |
24
|
|
11597 |
END DATA.
|
|
11598 |
COMPUTE X=X/2.
|
|
11599 |
TEMPORARY.
|
|
11600 |
COMPUTE X=X+3.
|
|
11601 |
DESCRIPTIVES X.
|
|
11602 |
DESCRIPTIVES X.
|
|
11603 |
</pre></td></tr></table><P>
|
|
11604 |
|
|
11605 |
The data read by the first DESCRIPTIVES command are 4, 5, 8,
|
|
11606 |
10.5, 13, 15. The data read by the first DESCRIPTIVES command are 1, 2,
|
|
11607 |
5, 7.5, 10, 12.
|
|
11608 |
</P>
|
|
11609 |
<P>
|
|
11610 |
|
|
11611 |
<A NAME="WEIGHT"></A>
|
|
11612 |
<HR SIZE="6">
|
|
11613 |
<A NAME="SEC146"></A>
|
|
11614 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11615 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC145"> < </A>]</TD>
|
|
11616 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> > </A>]</TD>
|
|
11617 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11618 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> Up </A>]</TD>
|
|
11619 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> >> </A>]</TD>
|
|
11620 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11621 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11622 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11623 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11624 |
</TR></TABLE>
|
|
11625 |
<H2> 13.8 WEIGHT </H2>
|
|
11626 |
<!--docid::SEC146::-->
|
|
11627 |
<P>
|
|
11628 |
|
|
11629 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">WEIGHT BY var_name.
|
|
11630 |
WEIGHT OFF.
|
|
11631 |
</pre></td></tr></table><P>
|
|
11632 |
|
|
11633 |
WEIGHT can be used to assign cases varying weights in order to
|
|
11634 |
change the frequency distribution of the active file. Execution of
|
|
11635 |
WEIGHT is delayed until data have been read in.
|
|
11636 |
</P>
|
|
11637 |
<P>
|
|
11638 |
|
|
11639 |
If a variable name is specified, WEIGHT causes the values of that
|
|
11640 |
variable to be used as weighting factors for subsequent statistical
|
|
11641 |
procedures. Use of keyword BY is optional but recommended. Weighting
|
|
11642 |
variables must be numeric. Scratch variables may not be used for
|
|
11643 |
weighting (see section <A HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A>).
|
|
11644 |
</P>
|
|
11645 |
<P>
|
|
11646 |
|
|
11647 |
When OFF is specified, subsequent statistical procedures will weight all
|
|
11648 |
cases equally.
|
|
11649 |
</P>
|
|
11650 |
<P>
|
|
11651 |
|
|
11652 |
Weighting values do not need to be integers. However, negative and
|
|
11653 |
system- and user-missing values for the weighting variable are
|
|
11654 |
interpreted as weighting factors of 0.
|
|
11655 |
</P>
|
|
11656 |
<P>
|
|
11657 |
|
|
11658 |
WEIGHT does not cause cases in the active file to be replicated in
|
|
11659 |
memory.
|
|
11660 |
</P>
|
|
11661 |
<P>
|
|
11662 |
|
|
11663 |
<A NAME="Conditionals and Looping"></A>
|
|
11664 |
<HR SIZE="6">
|
|
11665 |
<A NAME="SEC147"></A>
|
|
11666 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11667 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC146"> < </A>]</TD>
|
|
11668 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC148"> > </A>]</TD>
|
|
11669 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC138"> << </A>]</TD>
|
|
11670 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
11671 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> >> </A>]</TD>
|
|
11672 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11673 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11674 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11675 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11676 |
</TR></TABLE>
|
|
11677 |
<H1> 14. Conditional and Looping Constructs </H1>
|
|
11678 |
<!--docid::SEC147::-->
|
|
11679 |
<P>
|
|
11680 |
|
|
11681 |
This chapter documents PSPP commands used for conditional execution,
|
|
11682 |
looping, and flow of control.
|
|
11683 |
</P>
|
|
11684 |
<P>
|
|
11685 |
|
|
11686 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
11687 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC148">14.1 BREAK</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Exit a loop.</TD></TR>
|
|
11688 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC149">14.2 DO IF</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Conditionally execute a block of code.</TD></TR>
|
|
11689 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC150">14.3 DO REPEAT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Textually repeat a code block.</TD></TR>
|
|
11690 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC151">14.4 LOOP</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Repeat a block of code.</TD></TR>
|
|
11691 |
</TABLE>
|
|
11692 |
<P>
|
|
11693 |
|
|
11694 |
<A NAME="BREAK"></A>
|
|
11695 |
<HR SIZE="6">
|
|
11696 |
<A NAME="SEC148"></A>
|
|
11697 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11698 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> < </A>]</TD>
|
|
11699 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC149"> > </A>]</TD>
|
|
11700 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> << </A>]</TD>
|
|
11701 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> Up </A>]</TD>
|
|
11702 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> >> </A>]</TD>
|
|
11703 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11704 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11705 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11706 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11707 |
</TR></TABLE>
|
|
11708 |
<H2> 14.1 BREAK </H2>
|
|
11709 |
<!--docid::SEC148::-->
|
|
11710 |
<P>
|
|
11711 |
|
|
11712 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">BREAK.
|
|
11713 |
</pre></td></tr></table><P>
|
|
11714 |
|
|
11715 |
BREAK terminates execution of the innermost currently executing LOOP
|
|
11716 |
construct.
|
|
11717 |
</P>
|
|
11718 |
<P>
|
|
11719 |
|
|
11720 |
BREAK is allowed only inside a LOOP construct. See section <A HREF="pspp.html#SEC151">14.4 LOOP</A>, for more
|
|
11721 |
details.
|
|
11722 |
</P>
|
|
11723 |
<P>
|
|
11724 |
|
|
11725 |
<A NAME="DO IF"></A>
|
|
11726 |
<HR SIZE="6">
|
|
11727 |
<A NAME="SEC149"></A>
|
|
11728 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11729 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC148"> < </A>]</TD>
|
|
11730 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC150"> > </A>]</TD>
|
|
11731 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> << </A>]</TD>
|
|
11732 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> Up </A>]</TD>
|
|
11733 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> >> </A>]</TD>
|
|
11734 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11735 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11736 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11737 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11738 |
</TR></TABLE>
|
|
11739 |
<H2> 14.2 DO IF </H2>
|
|
11740 |
<!--docid::SEC149::-->
|
|
11741 |
<P>
|
|
11742 |
|
|
11743 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DO IF condition.
|
|
11744 |
<small>...</small>
|
|
11745 |
[ELSE IF condition.
|
|
11746 |
<small>...</small>
|
|
11747 |
]<small>...</small>
|
|
11748 |
[ELSE.
|
|
11749 |
<small>...</small>]
|
|
11750 |
END IF.
|
|
11751 |
</pre></td></tr></table><P>
|
|
11752 |
|
|
11753 |
The DO IF command allows one of several sets of transformations to be
|
|
11754 |
executed, depending on user-specified conditions.
|
|
11755 |
</P>
|
|
11756 |
<P>
|
|
11757 |
|
|
11758 |
Specify a boolean expression. If the condition is true, then the block
|
|
11759 |
of code following DO IF is executed. If the condition is missing, then
|
|
11760 |
none of the code blocks is executed. If the condition is false, then
|
|
11761 |
the boolean expressions on the first ELSE IF, if present, is tested in
|
|
11762 |
turn, with the same rules applied. If all expressions evaluate to
|
|
11763 |
false, then the ELSE code block is executed, if it is present.
|
|
11764 |
</P>
|
|
11765 |
<P>
|
|
11766 |
|
|
11767 |
<A NAME="DO REPEAT"></A>
|
|
11768 |
<HR SIZE="6">
|
|
11769 |
<A NAME="SEC150"></A>
|
|
11770 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11771 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC149"> < </A>]</TD>
|
|
11772 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC151"> > </A>]</TD>
|
|
11773 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> << </A>]</TD>
|
|
11774 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> Up </A>]</TD>
|
|
11775 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> >> </A>]</TD>
|
|
11776 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11777 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11778 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11779 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11780 |
</TR></TABLE>
|
|
11781 |
<H2> 14.3 DO REPEAT </H2>
|
|
11782 |
<!--docid::SEC150::-->
|
|
11783 |
<P>
|
|
11784 |
|
|
11785 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DO REPEAT repvar_name=expansion<small>...</small>.
|
|
11786 |
<small>...</small>
|
|
11787 |
END REPEAT [PRINT].
|
|
11788 |
|
|
11789 |
expansion takes one of the following forms:
|
|
11790 |
var_list
|
|
11791 |
num_or_range<small>...</small>
|
|
11792 |
'string'<small>...</small>
|
|
11793 |
|
|
11794 |
num_or_range takes one of the following forms:
|
|
11795 |
number
|
|
11796 |
num1 TO num2
|
|
11797 |
</pre></td></tr></table><P>
|
|
11798 |
|
|
11799 |
The DO REPEAT command causes a block of code to be repeated a number of
|
|
11800 |
times with different variables, numbers, or strings textually
|
|
11801 |
substituted into the block with each repetition.
|
|
11802 |
</P>
|
|
11803 |
<P>
|
|
11804 |
|
|
11805 |
Specify a repeat variable name followed by an equals sign (`<SAMP>=</SAMP>') and
|
|
11806 |
the list of replacements. Replacements can be a list of variables
|
|
11807 |
(which may be existing variables or new variables or a combination
|
|
11808 |
thereof), of numbers, or of strings. When new variable names are
|
|
11809 |
specified, DO REPEAT creates them as numeric variables. When numbers
|
|
11810 |
are specified, runs of integers may be indicated with TO notation, for
|
|
11811 |
instance `<SAMP>1 TO 5</SAMP>' and `<SAMP>1 2 3 4 5</SAMP>' would be equivalent. There
|
|
11812 |
is no equivalent notation for string values.
|
|
11813 |
</P>
|
|
11814 |
<P>
|
|
11815 |
|
|
11816 |
Multiple repeat variables can be specified. When this is done, each
|
|
11817 |
variable must have the same number of replacements.
|
|
11818 |
</P>
|
|
11819 |
<P>
|
|
11820 |
|
|
11821 |
The code within DO REPEAT is repeated as many times as there are
|
|
11822 |
replacements for each variable. The first time, the first value for
|
|
11823 |
each repeat variable is substituted; the second time, the second value
|
|
11824 |
for each repeat variable is substituted; and so on.
|
|
11825 |
</P>
|
|
11826 |
<P>
|
|
11827 |
|
|
11828 |
Repeat variable substitutions work like macros. They take place
|
|
11829 |
anywhere in a line that the repeat variable name occurs as a token,
|
|
11830 |
including command and subcommand names. For this reason it is not a
|
|
11831 |
good idea to select words commonly used in command and subcommand names
|
|
11832 |
as repeat variable identifiers.
|
|
11833 |
</P>
|
|
11834 |
<P>
|
|
11835 |
|
|
11836 |
If PRINT is specified on END REPEAT, the commands after substitutions
|
|
11837 |
are made are printed to the listing file, prefixed by a plus sign
|
|
11838 |
(`<SAMP>+</SAMP>').
|
|
11839 |
</P>
|
|
11840 |
<P>
|
|
11841 |
|
|
11842 |
<A NAME="LOOP"></A>
|
|
11843 |
<HR SIZE="6">
|
|
11844 |
<A NAME="SEC151"></A>
|
|
11845 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11846 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC150"> < </A>]</TD>
|
|
11847 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> > </A>]</TD>
|
|
11848 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> << </A>]</TD>
|
|
11849 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> Up </A>]</TD>
|
|
11850 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> >> </A>]</TD>
|
|
11851 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11852 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11853 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11854 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11855 |
</TR></TABLE>
|
|
11856 |
<H2> 14.4 LOOP </H2>
|
|
11857 |
<!--docid::SEC151::-->
|
|
11858 |
<P>
|
|
11859 |
|
|
11860 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">LOOP [index_var=start TO end [BY incr]] [IF condition].
|
|
11861 |
<small>...</small>
|
|
11862 |
END LOOP [IF condition].
|
|
11863 |
</pre></td></tr></table><P>
|
|
11864 |
|
|
11865 |
The LOOP command allows a group of commands to be iterated. A number of
|
|
11866 |
termination options are offered.
|
|
11867 |
</P>
|
|
11868 |
<P>
|
|
11869 |
|
|
11870 |
Specify index_var in order to make that variable count from one value to
|
|
11871 |
another by a particular increment. index_var must be a pre-existing
|
|
11872 |
numeric variable. start, end, and incr are numeric expressions
|
|
11873 |
(see section <A HREF="pspp.html#SEC58">8. Mathematical Expressions</A>.)
|
|
11874 |
</P>
|
|
11875 |
<P>
|
|
11876 |
|
|
11877 |
During the first iteration, index_var is set to the value of start.
|
|
11878 |
During each successive iteration, index_var is increased by the value of
|
|
11879 |
incr. If end > start, then the loop terminates when index_var > end;
|
|
11880 |
otherwise it terminates when index_var < end. If incr is not specified
|
|
11881 |
then it defaults to +1 or -1 as appropriate.
|
|
11882 |
</P>
|
|
11883 |
<P>
|
|
11884 |
|
|
11885 |
If end > start and incr < 0, or if end < start and incr > 0, then the
|
|
11886 |
loop is never executed. index_var is nevertheless set to the value of
|
|
11887 |
start.
|
|
11888 |
</P>
|
|
11889 |
<P>
|
|
11890 |
|
|
11891 |
Modifying index_var within the loop is allowed, but it has no effect on
|
|
11892 |
the value of index_var in the next iteration.
|
|
11893 |
</P>
|
|
11894 |
<P>
|
|
11895 |
|
|
11896 |
Specify a boolean expression for the condition on the LOOP command to
|
|
11897 |
cause the loop to be executed only if the condition is true. If the
|
|
11898 |
condition is false or missing before the loop contents are executed the
|
|
11899 |
first time, the loop contents are not executed at all.
|
|
11900 |
</P>
|
|
11901 |
<P>
|
|
11902 |
|
|
11903 |
If index and condition clauses are both present on LOOP, the index
|
|
11904 |
clause is always evaluated first.
|
|
11905 |
</P>
|
|
11906 |
<P>
|
|
11907 |
|
|
11908 |
Specify a boolean expression for the condition on the END LOOP to cause
|
|
11909 |
the loop to terminate if the condition is not true after the enclosed
|
|
11910 |
code block is executed. The condition is evaluated at the end of the
|
|
11911 |
loop, not at the beginning.
|
|
11912 |
</P>
|
|
11913 |
<P>
|
|
11914 |
|
|
11915 |
If the index clause and both condition clauses are not present, then the
|
|
11916 |
loop is executed MXLOOPS (see section <A HREF="pspp.html#SEC166">16.10 SET</A>) times or until BREAK
|
|
11917 |
(see section <A HREF="pspp.html#SEC148">14.1 BREAK</A>) is executed.
|
|
11918 |
</P>
|
|
11919 |
<P>
|
|
11920 |
|
|
11921 |
The BREAK command provides another way to terminate execution of a LOOP
|
|
11922 |
construct.
|
|
11923 |
</P>
|
|
11924 |
<P>
|
|
11925 |
|
|
11926 |
<A NAME="Statistics"></A>
|
|
11927 |
<HR SIZE="6">
|
|
11928 |
<A NAME="SEC152"></A>
|
|
11929 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11930 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC151"> < </A>]</TD>
|
|
11931 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC153"> > </A>]</TD>
|
|
11932 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC147"> << </A>]</TD>
|
|
11933 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
11934 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> >> </A>]</TD>
|
|
11935 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11936 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11937 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11938 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11939 |
</TR></TABLE>
|
|
11940 |
<H1> 15. Statistics </H1>
|
|
11941 |
<!--docid::SEC152::-->
|
|
11942 |
<P>
|
|
11943 |
|
|
11944 |
This chapter documents the statistical procedures that PSPP supports so
|
|
11945 |
far.
|
|
11946 |
</P>
|
|
11947 |
<P>
|
|
11948 |
|
|
11949 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
11950 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC153">15.1 DESCRIPTIVES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Descriptive statistics.</TD></TR>
|
|
11951 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC154">15.2 FREQUENCIES</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Frequency tables.</TD></TR>
|
|
11952 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC155">15.3 CROSSTABS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Crosstabulation tables.</TD></TR>
|
|
11953 |
</TABLE>
|
|
11954 |
<P>
|
|
11955 |
|
|
11956 |
<A NAME="DESCRIPTIVES"></A>
|
|
11957 |
<HR SIZE="6">
|
|
11958 |
<A NAME="SEC153"></A>
|
|
11959 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
11960 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> < </A>]</TD>
|
|
11961 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC154"> > </A>]</TD>
|
|
11962 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> << </A>]</TD>
|
|
11963 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> Up </A>]</TD>
|
|
11964 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> >> </A>]</TD>
|
|
11965 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
11966 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
11967 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
11968 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
11969 |
</TR></TABLE>
|
|
11970 |
<H2> 15.1 DESCRIPTIVES </H2>
|
|
11971 |
<!--docid::SEC153::-->
|
|
11972 |
<P>
|
|
11973 |
|
|
11974 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DESCRIPTIVES
|
|
11975 |
/VARIABLES=var_list
|
|
11976 |
/MISSING={VARIABLE,LISTWISE} {INCLUDE,NOINCLUDE}
|
|
11977 |
/FORMAT={LABELS,NOLABELS} {NOINDEX,INDEX} {LINE,SERIAL}
|
|
11978 |
/SAVE
|
|
11979 |
/STATISTICS={ALL,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,
|
|
11980 |
SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,DEFAULT,
|
|
11981 |
SESKEWNESS,SEKURTOSIS}
|
|
11982 |
/SORT={NONE,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,SKEWNESS,
|
|
11983 |
RANGE,MINIMUM,MAXIMUM,SUM,SESKEWNESS,SEKURTOSIS,NAME}
|
|
11984 |
{A,D}
|
|
11985 |
</pre></td></tr></table><P>
|
|
11986 |
|
|
11987 |
The DESCRIPTIVES procedure reads the active file and outputs descriptive
|
|
11988 |
statistics requested by the user. In addition, it can optionally
|
|
11989 |
compute Z-scores.
|
|
11990 |
</P>
|
|
11991 |
<P>
|
|
11992 |
|
|
11993 |
The VARIABLES subcommand, which is required, specifies the list of
|
|
11994 |
variables to be analyzed. Keyword VARIABLES is optional.
|
|
11995 |
</P>
|
|
11996 |
<P>
|
|
11997 |
|
|
11998 |
All other subcommands are optional:
|
|
11999 |
</P>
|
|
12000 |
<P>
|
|
12001 |
|
|
12002 |
The MISSING subcommand determines the handling of missing variables. If
|
|
12003 |
INCLUDE is set, then user-missing values are included in the
|
|
12004 |
calculations. If NOINCLUDE is set, which is the default, user-missing
|
|
12005 |
values are excluded. If VARIABLE is set, then missing values are
|
|
12006 |
excluded on a variable by variable basis; if LISTWISE is set, then
|
|
12007 |
the entire case is excluded whenever any value in that case has a
|
|
12008 |
system-missing or, if INCLUDE is set, user-missing value.
|
|
12009 |
</P>
|
|
12010 |
<P>
|
|
12011 |
|
|
12012 |
The FORMAT subcommand affects the output format. Currently the
|
|
12013 |
LABELS/NOLABELS and NOINDEX/INDEX settings is not used. When SERIAL is
|
|
12014 |
set, both valid and missing number of cases are listed in the output;
|
|
12015 |
when NOSERIAL is set, only valid cases are listed.
|
|
12016 |
</P>
|
|
12017 |
<P>
|
|
12018 |
|
|
12019 |
The SAVE subcommand causes DESCRIPTIVES to calculate Z scores for all
|
|
12020 |
the specified variables. The Z scores are saved to new variables.
|
|
12021 |
Variable names are generated by trying first the original variable name
|
|
12022 |
with Z prepended and truncated to a maximum of 8 characters, then the
|
|
12023 |
names ZSC000 through ZSC999, STDZ00 through STDZ09, ZZZZ00 through
|
|
12024 |
ZZZZ09, ZQZQ00 through ZQZQ09, in that sequence. In addition, Z score
|
|
12025 |
variable names can be specified explicitly on VARIABLES in the variable
|
|
12026 |
list by enclosing them in parentheses after each variable.
|
|
12027 |
</P>
|
|
12028 |
<P>
|
|
12029 |
|
|
12030 |
The STATISTICS subcommand specifies the statistics to be displayed:
|
|
12031 |
</P>
|
|
12032 |
<P>
|
|
12033 |
|
|
12034 |
</P>
|
|
12035 |
<DL COMPACT>
|
|
12036 |
<DT><CODE>ALL</CODE>
|
|
12037 |
<DD>All of the statistics below.
|
|
12038 |
<DT><CODE>MEAN</CODE>
|
|
12039 |
<DD>Arithmetic mean.
|
|
12040 |
<DT><CODE>SEMEAN</CODE>
|
|
12041 |
<DD>Standard error of the mean.
|
|
12042 |
<DT><CODE>STDDEV</CODE>
|
|
12043 |
<DD>Standard deviation.
|
|
12044 |
<DT><CODE>VARIANCE</CODE>
|
|
12045 |
<DD>Variance.
|
|
12046 |
<DT><CODE>KURTOSIS</CODE>
|
|
12047 |
<DD>Kurtosis and standard error of the kurtosis.
|
|
12048 |
<DT><CODE>SKEWNESS</CODE>
|
|
12049 |
<DD>Skewness and standard error of the skewness.
|
|
12050 |
<DT><CODE>RANGE</CODE>
|
|
12051 |
<DD>Range.
|
|
12052 |
<DT><CODE>MINIMUM</CODE>
|
|
12053 |
<DD>Minimum value.
|
|
12054 |
<DT><CODE>MAXIMUM</CODE>
|
|
12055 |
<DD>Maximum value.
|
|
12056 |
<DT><CODE>SUM</CODE>
|
|
12057 |
<DD>Sum.
|
|
12058 |
<DT><CODE>DEFAULT</CODE>
|
|
12059 |
<DD>Mean, standard deviation of the mean, minimum, maximum.
|
|
12060 |
<DT><CODE>SEKURTOSIS</CODE>
|
|
12061 |
<DD>Standard error of the kurtosis.
|
|
12062 |
<DT><CODE>SESKEWNESS</CODE>
|
|
12063 |
<DD>Standard error of the skewness.
|
|
12064 |
</DL>
|
|
12065 |
<P>
|
|
12066 |
|
|
12067 |
The SORT subcommand specifies how the statistics should be sorted. Most
|
|
12068 |
of the possible values should be self-explanatory. NAME causes the
|
|
12069 |
statistics to be sorted by name. By default, the statistics are listed
|
|
12070 |
in the order that they are specified on the VARIABLES subcommand. The A
|
|
12071 |
and D settings request an ascending or descending sort order,
|
|
12072 |
respectively.
|
|
12073 |
</P>
|
|
12074 |
<P>
|
|
12075 |
|
|
12076 |
<A NAME="FREQUENCIES"></A>
|
|
12077 |
<HR SIZE="6">
|
|
12078 |
<A NAME="SEC154"></A>
|
|
12079 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12080 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC153"> < </A>]</TD>
|
|
12081 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC155"> > </A>]</TD>
|
|
12082 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> << </A>]</TD>
|
|
12083 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> Up </A>]</TD>
|
|
12084 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> >> </A>]</TD>
|
|
12085 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12086 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12087 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12088 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12089 |
</TR></TABLE>
|
|
12090 |
<H2> 15.2 FREQUENCIES </H2>
|
|
12091 |
<!--docid::SEC154::-->
|
|
12092 |
<P>
|
|
12093 |
|
|
12094 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FREQUENCIES
|
|
12095 |
/VARIABLES=var_list
|
|
12096 |
/FORMAT={TABLE,NOTABLE,LIMIT(limit)}
|
|
12097 |
{STANDARD,CONDENSE,ONEPAGE[(onepage_limit)]}
|
|
12098 |
{LABELS,NOLABELS}
|
|
12099 |
{AVALUE,DVALUE,AFREQ,DFREQ}
|
|
12100 |
{SINGLE,DOUBLE}
|
|
12101 |
{OLDPAGE,NEWPAGE}
|
|
12102 |
/MISSING={EXCLUDE,INCLUDE}
|
|
12103 |
/STATISTICS={DEFAULT,MEAN,SEMEAN,MEDIAN,MODE,STDDEV,VARIANCE,
|
|
12104 |
KURTOSIS,SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,
|
|
12105 |
SESKEWNESS,SEKURTOSIS,ALL,NONE}
|
|
12106 |
/NTILES=ntiles
|
|
12107 |
/PERCENTILES=percent<small>...</small>
|
|
12108 |
|
|
12109 |
(These options are not currently implemented.)
|
|
12110 |
/BARCHART=<small>...</small>
|
|
12111 |
/HISTOGRAM=<small>...</small>
|
|
12112 |
/HBAR=<small>...</small>
|
|
12113 |
/GROUPED=<small>...</small>
|
|
12114 |
|
|
12115 |
(Integer mode.)
|
|
12116 |
/VARIABLES=var_list (low,high)<small>...</small>
|
|
12117 |
</pre></td></tr></table><P>
|
|
12118 |
|
|
12119 |
FREQUENCIES causes the data to be read and frequency tables to be built
|
|
12120 |
and output for specified variables. FREQUENCIES can also calculate and
|
|
12121 |
display descriptive statistics (including median and mode) and
|
|
12122 |
percentiles.
|
|
12123 |
</P>
|
|
12124 |
<P>
|
|
12125 |
|
|
12126 |
In the future, FREQUENCIES will also support graphical output in the
|
|
12127 |
form of bar charts and histograms. In addition, it will be able to
|
|
12128 |
support percentiles for grouped data. (As a historical note, these
|
|
12129 |
options were supported in a version of PSPP written years ago, but the
|
|
12130 |
code has not survived.)
|
|
12131 |
</P>
|
|
12132 |
<P>
|
|
12133 |
|
|
12134 |
The VARIABLES subcommand is the only required subcommand. Specify the
|
|
12135 |
variables to be analyzed. In most cases, this is all that is required.
|
|
12136 |
This is known as <EM>general mode</EM>.
|
|
12137 |
</P>
|
|
12138 |
<P>
|
|
12139 |
|
|
12140 |
Occasionally, one may want to invoke a special mode called <EM>integer
|
|
12141 |
mode</EM>. Normally, in general mode, PSPP will automatically determine
|
|
12142 |
what values occur in the data. In integer mode, the user specifies the
|
|
12143 |
range of values that the data assumes. To invoke this mode, specify a
|
|
12144 |
range of data values in parentheses, separated by a comma. Data values
|
|
12145 |
inside the range are truncated to the nearest integer, then assigned to
|
|
12146 |
that value. If values occur outside this range, they are discarded.
|
|
12147 |
</P>
|
|
12148 |
<P>
|
|
12149 |
|
|
12150 |
The FORMAT subcommand controls the output format. It has several
|
|
12151 |
possible settings:
|
|
12152 |
</P>
|
|
12153 |
<P>
|
|
12154 |
|
|
12155 |
<UL>
|
|
12156 |
<LI>
|
|
12157 |
TABLE, the default, causes a frequency table to be output for every
|
|
12158 |
variable specified. NOTABLE prevents them from being output. LIMIT
|
|
12159 |
with a numeric argument causes them to be output except when there are
|
|
12160 |
more than the specified number of values in the table.
|
|
12161 |
<P>
|
|
12162 |
|
|
12163 |
</P>
|
|
12164 |
<LI>
|
|
12165 |
STANDARD frequency tables contain more complete information, but also to
|
|
12166 |
take up more space on the printed page. CONDENSE frequency tables are
|
|
12167 |
less informative but take up less space. ONEPAGE with a numeric
|
|
12168 |
argument will output standard frequency tables if there are the
|
|
12169 |
specified number of values or less, condensed tables otherwise. ONEPAGE
|
|
12170 |
without an argument defaults to a threshold of 50 values.
|
|
12171 |
<P>
|
|
12172 |
|
|
12173 |
</P>
|
|
12174 |
<LI>
|
|
12175 |
LABELS causes value labels to be displayed in STANDARD frequency
|
|
12176 |
tables. NOLABLES prevents this.
|
|
12177 |
<P>
|
|
12178 |
|
|
12179 |
</P>
|
|
12180 |
<LI>
|
|
12181 |
Normally frequency tables are sorted in ascending order by value. This
|
|
12182 |
is AVALUE. DVALUE tables are sorted in descending order by value.
|
|
12183 |
AFREQ and DFREQ tables are sorted in ascending and descending order,
|
|
12184 |
respectively, by frequency count.
|
|
12185 |
<P>
|
|
12186 |
|
|
12187 |
</P>
|
|
12188 |
<LI>
|
|
12189 |
SINGLE spaced frequency tables are closely spaced. DOUBLE spaced
|
|
12190 |
frequency tables have wider spacing.
|
|
12191 |
<P>
|
|
12192 |
|
|
12193 |
</P>
|
|
12194 |
<LI>
|
|
12195 |
OLDPAGE and NEWPAGE are not currently used.
|
|
12196 |
</UL>
|
|
12197 |
<P>
|
|
12198 |
|
|
12199 |
The MISSING subcommand controls the handling of user-missing values.
|
|
12200 |
When EXCLUDE, the default, is set, user-missing values are not included
|
|
12201 |
in frequency tables or statistics. When INCLUDE is set, user-missing
|
|
12202 |
are included. System-missing values are never included in statistics,
|
|
12203 |
but are listed in frequency tables.
|
|
12204 |
</P>
|
|
12205 |
<P>
|
|
12206 |
|
|
12207 |
The available STATISTICS are the same as available in DESCRIPTIVES
|
|
12208 |
(see section <A HREF="pspp.html#SEC153">15.1 DESCRIPTIVES</A>), with the addition of MEDIAN, the data's median
|
|
12209 |
value, and MODE, the mode. (If there are multiple modes, the smallest
|
|
12210 |
value is reported.) By default, the mean, standard deviation of the
|
|
12211 |
mean, minimum, and maximum are reported for each variable.
|
|
12212 |
</P>
|
|
12213 |
<P>
|
|
12214 |
|
|
12215 |
NTILES causes the specified quartiles to be reported. For instance,
|
|
12216 |
<CODE>/NTILES=4</CODE> would cause quartiles to be reported. In addition,
|
|
12217 |
particular percentiles can be requested with the PERCENTILES subcommand.
|
|
12218 |
</P>
|
|
12219 |
<P>
|
|
12220 |
|
|
12221 |
<A NAME="CROSSTABS"></A>
|
|
12222 |
<HR SIZE="6">
|
|
12223 |
<A NAME="SEC155"></A>
|
|
12224 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12225 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC154"> < </A>]</TD>
|
|
12226 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> > </A>]</TD>
|
|
12227 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> << </A>]</TD>
|
|
12228 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> Up </A>]</TD>
|
|
12229 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> >> </A>]</TD>
|
|
12230 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12231 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12232 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12233 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12234 |
</TR></TABLE>
|
|
12235 |
<H2> 15.3 CROSSTABS </H2>
|
|
12236 |
<!--docid::SEC155::-->
|
|
12237 |
<P>
|
|
12238 |
|
|
12239 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">CROSSTABS
|
|
12240 |
/TABLES=var_list BY var_list [BY var_list]<small>...</small>
|
|
12241 |
/MISSING={TABLE,INCLUDE,REPORT}
|
|
12242 |
/WRITE={NONE,CELLS,ALL}
|
|
12243 |
/FORMAT={TABLES,NOTABLES}
|
|
12244 |
{LABELS,NOLABELS,NOVALLABS}
|
|
12245 |
{PIVOT,NOPIVOT}
|
|
12246 |
{AVALUE,DVALUE}
|
|
12247 |
{NOINDEX,INDEX}
|
|
12248 |
{BOX,NOBOX}
|
|
12249 |
/CELLS={COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
|
|
12250 |
ASRESIDUAL,ALL,NONE}
|
|
12251 |
/STATISTICS={CHISQ,PHI,CC,LAMBDA,UC,BTAU,CTAU,RISK,GAMMA,D,
|
|
12252 |
KAPPA,ETA,CORR,ALL,NONE}
|
|
12253 |
|
|
12254 |
(Integer mode.)
|
|
12255 |
/VARIABLES=var_list (low,high)<small>...</small>
|
|
12256 |
</pre></td></tr></table><P>
|
|
12257 |
|
|
12258 |
CROSSTABS reads the active file and builds and displays crosstabulation
|
|
12259 |
tables requested by the user. It can calculate several statistics for
|
|
12260 |
each cell in the crosstabulation tables. In addition, a number of
|
|
12261 |
statistics can be calculated for each table itself.
|
|
12262 |
</P>
|
|
12263 |
<P>
|
|
12264 |
|
|
12265 |
The TABLES subcommand is used to specify the tables to be reported. Any
|
|
12266 |
number of dimensions is permitted, and any number of variables per
|
|
12267 |
dimension is allowed. The TABLES subcommand may be repeated as many
|
|
12268 |
times as needed. This is the only required subcommand in <EM>general
|
|
12269 |
mode</EM>.
|
|
12270 |
</P>
|
|
12271 |
<P>
|
|
12272 |
|
|
12273 |
Occasionally, one may want to invoke a special mode called <EM>integer
|
|
12274 |
mode</EM>. Normally, in general mode, PSPP will automatically determine
|
|
12275 |
what values occur in the data. In integer mode, the user specifies the
|
|
12276 |
range of values that the data assumes. To invoke this mode, specify the
|
|
12277 |
VARIABLES subcommand, giving a range of data values in parentheses for
|
|
12278 |
each variable to be used on the TABLES subcommand. Data values inside
|
|
12279 |
the range are truncated to the nearest integer, then assigned to that
|
|
12280 |
value. If values occur outside this range, they are discarded. When it
|
|
12281 |
is present, the VARIABLES subcommand must precede the TABLES subcommand.
|
|
12282 |
</P>
|
|
12283 |
<P>
|
|
12284 |
|
|
12285 |
The MISSING subcommand determines the handling of user-missing values.
|
|
12286 |
When set to TABLE, the default, missing values are dropped on a table by
|
|
12287 |
table basis. When set to INCLUDE, user-missing values are included in
|
|
12288 |
tables and statistics. When set to REPORT, which is allowed only in
|
|
12289 |
integer mode, user-missing values are included in tables but marked with
|
|
12290 |
an `<SAMP>M</SAMP>' (for "missing") and excluded from statistical
|
|
12291 |
calculations.
|
|
12292 |
</P>
|
|
12293 |
<P>
|
|
12294 |
|
|
12295 |
Currently the WRITE subcommand is not used.
|
|
12296 |
</P>
|
|
12297 |
<P>
|
|
12298 |
|
|
12299 |
The FORMAT subcommand controls the characteristics of the
|
|
12300 |
crosstabulation tables to be displayed. It has a number of possible
|
|
12301 |
settings:
|
|
12302 |
</P>
|
|
12303 |
<P>
|
|
12304 |
|
|
12305 |
<UL>
|
|
12306 |
<LI>
|
|
12307 |
TABLES, the default, causes crosstabulation tables to be output.
|
|
12308 |
NOTABLES suppresses them.
|
|
12309 |
<P>
|
|
12310 |
|
|
12311 |
</P>
|
|
12312 |
<LI>
|
|
12313 |
LABELS, the default, allows variable labels and value labels to appear
|
|
12314 |
in the output. NOLABELS suppresses them. NOVALLABS displays variable
|
|
12315 |
labels but suppresses value labels.
|
|
12316 |
<P>
|
|
12317 |
|
|
12318 |
</P>
|
|
12319 |
<LI>
|
|
12320 |
PIVOT, the default, causes each TABLES subcommand to be displayed in a
|
|
12321 |
pivot table format. NOPIVOT causes the old-style crosstabulation format
|
|
12322 |
to be used.
|
|
12323 |
<P>
|
|
12324 |
|
|
12325 |
</P>
|
|
12326 |
<LI>
|
|
12327 |
AVALUE, the default, causes values to be sorted in ascending order.
|
|
12328 |
DVALUE asserts a descending sort order.
|
|
12329 |
<P>
|
|
12330 |
|
|
12331 |
</P>
|
|
12332 |
<LI>
|
|
12333 |
INDEX/NOINDEX is currently ignored.
|
|
12334 |
<P>
|
|
12335 |
|
|
12336 |
</P>
|
|
12337 |
<LI>
|
|
12338 |
BOX/NOBOX is currently ignored.
|
|
12339 |
</UL>
|
|
12340 |
<P>
|
|
12341 |
|
|
12342 |
The CELLS subcommand controls the contents of each cell in the displayed
|
|
12343 |
crosstabulation table. The possible settings are:
|
|
12344 |
</P>
|
|
12345 |
<P>
|
|
12346 |
|
|
12347 |
</P>
|
|
12348 |
<DL COMPACT>
|
|
12349 |
<DT>COUNT
|
|
12350 |
<DD>Frequency count.
|
|
12351 |
<DT>ROW
|
|
12352 |
<DD>Row percent.
|
|
12353 |
<DT>COLUMN
|
|
12354 |
<DD>Column percent.
|
|
12355 |
<DT>TOTAL
|
|
12356 |
<DD>Table percent.
|
|
12357 |
<DT>EXPECTED
|
|
12358 |
<DD>Expected value.
|
|
12359 |
<DT>RESIDUAL
|
|
12360 |
<DD>Residual.
|
|
12361 |
<DT>SRESIDUAL
|
|
12362 |
<DD>Standardized residual.
|
|
12363 |
<DT>ASRESIDUAL
|
|
12364 |
<DD>Adjusted standardized residual.
|
|
12365 |
<DT>ALL
|
|
12366 |
<DD>All of the above.
|
|
12367 |
<DT>NONE
|
|
12368 |
<DD>Suppress cells entirely.
|
|
12369 |
</DL>
|
|
12370 |
<P>
|
|
12371 |
|
|
12372 |
`<SAMP>/CELLS</SAMP>' without any settings specified requests COUNT, ROW,
|
|
12373 |
COLUMN, and TOTAL. If CELLS is not specified at all then only COUNT
|
|
12374 |
will be selected.
|
|
12375 |
</P>
|
|
12376 |
<P>
|
|
12377 |
|
|
12378 |
The STATISTICS subcommand selects statistics for computation:
|
|
12379 |
</P>
|
|
12380 |
<P>
|
|
12381 |
|
|
12382 |
</P>
|
|
12383 |
<DL COMPACT>
|
|
12384 |
<DT>CHISQ
|
|
12385 |
<DD>Pearson chi-square, likelihood ratio, Fisher's exact test, continuity
|
|
12386 |
correction, linear-by-linear association.
|
|
12387 |
<DT>PHI
|
|
12388 |
<DD>Phi.
|
|
12389 |
<DT>CC
|
|
12390 |
<DD>Contingency coefficient.
|
|
12391 |
<DT>LAMBDA
|
|
12392 |
<DD>Lambda.
|
|
12393 |
<DT>UC
|
|
12394 |
<DD>Uncertainty coefficient.
|
|
12395 |
<DT>BTAU
|
|
12396 |
<DD>Tau-b.
|
|
12397 |
<DT>CTAU
|
|
12398 |
<DD>Tau-c.
|
|
12399 |
<DT>RISK
|
|
12400 |
<DD>Risk estimate.
|
|
12401 |
<DT>GAMMA
|
|
12402 |
<DD>Gamma.
|
|
12403 |
<DT>D
|
|
12404 |
<DD>Somers' D.
|
|
12405 |
<DT>KAPPA
|
|
12406 |
<DD>Cohen's Kappa.
|
|
12407 |
<DT>ETA
|
|
12408 |
<DD>Eta.
|
|
12409 |
<DT>CORR
|
|
12410 |
<DD>Spearman correlation, Pearson's r.
|
|
12411 |
<DT>ALL
|
|
12412 |
<DD>All of the above.
|
|
12413 |
<DT>NONE
|
|
12414 |
<DD>No statistics.
|
|
12415 |
</DL>
|
|
12416 |
<P>
|
|
12417 |
|
|
12418 |
Selected statistics are only calculated when appropriate for the
|
|
12419 |
statistic. Certain statistics require tables of a particular size, and
|
|
12420 |
some statistics are calculated only in integer mode.
|
|
12421 |
</P>
|
|
12422 |
<P>
|
|
12423 |
|
|
12424 |
`<SAMP>/STATISTICS</SAMP>' without any settings selects CHISQ. If the
|
|
12425 |
STATISTICS subcommand is not given, no statistics are calculated.
|
|
12426 |
</P>
|
|
12427 |
<P>
|
|
12428 |
|
|
12429 |
<STRONG>Please note:</STRONG> Currently the implementation of CROSSTABS has the
|
|
12430 |
followings bugs:
|
|
12431 |
</P>
|
|
12432 |
<P>
|
|
12433 |
|
|
12434 |
<UL>
|
|
12435 |
<LI>
|
|
12436 |
Pearson's R (but not Spearman!) is off a little.
|
|
12437 |
<LI>
|
|
12438 |
T values for Spearman's R and Pearson's R are wrong.
|
|
12439 |
<LI>
|
|
12440 |
How to calculate significance of symmetric and directional measures?
|
|
12441 |
<LI>
|
|
12442 |
Asymmetric ASEs and T values for lambda are wrong.
|
|
12443 |
<LI>
|
|
12444 |
ASE of Goodman and Kruskal's tau is not calculated.
|
|
12445 |
<LI>
|
|
12446 |
ASE of symmetric somers' d is wrong.
|
|
12447 |
<LI>
|
|
12448 |
Approx. T of uncertainty coefficient is wrong.
|
|
12449 |
</UL>
|
|
12450 |
<P>
|
|
12451 |
|
|
12452 |
Fix for any of these deficiencies would be welcomed.
|
|
12453 |
</P>
|
|
12454 |
<P>
|
|
12455 |
|
|
12456 |
<A NAME="Utilities"></A>
|
|
12457 |
<HR SIZE="6">
|
|
12458 |
<A NAME="SEC156"></A>
|
|
12459 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12460 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC155"> < </A>]</TD>
|
|
12461 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC157"> > </A>]</TD>
|
|
12462 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC152"> << </A>]</TD>
|
|
12463 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
12464 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12465 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12466 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12467 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12468 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12469 |
</TR></TABLE>
|
|
12470 |
<H1> 16. Utilities </H1>
|
|
12471 |
<!--docid::SEC156::-->
|
|
12472 |
<P>
|
|
12473 |
|
|
12474 |
Commands that don't fit any other category are placed here.
|
|
12475 |
</P>
|
|
12476 |
<P>
|
|
12477 |
|
|
12478 |
Most of these commands are not affected by commands like IF and LOOP:
|
|
12479 |
they take effect only once, unconditionally, at the time that they are
|
|
12480 |
encountered in the input.
|
|
12481 |
</P>
|
|
12482 |
<P>
|
|
12483 |
|
|
12484 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
12485 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC157">16.1 COMMENT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Document your syntax file.</TD></TR>
|
|
12486 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC158">16.2 DOCUMENT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Document the active file.</TD></TR>
|
|
12487 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC159">16.3 DISPLAY DOCUMENTS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display active file documents.</TD></TR>
|
|
12488 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC160">16.4 DISPLAY FILE LABEL</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display the active file label.</TD></TR>
|
|
12489 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC161">16.5 DROP DOCUMENTS</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Remove documents from the active file.</TD></TR>
|
|
12490 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC162">16.6 EXECUTE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Execute pending transformations.</TD></TR>
|
|
12491 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC163">16.7 FILE LABEL</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Set the active file's label.</TD></TR>
|
|
12492 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC164">16.8 INCLUDE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Include a file within the current one.</TD></TR>
|
|
12493 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC165">16.9 QUIT</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Terminate the PSPP session.</TD></TR>
|
|
12494 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC166">16.10 SET</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Adjust PSPP runtime parameters.</TD></TR>
|
|
12495 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC167">16.11 SUBTITLE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Provide a document subtitle.</TD></TR>
|
|
12496 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC111">10.7 SYSFILE INFO</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Display the dictionary in a system file.</TD></TR>
|
|
12497 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC168">16.12 TITLE</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Provide a document title.</TD></TR>
|
|
12498 |
</TABLE>
|
|
12499 |
<P>
|
|
12500 |
|
|
12501 |
<A NAME="COMMENT"></A>
|
|
12502 |
<HR SIZE="6">
|
|
12503 |
<A NAME="SEC157"></A>
|
|
12504 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12505 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> < </A>]</TD>
|
|
12506 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC158"> > </A>]</TD>
|
|
12507 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12508 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12509 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12510 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12511 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12512 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12513 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12514 |
</TR></TABLE>
|
|
12515 |
<H2> 16.1 COMMENT </H2>
|
|
12516 |
<!--docid::SEC157::-->
|
|
12517 |
<P>
|
|
12518 |
|
|
12519 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possibles syntaxes:
|
|
12520 |
COMMENT comment text <small>...</small> .
|
|
12521 |
*comment text <small>...</small> .
|
|
12522 |
</pre></td></tr></table><P>
|
|
12523 |
|
|
12524 |
The COMMENT command is ignored. It is used to provide information to
|
|
12525 |
the author and other readers of the PSPP syntax file.
|
|
12526 |
</P>
|
|
12527 |
<P>
|
|
12528 |
|
|
12529 |
A COMMENT command can extend over any number of lines. Don't forget to
|
|
12530 |
terminate it with a dot or a blank line!
|
|
12531 |
</P>
|
|
12532 |
<P>
|
|
12533 |
|
|
12534 |
<A NAME="DOCUMENT"></A>
|
|
12535 |
<HR SIZE="6">
|
|
12536 |
<A NAME="SEC158"></A>
|
|
12537 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12538 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC157"> < </A>]</TD>
|
|
12539 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC159"> > </A>]</TD>
|
|
12540 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12541 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12542 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12543 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12544 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12545 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12546 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12547 |
</TR></TABLE>
|
|
12548 |
<H2> 16.2 DOCUMENT </H2>
|
|
12549 |
<!--docid::SEC158::-->
|
|
12550 |
<P>
|
|
12551 |
|
|
12552 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DOCUMENT documentary_text.
|
|
12553 |
</pre></td></tr></table><P>
|
|
12554 |
|
|
12555 |
The DOCUMENT command adds one or more lines of descriptive commentary to
|
|
12556 |
the active file. Documents added in this way are saved to system files.
|
|
12557 |
They can be viewed using SYSFILE INFO or DISPLAY DOCUMENTS. They can be
|
|
12558 |
removed from the active file with DROP DOCUMENTS.
|
|
12559 |
</P>
|
|
12560 |
<P>
|
|
12561 |
|
|
12562 |
Specify the documentary text following the DOCUMENT keyword. You can
|
|
12563 |
extend the documentary text over as many lines as necessary. Lines are
|
|
12564 |
truncated at 80 characters width. Don't forget to terminate the
|
|
12565 |
DOCUMENT command with a dot or a blank line.
|
|
12566 |
</P>
|
|
12567 |
<P>
|
|
12568 |
|
|
12569 |
<A NAME="DISPLAY DOCUMENTS"></A>
|
|
12570 |
<HR SIZE="6">
|
|
12571 |
<A NAME="SEC159"></A>
|
|
12572 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12573 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC158"> < </A>]</TD>
|
|
12574 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC160"> > </A>]</TD>
|
|
12575 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12576 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12577 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12578 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12579 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12580 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12581 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12582 |
</TR></TABLE>
|
|
12583 |
<H2> 16.3 DISPLAY DOCUMENTS </H2>
|
|
12584 |
<!--docid::SEC159::-->
|
|
12585 |
<P>
|
|
12586 |
|
|
12587 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DISPLAY DOCUMENTS.
|
|
12588 |
</pre></td></tr></table><P>
|
|
12589 |
|
|
12590 |
DISPLAY DOCUMENTS displays the documents in the active file. Each
|
|
12591 |
document is preceded by a line giving the time and date that it was
|
|
12592 |
added. See section <A HREF="pspp.html#SEC158">16.2 DOCUMENT</A>.
|
|
12593 |
</P>
|
|
12594 |
<P>
|
|
12595 |
|
|
12596 |
<A NAME="DISPLAY FILE LABEL"></A>
|
|
12597 |
<HR SIZE="6">
|
|
12598 |
<A NAME="SEC160"></A>
|
|
12599 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12600 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC159"> < </A>]</TD>
|
|
12601 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC161"> > </A>]</TD>
|
|
12602 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12603 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12604 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12605 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12606 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12607 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12608 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12609 |
</TR></TABLE>
|
|
12610 |
<H2> 16.4 DISPLAY FILE LABEL </H2>
|
|
12611 |
<!--docid::SEC160::-->
|
|
12612 |
<P>
|
|
12613 |
|
|
12614 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DISPLAY FILE LABEL.
|
|
12615 |
</pre></td></tr></table><P>
|
|
12616 |
|
|
12617 |
DISPLAY FILE LABEL displays the file label contained in the active file,
|
|
12618 |
if any. See section <A HREF="pspp.html#SEC163">16.7 FILE LABEL</A>.
|
|
12619 |
</P>
|
|
12620 |
<P>
|
|
12621 |
|
|
12622 |
<A NAME="DROP DOCUMENTS"></A>
|
|
12623 |
<HR SIZE="6">
|
|
12624 |
<A NAME="SEC161"></A>
|
|
12625 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12626 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC160"> < </A>]</TD>
|
|
12627 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC162"> > </A>]</TD>
|
|
12628 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12629 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12630 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12631 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12632 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12633 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12634 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12635 |
</TR></TABLE>
|
|
12636 |
<H2> 16.5 DROP DOCUMENTS </H2>
|
|
12637 |
<!--docid::SEC161::-->
|
|
12638 |
<P>
|
|
12639 |
|
|
12640 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">DROP DOCUMENTS.
|
|
12641 |
</pre></td></tr></table><P>
|
|
12642 |
|
|
12643 |
The DROP DOCUMENTS command removes all documents from the active file.
|
|
12644 |
New documents can be added with the DOCUMENT utility (see section <A HREF="pspp.html#SEC158">16.2 DOCUMENT</A>).
|
|
12645 |
</P>
|
|
12646 |
<P>
|
|
12647 |
|
|
12648 |
DROP DOCUMENTS only changes the active file. It does not modify any
|
|
12649 |
system files stored on disk.
|
|
12650 |
</P>
|
|
12651 |
<P>
|
|
12652 |
|
|
12653 |
<A NAME="EXECUTE"></A>
|
|
12654 |
<HR SIZE="6">
|
|
12655 |
<A NAME="SEC162"></A>
|
|
12656 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12657 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC161"> < </A>]</TD>
|
|
12658 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC163"> > </A>]</TD>
|
|
12659 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12660 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12661 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12662 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12663 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12664 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12665 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12666 |
</TR></TABLE>
|
|
12667 |
<H2> 16.6 EXECUTE </H2>
|
|
12668 |
<!--docid::SEC162::-->
|
|
12669 |
<P>
|
|
12670 |
|
|
12671 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">EXECUTE.
|
|
12672 |
</pre></td></tr></table><P>
|
|
12673 |
|
|
12674 |
The EXECUTE utility causes the active file to be read and all pending
|
|
12675 |
transformations to be executed.
|
|
12676 |
</P>
|
|
12677 |
<P>
|
|
12678 |
|
|
12679 |
<A NAME="FILE LABEL"></A>
|
|
12680 |
<HR SIZE="6">
|
|
12681 |
<A NAME="SEC163"></A>
|
|
12682 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12683 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC162"> < </A>]</TD>
|
|
12684 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC164"> > </A>]</TD>
|
|
12685 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12686 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12687 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12688 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12689 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12690 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12691 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12692 |
</TR></TABLE>
|
|
12693 |
<H2> 16.7 FILE LABEL </H2>
|
|
12694 |
<!--docid::SEC163::-->
|
|
12695 |
<P>
|
|
12696 |
|
|
12697 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">FILE LABEL file_label.
|
|
12698 |
</pre></td></tr></table><P>
|
|
12699 |
|
|
12700 |
Use the FILE LABEL command to provide a title for the active file. This
|
|
12701 |
title will be saved into system files and portable files that are
|
|
12702 |
created during this PSPP run.
|
|
12703 |
</P>
|
|
12704 |
<P>
|
|
12705 |
|
|
12706 |
It is not necessary to include quotes around file_label. If they are
|
|
12707 |
included then they become part of the file label.
|
|
12708 |
</P>
|
|
12709 |
<P>
|
|
12710 |
|
|
12711 |
<A NAME="INCLUDE"></A>
|
|
12712 |
<HR SIZE="6">
|
|
12713 |
<A NAME="SEC164"></A>
|
|
12714 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12715 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC163"> < </A>]</TD>
|
|
12716 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC165"> > </A>]</TD>
|
|
12717 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12718 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12719 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12720 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12721 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12722 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12723 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12724 |
</TR></TABLE>
|
|
12725 |
<H2> 16.8 INCLUDE </H2>
|
|
12726 |
<!--docid::SEC164::-->
|
|
12727 |
<P>
|
|
12728 |
|
|
12729 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
12730 |
INCLUDE 'filename'.
|
|
12731 |
@filename.
|
|
12732 |
</pre></td></tr></table><P>
|
|
12733 |
|
|
12734 |
The INCLUDE command causes the PSPP command processor to read an
|
|
12735 |
additional command file as if it were included bodily in the current
|
|
12736 |
command file.
|
|
12737 |
</P>
|
|
12738 |
<P>
|
|
12739 |
|
|
12740 |
INCLUDE files may be nested to any depth, up to the limit of available
|
|
12741 |
memory.
|
|
12742 |
</P>
|
|
12743 |
<P>
|
|
12744 |
|
|
12745 |
<A NAME="QUIT"></A>
|
|
12746 |
<HR SIZE="6">
|
|
12747 |
<A NAME="SEC165"></A>
|
|
12748 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12749 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC164"> < </A>]</TD>
|
|
12750 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC166"> > </A>]</TD>
|
|
12751 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12752 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12753 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12754 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12755 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12756 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12757 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12758 |
</TR></TABLE>
|
|
12759 |
<H2> 16.9 QUIT </H2>
|
|
12760 |
<!--docid::SEC165::-->
|
|
12761 |
<P>
|
|
12762 |
|
|
12763 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
12764 |
QUIT.
|
|
12765 |
EXIT.
|
|
12766 |
</pre></td></tr></table><P>
|
|
12767 |
|
|
12768 |
The QUIT command terminates the current PSPP session and returns control
|
|
12769 |
to the operating system.
|
|
12770 |
</P>
|
|
12771 |
<P>
|
|
12772 |
|
|
12773 |
This command is not valid within a command file.
|
|
12774 |
</P>
|
|
12775 |
<P>
|
|
12776 |
|
|
12777 |
<A NAME="SET"></A>
|
|
12778 |
<HR SIZE="6">
|
|
12779 |
<A NAME="SEC166"></A>
|
|
12780 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
12781 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC165"> < </A>]</TD>
|
|
12782 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC167"> > </A>]</TD>
|
|
12783 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
12784 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
12785 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
12786 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
12787 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
12788 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
12789 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
12790 |
</TR></TABLE>
|
|
12791 |
<H2> 16.10 SET </H2>
|
|
12792 |
<!--docid::SEC166::-->
|
|
12793 |
<P>
|
|
12794 |
|
|
12795 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">SET
|
|
12796 |
|
|
12797 |
(data input)
|
|
12798 |
/BLANKS={SYSMIS,'.',number}
|
|
12799 |
/DECIMAL={DOT,COMMA}
|
|
12800 |
/FORMAT=fmt_spec
|
|
12801 |
|
|
12802 |
(program input)
|
|
12803 |
/ENDCMD='.'
|
|
12804 |
/NULLINE={ON,OFF}
|
|
12805 |
|
|
12806 |
(interaction)
|
|
12807 |
/CPROMPT='cprompt_string'
|
|
12808 |
/DPROMPT='dprompt_string'
|
|
12809 |
/ERRORBREAK={OFF,ON}
|
|
12810 |
/MXERRS=max_errs
|
|
12811 |
/MXWARNS=max_warnings
|
|
12812 |
/PROMPT='prompt'
|
|
12813 |
/VIEWLENGTH={MINIMUM,MEDIAN,MAXIMUM,n_lines}
|
|
12814 |
/VIEWWIDTH=n_characters
|
|
12815 |
|
|
12816 |
(program execution)
|
|
12817 |
/MEXPAND={ON,OFF}
|
|
12818 |
/MITERATE=max_iterations
|
|
12819 |
/MNEST=max_nest
|
|
12820 |
/MPRINT={ON,OFF}
|
|
12821 |
/MXLOOPS=max_loops
|
|
12822 |
/SEED={RANDOM,seed_value}
|
|
12823 |
/UNDEFINED={WARN,NOWARN}
|
|
12824 |
|
|
12825 |
(data output)
|
|
12826 |
/CC{A,B,C,D,E}={'npre,pre,suf,nsuf','npre.pre.suf.nsuf'}
|
|
12827 |
/DECIMAL={DOT,COMMA}
|
|
12828 |
/FORMAT=fmt_spec
|
|
12829 |
|
|
12830 |
(output routing)
|
|
12831 |
/ECHO={ON,OFF}
|
|
12832 |
/ERRORS={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
|
|
12833 |
/INCLUDE={ON,OFF}
|
|
12834 |
/MESSAGES={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
|
|
12835 |
/PRINTBACK={ON,OFF}
|
|
12836 |
/RESULTS={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
|
|
12837 |
|
|
12838 |
(output activation)
|
|
12839 |
/LISTING={ON,OFF}
|
|
12840 |
/PRINTER={ON,OFF}
|
|
12841 |
/SCREEN={ON,OFF}
|
|
12842 |
|
|
12843 |
(output driver options)
|
|
12844 |
/HEADERS={NO,YES,BLANK}
|
|
12845 |
/LENGTH={NONE,length_in_lines}
|
|
12846 |
/LISTING=filename
|
|
12847 |
/MORE={ON,OFF}
|
|
12848 |
/PAGER={OFF,"pager_name"}
|
|
12849 |
/WIDTH={NARROW,WIDTH,n_characters}
|
|
12850 |
|
|
12851 |
(logging)
|
|
12852 |
/JOURNAL={ON,OFF} [filename]
|
|
12853 |
/LOG={ON,OFF} [filename]
|
|
12854 |
|
|
12855 |
(system files)
|
|
12856 |
/COMPRESSION={ON,OFF}
|
|
12857 |
/SCOMPRESSION={ON,OFF}
|
|
12858 |
|
|
12859 |
(security)
|
|
12860 |
/SAFER=ON
|
|
12861 |
|
|
12862 |
(obsolete settings accepted for compatibility, but ignored)
|
|
12863 |
/AUTOMENU={ON,OFF}
|
|
12864 |
/BEEP={ON,OFF}
|
|
12865 |
/BLOCK='c'
|
|
12866 |
/BOXSTRING={'xxx','xxxxxxxxxxx'}
|
|
12867 |
/CASE={UPPER,UPLOW}
|
|
12868 |
/COLOR=<small>...</small>
|
|
12869 |
/CPI=cpi_value
|
|
12870 |
/DISK={ON,OFF}
|
|
12871 |
/EJECT={ON,OFF}
|
|
12872 |
/HELPWINDOWS={ON,OFF}
|
|
12873 |
/HIGHRES={ON,OFF}
|
|
12874 |
/HISTOGRAM='c'
|
|
12875 |
/LOWRES={AUTO,ON,OFF}
|
|
12876 |
/LPI=lpi_value
|
|
12877 |
/MENUS={STANDARD,EXTENDED}
|
|
12878 |
/MXMEMORY=max_memory
|
|
12879 |
/PTRANSLATE={ON,OFF}
|
|
12880 |
/RCOLORS=<small>...</small>
|
|
12881 |
/RUNREVIEW={AUTO,MANUAL}
|
|
12882 |
/SCRIPTTAB='c'
|
|
12883 |
/TB1={'xxx','xxxxxxxxxxx'}
|
|
12884 |
/TBFONTS='string'
|
|
12885 |
/WORKDEV=drive_letter
|
|
12886 |
/WORKSPACE=workspace_size
|
|
12887 |
/XSORT={YES,NO}
|
|
12888 |
</pre></td></tr></table><P>
|
|
12889 |
|
|
12890 |
The SET command allows the user to adjust several parameters relating to
|
|
12891 |
PSPP's execution. Since there are many subcommands to this command, its
|
|
12892 |
subcommands will be examined in groups.
|
|
12893 |
</P>
|
|
12894 |
<P>
|
|
12895 |
|
|
12896 |
As a general comment, ON and YES are considered synonymous, and
|
|
12897 |
so are OFF and NO, when used as subcommand values.
|
|
12898 |
</P>
|
|
12899 |
<P>
|
|
12900 |
|
|
12901 |
The data input subcommands affect the way that data is read from data
|
|
12902 |
files. The data input subcommands are
|
|
12903 |
</P>
|
|
12904 |
<P>
|
|
12905 |
|
|
12906 |
</P>
|
|
12907 |
<DL COMPACT>
|
|
12908 |
<DT>BLANKS
|
|
12909 |
<DD>This is the value assigned to an item data item that is empty or
|
|
12910 |
contains only whitespace. An argument of SYSMIS or '.' will cause the
|
|
12911 |
system-missing value to be assigned to null items. This is the
|
|
12912 |
default. Any real value may be assigned.
|
|
12913 |
<P>
|
|
12914 |
|
|
12915 |
</P>
|
|
12916 |
<DT>DECIMAL
|
|
12917 |
<DD>The default DOT setting causes the decimal point character to be
|
|
12918 |
`<SAMP>.</SAMP>'. A setting of COMMA causes the decimal point character to be
|
|
12919 |
`<SAMP>,</SAMP>'.
|
|
12920 |
<P>
|
|
12921 |
|
|
12922 |
</P>
|
|
12923 |
<DT>FORMAT
|
|
12924 |
<DD>Allows the default numeric input/output format to be specified. The
|
|
12925 |
default is F8.2. See section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>.
|
|
12926 |
</DL>
|
|
12927 |
<P>
|
|
12928 |
|
|
12929 |
Program input subcommands affect the way that programs are parsed when
|
|
12930 |
they are typed interactively or run from a script. They are
|
|
12931 |
</P>
|
|
12932 |
<P>
|
|
12933 |
|
|
12934 |
</P>
|
|
12935 |
<DL COMPACT>
|
|
12936 |
<DT>ENDCMD
|
|
12937 |
<DD>This is a single character indicating the end of a command. The default
|
|
12938 |
is `<SAMP>.</SAMP>'. Don't change this.
|
|
12939 |
<P>
|
|
12940 |
|
|
12941 |
</P>
|
|
12942 |
<DT>NULLINE
|
|
12943 |
<DD>Whether a blank line is interpreted as ending the current command. The
|
|
12944 |
default is ON.
|
|
12945 |
</DL>
|
|
12946 |
<P>
|
|
12947 |
|
|
12948 |
Interaction subcommands affect the way that PSPP interacts with an
|
|
12949 |
online user. The interaction subcommands are
|
|
12950 |
</P>
|
|
12951 |
<P>
|
|
12952 |
|
|
12953 |
</P>
|
|
12954 |
<DL COMPACT>
|
|
12955 |
<DT>CPROMPT
|
|
12956 |
<DD>The command continuation prompt. The default is `<SAMP> > </SAMP>'.
|
|
12957 |
<P>
|
|
12958 |
|
|
12959 |
</P>
|
|
12960 |
<DT>DPROMPT
|
|
12961 |
<DD>Prompt used when expecting data input within BEGIN DATA (see section <A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A>). The default is `<SAMP>data> </SAMP>'.
|
|
12962 |
<P>
|
|
12963 |
|
|
12964 |
</P>
|
|
12965 |
<DT>ERRORBREAK
|
|
12966 |
<DD>Whether an error causes PSPP to stop processing the current command
|
|
12967 |
file after finishing the current command. The default is OFF.
|
|
12968 |
<P>
|
|
12969 |
|
|
12970 |
</P>
|
|
12971 |
<DT>MXERRS
|
|
12972 |
<DD>The maximum number of errors before PSPP halts processing of the current
|
|
12973 |
command file. The default is 50.
|
|
12974 |
<P>
|
|
12975 |
|
|
12976 |
</P>
|
|
12977 |
<DT>MXWARNS
|
|
12978 |
<DD>The maximum number of warnings + errors before PSPP halts processing the
|
|
12979 |
current command file. The default is 100.
|
|
12980 |
<P>
|
|
12981 |
|
|
12982 |
</P>
|
|
12983 |
<DT>PROMPT
|
|
12984 |
<DD>The command prompt. The default is `<SAMP>PSPP> </SAMP>'.
|
|
12985 |
<P>
|
|
12986 |
|
|
12987 |
</P>
|
|
12988 |
<DT>VIEWLENGTH
|
|
12989 |
<DD>The length of the screen in lines. MINIMUM means 25 lines, MEDIAN and
|
|
12990 |
MAXIMUM mean 43 lines. Otherwise specify the number of lines. Normally
|
|
12991 |
PSPP should auto-detect your screen size so this shouldn't have to be
|
|
12992 |
used.
|
|
12993 |
<P>
|
|
12994 |
|
|
12995 |
</P>
|
|
12996 |
<DT>VIEWWIDTH
|
|
12997 |
<DD>The width of the screen in characters. Normally 80 or 132.
|
|
12998 |
</DL>
|
|
12999 |
<P>
|
|
13000 |
|
|
13001 |
Program execution subcommands control the way that PSPP commands
|
|
13002 |
execute. The program execution subcommands are
|
|
13003 |
</P>
|
|
13004 |
<P>
|
|
13005 |
|
|
13006 |
</P>
|
|
13007 |
<DL COMPACT>
|
|
13008 |
<DT>MEXPAND
|
|
13009 |
<DD><DT>MITERATE
|
|
13010 |
<DD><DT>MNEST
|
|
13011 |
<DD><DT>MPRINT
|
|
13012 |
<DD>Currently not used.
|
|
13013 |
<P>
|
|
13014 |
|
|
13015 |
</P>
|
|
13016 |
<DT>MXLOOPS
|
|
13017 |
<DD>The maximum number of iterations for an uncontrolled loop.
|
|
13018 |
<P>
|
|
13019 |
|
|
13020 |
</P>
|
|
13021 |
<DT>SEED
|
|
13022 |
<DD>The initial pseudo-random number seed. Set to a real number or to
|
|
13023 |
RANDOM, which will obtain an initial seed from the current time of day.
|
|
13024 |
<P>
|
|
13025 |
|
|
13026 |
</P>
|
|
13027 |
<DT>UNDEFINED
|
|
13028 |
<DD>Currently not used.
|
|
13029 |
</DL>
|
|
13030 |
<P>
|
|
13031 |
|
|
13032 |
Data output subcommands affect the format of output data. These
|
|
13033 |
subcommands are
|
|
13034 |
</P>
|
|
13035 |
<P>
|
|
13036 |
|
|
13037 |
</P>
|
|
13038 |
<DL COMPACT>
|
|
13039 |
<DT>CCA
|
|
13040 |
<DD><DT>CCB
|
|
13041 |
<DD><DT>CCC
|
|
13042 |
<DD><DT>CCD
|
|
13043 |
<DD><DT>CCE
|
|
13044 |
<DD>Set up custom currency formats. The argument is a string which must
|
|
13045 |
contain exactly three commas or exactly three periods. If commas, then
|
|
13046 |
the grouping character for the currency format is `<SAMP>,</SAMP>', and the
|
|
13047 |
decimal point character is `<SAMP>.</SAMP>'; if periods, then the situation is
|
|
13048 |
reversed.
|
|
13049 |
<P>
|
|
13050 |
|
|
13051 |
The commas or periods divide the string into four fields, which are, in
|
|
13052 |
order, the negative prefix, prefix, suffix, and negative suffix. When a
|
|
13053 |
value is formatted using the custom currency format, the prefix precedes
|
|
13054 |
the value formatted and the suffix follows it. In addition, if the
|
|
13055 |
value is negative, the negative prefix precedes the prefix and the
|
|
13056 |
negative suffix follows the suffix.
|
|
13057 |
</P>
|
|
13058 |
<P>
|
|
13059 |
|
|
13060 |
</P>
|
|
13061 |
<DT>DECIMAL
|
|
13062 |
<DD>The default DOT setting causes the decimal point character to be
|
|
13063 |
`<SAMP>.</SAMP>'. A setting of COMMA causes the decimal point character to be
|
|
13064 |
`<SAMP>,</SAMP>'.
|
|
13065 |
<P>
|
|
13066 |
|
|
13067 |
</P>
|
|
13068 |
<DT>FORMAT
|
|
13069 |
<DD>Allows the default numeric input/output format to be specified. The
|
|
13070 |
default is F8.2. See section <A HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>.
|
|
13071 |
</DL>
|
|
13072 |
<P>
|
|
13073 |
|
|
13074 |
Output routing subcommands affect where the output of transformations
|
|
13075 |
and procedures is sent. These subcommands are
|
|
13076 |
</P>
|
|
13077 |
<P>
|
|
13078 |
|
|
13079 |
</P>
|
|
13080 |
<DL COMPACT>
|
|
13081 |
<DT>ECHO
|
|
13082 |
<DD><P>
|
|
13083 |
|
|
13084 |
If turned on, commands are written to the listing file as they are read
|
|
13085 |
from command files. The default is OFF.
|
|
13086 |
</P>
|
|
13087 |
<P>
|
|
13088 |
|
|
13089 |
</P>
|
|
13090 |
<DT>ERRORS
|
|
13091 |
<DD><DT>INCLUDE
|
|
13092 |
<DD><DT>MESSAGES
|
|
13093 |
<DD><DT>PRINTBACK
|
|
13094 |
<DD><DT>RESULTS
|
|
13095 |
<DD>Currently not used.
|
|
13096 |
</DL>
|
|
13097 |
<P>
|
|
13098 |
|
|
13099 |
Output activation subcommands affect whether output devices of
|
|
13100 |
particular types are enabled. These subcommands are
|
|
13101 |
</P>
|
|
13102 |
<P>
|
|
13103 |
|
|
13104 |
</P>
|
|
13105 |
<DL COMPACT>
|
|
13106 |
<DT>LISTING
|
|
13107 |
<DD>Enable or disable listing devices.
|
|
13108 |
<P>
|
|
13109 |
|
|
13110 |
</P>
|
|
13111 |
<DT>PRINTER
|
|
13112 |
<DD>Enable or disable printer devices.
|
|
13113 |
<P>
|
|
13114 |
|
|
13115 |
</P>
|
|
13116 |
<DT>SCREEN
|
|
13117 |
<DD>Enable or disable screen devices.
|
|
13118 |
</DL>
|
|
13119 |
<P>
|
|
13120 |
|
|
13121 |
Output driver option subcommands affect output drivers' settings. These
|
|
13122 |
subcommands are
|
|
13123 |
</P>
|
|
13124 |
<P>
|
|
13125 |
|
|
13126 |
</P>
|
|
13127 |
<DL COMPACT>
|
|
13128 |
<DT>HEADERS
|
|
13129 |
<DD><DT>LENGTH
|
|
13130 |
<DD><DT>LISTING
|
|
13131 |
<DD><DT>MORE
|
|
13132 |
<DD><DT>PAGER
|
|
13133 |
<DD><DT>WIDTH
|
|
13134 |
<DD>Currently not used.
|
|
13135 |
</DL>
|
|
13136 |
<P>
|
|
13137 |
|
|
13138 |
Logging subcommands affect logging of commands executed to external
|
|
13139 |
files. These subcommands are
|
|
13140 |
</P>
|
|
13141 |
<P>
|
|
13142 |
|
|
13143 |
</P>
|
|
13144 |
<DL COMPACT>
|
|
13145 |
<DT>JOURNAL
|
|
13146 |
<DD><DT>LOG
|
|
13147 |
<DD>Not currently used.
|
|
13148 |
</DL>
|
|
13149 |
<P>
|
|
13150 |
|
|
13151 |
System file subcommands affect the default format of system files
|
|
13152 |
produced by PSPP. These subcommands are
|
|
13153 |
</P>
|
|
13154 |
<P>
|
|
13155 |
|
|
13156 |
</P>
|
|
13157 |
<DL COMPACT>
|
|
13158 |
<DT>COMPRESSION
|
|
13159 |
<DD>Not currently used.
|
|
13160 |
<P>
|
|
13161 |
|
|
13162 |
</P>
|
|
13163 |
<DT>SCOMPRESSION
|
|
13164 |
<DD>Whether system files created by SAVE or XSAVE are compressed by default.
|
|
13165 |
The default is ON.
|
|
13166 |
</DL>
|
|
13167 |
<P>
|
|
13168 |
|
|
13169 |
Security subcommands affect the operations that commands are allowed to
|
|
13170 |
perform. The security subcommands are
|
|
13171 |
</P>
|
|
13172 |
<P>
|
|
13173 |
|
|
13174 |
</P>
|
|
13175 |
<DL COMPACT>
|
|
13176 |
<DT>SAFER
|
|
13177 |
<DD>When set, this setting cannot ever be reset, for obvious security
|
|
13178 |
reasons. Setting this option disables the following operations:
|
|
13179 |
<P>
|
|
13180 |
|
|
13181 |
<UL>
|
|
13182 |
<LI>
|
|
13183 |
The ERASE command.
|
|
13184 |
<LI>
|
|
13185 |
The HOST command.
|
|
13186 |
<LI>
|
|
13187 |
Pipe filenames (filenames beginning or ending with `<SAMP>|</SAMP>').
|
|
13188 |
<LI>
|
|
13189 |
</UL>
|
|
13190 |
<P>
|
|
13191 |
|
|
13192 |
Be aware that this setting does not guarantee safety (commands can still
|
|
13193 |
overwrite files, for instance) but it is an improvement.
|
|
13194 |
</DL>
|
|
13195 |
<P>
|
|
13196 |
|
|
13197 |
<A NAME="SUBTITLE"></A>
|
|
13198 |
<HR SIZE="6">
|
|
13199 |
<A NAME="SEC167"></A>
|
|
13200 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13201 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC166"> < </A>]</TD>
|
|
13202 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC168"> > </A>]</TD>
|
|
13203 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
13204 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
13205 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
13206 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13207 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13208 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13209 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13210 |
</TR></TABLE>
|
|
13211 |
<H2> 16.11 SUBTITLE </H2>
|
|
13212 |
<!--docid::SEC167::-->
|
|
13213 |
<P>
|
|
13214 |
|
|
13215 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
13216 |
SUBTITLE 'subtitle_string'.
|
|
13217 |
SUBTITLE subtitle_string.
|
|
13218 |
</pre></td></tr></table><P>
|
|
13219 |
|
|
13220 |
The SUBTITLE command is used to provide a subtitle to a particular PSPP
|
|
13221 |
run. This subtitle appears at the top of each output page below the
|
|
13222 |
title, if titles are enabled on the output device.
|
|
13223 |
</P>
|
|
13224 |
<P>
|
|
13225 |
|
|
13226 |
Specify a subtitle as a string in quotes. The alternate syntax that did
|
|
13227 |
not require quotes is now obsolete. If it is used then the subtitle is
|
|
13228 |
converted to all uppercase.
|
|
13229 |
</P>
|
|
13230 |
<P>
|
|
13231 |
|
|
13232 |
<A NAME="TITLE"></A>
|
|
13233 |
<HR SIZE="6">
|
|
13234 |
<A NAME="SEC168"></A>
|
|
13235 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13236 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC167"> < </A>]</TD>
|
|
13237 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> > </A>]</TD>
|
|
13238 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
13239 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> Up </A>]</TD>
|
|
13240 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> >> </A>]</TD>
|
|
13241 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13242 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13243 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13244 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13245 |
</TR></TABLE>
|
|
13246 |
<H2> 16.12 TITLE </H2>
|
|
13247 |
<!--docid::SEC168::-->
|
|
13248 |
<P>
|
|
13249 |
|
|
13250 |
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Two possible syntaxes:
|
|
13251 |
TITLE 'title_string'.
|
|
13252 |
TITLE title_string.
|
|
13253 |
</pre></td></tr></table><P>
|
|
13254 |
|
|
13255 |
The TITLE command is used to provide a title to a particular PSPP run.
|
|
13256 |
This title appears at the top of each output page, if titles are enabled
|
|
13257 |
on the output device.
|
|
13258 |
</P>
|
|
13259 |
<P>
|
|
13260 |
|
|
13261 |
Specify a title as a string in quotes. The alternate syntax that did
|
|
13262 |
not require quotes is now obsolete. If it is used then the title is
|
|
13263 |
converted to all uppercase.
|
|
13264 |
</P>
|
|
13265 |
<P>
|
|
13266 |
|
|
13267 |
<A NAME="Not Implemented"></A>
|
|
13268 |
<HR SIZE="6">
|
|
13269 |
<A NAME="SEC169"></A>
|
|
13270 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13271 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC168"> < </A>]</TD>
|
|
13272 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> > </A>]</TD>
|
|
13273 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC156"> << </A>]</TD>
|
|
13274 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
13275 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> >> </A>]</TD>
|
|
13276 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13277 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13278 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13279 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13280 |
</TR></TABLE>
|
|
13281 |
<H1> 17. Not Implemented </H1>
|
|
13282 |
<!--docid::SEC169::-->
|
|
13283 |
<P>
|
|
13284 |
|
|
13285 |
This chapter lists parts of the PSPP language that are not yet
|
|
13286 |
implemented.
|
|
13287 |
</P>
|
|
13288 |
<P>
|
|
13289 |
|
|
13290 |
The following transformations and utilities are not yet implemented, but
|
|
13291 |
they will be supported in a later release.
|
|
13292 |
</P>
|
|
13293 |
<P>
|
|
13294 |
|
|
13295 |
<UL>
|
|
13296 |
<LI>
|
|
13297 |
ADD FILES
|
|
13298 |
<LI>
|
|
13299 |
DEFINE
|
|
13300 |
<LI>
|
|
13301 |
FILE TYPE
|
|
13302 |
<LI>
|
|
13303 |
GET SAS
|
|
13304 |
<LI>
|
|
13305 |
GET TRANSLATE
|
|
13306 |
<LI>
|
|
13307 |
MCONVERT
|
|
13308 |
<LI>
|
|
13309 |
PRESERVE
|
|
13310 |
<LI>
|
|
13311 |
PROCEDURE OUTPUT
|
|
13312 |
<LI>
|
|
13313 |
RESTORE
|
|
13314 |
<LI>
|
|
13315 |
SAVE TRANSLATE
|
|
13316 |
<LI>
|
|
13317 |
SHOW
|
|
13318 |
<LI>
|
|
13319 |
UPDATE
|
|
13320 |
</UL>
|
|
13321 |
<P>
|
|
13322 |
|
|
13323 |
The following transformations and utilities are not implemented. There
|
|
13324 |
are no plans to support them in future releases. Contributions to
|
|
13325 |
implement them will still be accepted.
|
|
13326 |
</P>
|
|
13327 |
<P>
|
|
13328 |
|
|
13329 |
<UL>
|
|
13330 |
<LI>
|
|
13331 |
EDIT
|
|
13332 |
<LI>
|
|
13333 |
GET DATABASE
|
|
13334 |
<LI>
|
|
13335 |
GET OSIRIS
|
|
13336 |
<LI>
|
|
13337 |
GET SCSS
|
|
13338 |
<LI>
|
|
13339 |
GSET
|
|
13340 |
<LI>
|
|
13341 |
HELP
|
|
13342 |
<LI>
|
|
13343 |
INFO
|
|
13344 |
<LI>
|
|
13345 |
INPUT MATRIX
|
|
13346 |
<LI>
|
|
13347 |
KEYED DATA LIST
|
|
13348 |
<LI>
|
|
13349 |
NUMBERED and UNNUMBERED
|
|
13350 |
<LI>
|
|
13351 |
OPTIONS
|
|
13352 |
<LI>
|
|
13353 |
REVIEW
|
|
13354 |
<LI>
|
|
13355 |
SAVE SCSS
|
|
13356 |
<LI>
|
|
13357 |
SPSS MANAGER
|
|
13358 |
<LI>
|
|
13359 |
STATISTICS
|
|
13360 |
</UL>
|
|
13361 |
<P>
|
|
13362 |
|
|
13363 |
<A NAME="Data File Format"></A>
|
|
13364 |
<HR SIZE="6">
|
|
13365 |
<A NAME="SEC170"></A>
|
|
13366 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13367 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> < </A>]</TD>
|
|
13368 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC171"> > </A>]</TD>
|
|
13369 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC169"> << </A>]</TD>
|
|
13370 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
13371 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13372 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13373 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13374 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13375 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13376 |
</TR></TABLE>
|
|
13377 |
<H1> 18. Data File Format </H1>
|
|
13378 |
<!--docid::SEC170::-->
|
|
13379 |
<P>
|
|
13380 |
|
|
13381 |
PSPP necessarily uses the same format for system files as do the
|
|
13382 |
products with which it is compatible. This chapter is a description of
|
|
13383 |
that format.
|
|
13384 |
</P>
|
|
13385 |
<P>
|
|
13386 |
|
|
13387 |
There are three data types used in system files: 32-bit integers, 64-bit
|
|
13388 |
floating points, and 1-byte characters. In this document these will
|
|
13389 |
simply be referred to as <CODE>int32</CODE>, <CODE>flt64</CODE>, and <CODE>char</CODE>,
|
|
13390 |
the names that are used in the PSPP source code. Every field of type
|
|
13391 |
<CODE>int32</CODE> or <CODE>flt64</CODE> is aligned on a 32-bit boundary.
|
|
13392 |
</P>
|
|
13393 |
<P>
|
|
13394 |
|
|
13395 |
The endianness of data in PSPP system files is not specified. System
|
|
13396 |
files output on a computer of a particular endianness will have the
|
|
13397 |
endianness of that computer. However, PSPP can read files of either
|
|
13398 |
endianness, regardless of its host computer's endianness. PSPP
|
|
13399 |
translates endianness for both integer and floating point numbers.
|
|
13400 |
</P>
|
|
13401 |
<P>
|
|
13402 |
|
|
13403 |
Floating point formats are also not specified. PSPP does not
|
|
13404 |
translate between floating point formats. This is unlikely to be a
|
|
13405 |
problem as all modern computer architectures use IEEE 754 format for
|
|
13406 |
floating point representation.
|
|
13407 |
</P>
|
|
13408 |
<P>
|
|
13409 |
|
|
13410 |
The PSPP system-missing value is represented by the largest possible
|
|
13411 |
negative number in the floating point format; in C, this is most likely
|
|
13412 |
<CODE>-DBL_MAX</CODE>. There are two other important values used in missing
|
|
13413 |
values: <CODE>HIGHEST</CODE> and <CODE>LOWEST</CODE>. These are represented by the
|
|
13414 |
largest possible positive number (probably <CODE>DBL_MAX</CODE>) and the
|
|
13415 |
second-largest negative number. The latter must be determined in a
|
|
13416 |
system-dependent manner; in IEEE 754 format it is represented by value
|
|
13417 |
<CODE>0xffeffffffffffffe</CODE>.
|
|
13418 |
</P>
|
|
13419 |
<P>
|
|
13420 |
|
|
13421 |
System files are divided into records. Each record begins with an
|
|
13422 |
<CODE>int32</CODE> giving a numeric record type. Individual record types are
|
|
13423 |
described below:
|
|
13424 |
</P>
|
|
13425 |
<P>
|
|
13426 |
|
|
13427 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
13428 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC171">18.1 File Header Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13429 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC172">18.2 Variable Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13430 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC173">18.3 Value Label Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13431 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC174">18.4 Value Label Variable Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13432 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC175">18.5 Document Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13433 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC176">18.6 Machine <CODE>int32</CODE> Info Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13434 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC177">18.7 Machine <CODE>flt64</CODE> Info Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13435 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC178">18.8 Miscellaneous Informational Records</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13436 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC179">18.9 Dictionary Termination Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13437 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC180">18.10 Data Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
13438 |
</TABLE>
|
|
13439 |
<P>
|
|
13440 |
|
|
13441 |
<A NAME="File Header Record"></A>
|
|
13442 |
<HR SIZE="6">
|
|
13443 |
<A NAME="SEC171"></A>
|
|
13444 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13445 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> < </A>]</TD>
|
|
13446 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC172"> > </A>]</TD>
|
|
13447 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13448 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13449 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13450 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13451 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13452 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13453 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13454 |
</TR></TABLE>
|
|
13455 |
<H2> 18.1 File Header Record </H2>
|
|
13456 |
<!--docid::SEC171::-->
|
|
13457 |
<P>
|
|
13458 |
|
|
13459 |
The file header is always the first record in the file.
|
|
13460 |
</P>
|
|
13461 |
<P>
|
|
13462 |
|
|
13463 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_header
|
|
13464 |
{
|
|
13465 |
char rec_type[4];
|
|
13466 |
char prod_name[60];
|
|
13467 |
int32 layout_code;
|
|
13468 |
int32 case_size;
|
|
13469 |
int32 compressed;
|
|
13470 |
int32 weight_index;
|
|
13471 |
int32 ncases;
|
|
13472 |
flt64 bias;
|
|
13473 |
char creation_date[9];
|
|
13474 |
char creation_time[8];
|
|
13475 |
char file_label[64];
|
|
13476 |
char padding[3];
|
|
13477 |
};
|
|
13478 |
</pre></td></tr></table><P>
|
|
13479 |
|
|
13480 |
</P>
|
|
13481 |
<DL COMPACT>
|
|
13482 |
<DT><CODE>char rec_type[4];</CODE>
|
|
13483 |
<DD>Record type code. Always set to `<SAMP>$FL2</SAMP>'. This is the only record
|
|
13484 |
for which the record type is not of type <CODE>int32</CODE>.
|
|
13485 |
<P>
|
|
13486 |
|
|
13487 |
</P>
|
|
13488 |
<DT><CODE>char prod_name[60];</CODE>
|
|
13489 |
<DD>Product identification string. This always begins with the characters
|
|
13490 |
`<SAMP>@(#) SPSS DATA FILE</SAMP>'. PSPP uses the remaining characters to
|
|
13491 |
give its version and the operating system name; for example, `<SAMP>GNU
|
|
13492 |
pspp 0.1.4 - sparc-sun-solaris2.5.2</SAMP>'. The string is truncated if it
|
|
13493 |
would be longer than 60 characters; otherwise it is padded on the right
|
|
13494 |
with spaces.
|
|
13495 |
<P>
|
|
13496 |
|
|
13497 |
</P>
|
|
13498 |
<DT><CODE>int32 layout_code;</CODE>
|
|
13499 |
<DD>Always set to 2. PSPP reads this value in order to determine the
|
|
13500 |
file's endianness.
|
|
13501 |
<P>
|
|
13502 |
|
|
13503 |
</P>
|
|
13504 |
<DT><CODE>int32 case_size;</CODE>
|
|
13505 |
<DD>Number of data elements per case. This is the number of variables,
|
|
13506 |
except that long string variables add extra data elements (one for every
|
|
13507 |
8 characters after the first 8).
|
|
13508 |
<P>
|
|
13509 |
|
|
13510 |
</P>
|
|
13511 |
<DT><CODE>int32 compressed;</CODE>
|
|
13512 |
<DD>Set to 1 if the data in the file is compressed, 0 otherwise.
|
|
13513 |
<P>
|
|
13514 |
|
|
13515 |
</P>
|
|
13516 |
<DT><CODE>int32 weight_index;</CODE>
|
|
13517 |
<DD>If one of the variables in the data set is used as a weighting variable,
|
|
13518 |
set to the index of that variable. Otherwise, set to 0.
|
|
13519 |
<P>
|
|
13520 |
|
|
13521 |
</P>
|
|
13522 |
<DT><CODE>int32 ncases;</CODE>
|
|
13523 |
<DD>Set to the number of cases in the file if it is known, or -1 otherwise.
|
|
13524 |
<P>
|
|
13525 |
|
|
13526 |
In the general case it is not possible to determine the number of cases
|
|
13527 |
that will be output to a system file at the time that the header is
|
|
13528 |
written. The way that this is dealt with is by writing the entire
|
|
13529 |
system file, including the header, then seeking back to the beginning of
|
|
13530 |
the file and writing just the <CODE>ncases</CODE> field. For `files' in which
|
|
13531 |
this is not valid, the seek operation fails. In this case,
|
|
13532 |
<CODE>ncases</CODE> remains -1.
|
|
13533 |
</P>
|
|
13534 |
<P>
|
|
13535 |
|
|
13536 |
</P>
|
|
13537 |
<DT><CODE>flt64 bias;</CODE>
|
|
13538 |
<DD>Compression bias. Always set to 100. The significance of this value is
|
|
13539 |
that only numbers between <CODE>(1 - bias)</CODE> and <CODE>(251 - bias)</CODE> can
|
|
13540 |
be compressed.
|
|
13541 |
<P>
|
|
13542 |
|
|
13543 |
</P>
|
|
13544 |
<DT><CODE>char creation_date[9];</CODE>
|
|
13545 |
<DD>Set to the date of creation of the system file, in `<SAMP>dd mmm yy</SAMP>'
|
|
13546 |
format, with the month as standard English abbreviations, using an
|
|
13547 |
initial capital letter and following with lowercase. If the date is not
|
|
13548 |
available then this field is arbitrarily set to `<SAMP>01 Jan 70</SAMP>'.
|
|
13549 |
<P>
|
|
13550 |
|
|
13551 |
</P>
|
|
13552 |
<DT><CODE>char creation_time[8];</CODE>
|
|
13553 |
<DD>Set to the time of creation of the system file, in `<SAMP>hh:mm:ss</SAMP>'
|
|
13554 |
format and using 24-hour time. If the time is not available then this
|
|
13555 |
field is arbitrarily set to `<SAMP>00:00:00</SAMP>'.
|
|
13556 |
<P>
|
|
13557 |
|
|
13558 |
</P>
|
|
13559 |
<DT><CODE>char file_label[64];</CODE>
|
|
13560 |
<DD>Set the the file label declared by the user, if any. Padded on the
|
|
13561 |
right with spaces.
|
|
13562 |
<P>
|
|
13563 |
|
|
13564 |
</P>
|
|
13565 |
<DT><CODE>char padding[3];</CODE>
|
|
13566 |
<DD>Ignored padding bytes to make the structure a multiple of 32 bits in
|
|
13567 |
length. Set to zeros.
|
|
13568 |
</DL>
|
|
13569 |
<P>
|
|
13570 |
|
|
13571 |
<A NAME="Variable Record"></A>
|
|
13572 |
<HR SIZE="6">
|
|
13573 |
<A NAME="SEC172"></A>
|
|
13574 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13575 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC171"> < </A>]</TD>
|
|
13576 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC173"> > </A>]</TD>
|
|
13577 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13578 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13579 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13580 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13581 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13582 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13583 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13584 |
</TR></TABLE>
|
|
13585 |
<H2> 18.2 Variable Record </H2>
|
|
13586 |
<!--docid::SEC172::-->
|
|
13587 |
<P>
|
|
13588 |
|
|
13589 |
Immediately following the header must come the variable records. There
|
|
13590 |
must be one variable record for every variable and every 8 characters in
|
|
13591 |
a long string beyond the first 8; i.e., there must be exactly as many
|
|
13592 |
variable records as the value specified for <CODE>case_size</CODE> in the file
|
|
13593 |
header record.
|
|
13594 |
</P>
|
|
13595 |
<P>
|
|
13596 |
|
|
13597 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_variable
|
|
13598 |
{
|
|
13599 |
int32 rec_type;
|
|
13600 |
int32 type;
|
|
13601 |
int32 has_var_label;
|
|
13602 |
int32 n_missing_values;
|
|
13603 |
int32 print;
|
|
13604 |
int32 write;
|
|
13605 |
char name[8];
|
|
13606 |
|
|
13607 |
/* The following two fields are present
|
|
13608 |
only if has_var_label is 1. */
|
|
13609 |
int32 label_len;
|
|
13610 |
char label[/* variable length */];
|
|
13611 |
|
|
13612 |
/* The following field is present only
|
|
13613 |
if n_missing_values is not 0. */
|
|
13614 |
flt64 missing_values[/* variable length*/];
|
|
13615 |
};
|
|
13616 |
</pre></td></tr></table><P>
|
|
13617 |
|
|
13618 |
</P>
|
|
13619 |
<DL COMPACT>
|
|
13620 |
<DT><CODE>int32 rec_type;</CODE>
|
|
13621 |
<DD>Record type code. Always set to 2.
|
|
13622 |
<P>
|
|
13623 |
|
|
13624 |
</P>
|
|
13625 |
<DT><CODE>int32 type;</CODE>
|
|
13626 |
<DD>Variable type code. Set to 0 for a numeric variable. For a short
|
|
13627 |
string variable or the first part of a long string variable, this is set
|
|
13628 |
to the width of the string. For the second and subsequent parts of a
|
|
13629 |
long string variable, set to -1, and the remaining fields in the
|
|
13630 |
structure are ignored.
|
|
13631 |
<P>
|
|
13632 |
|
|
13633 |
</P>
|
|
13634 |
<DT><CODE>int32 has_var_label;</CODE>
|
|
13635 |
<DD>If this variable has a variable label, set to 1; otherwise, set to 0.
|
|
13636 |
<P>
|
|
13637 |
|
|
13638 |
</P>
|
|
13639 |
<DT><CODE>int32 n_missing_values;</CODE>
|
|
13640 |
<DD>If the variable has no missing values, set to 0. If the variable has
|
|
13641 |
one, two, or three discrete missing values, set to 1, 2, or 3,
|
|
13642 |
respectively. If the variable has a range for missing variables, set to
|
|
13643 |
-2; if the variable has a range for missing variables plus a single
|
|
13644 |
discrete value, set to -3.
|
|
13645 |
<P>
|
|
13646 |
|
|
13647 |
</P>
|
|
13648 |
<DT><CODE>int32 print;</CODE>
|
|
13649 |
<DD>Print format for this variable. See below.
|
|
13650 |
<P>
|
|
13651 |
|
|
13652 |
</P>
|
|
13653 |
<DT><CODE>int32 write;</CODE>
|
|
13654 |
<DD>Write format for this variable. See below.
|
|
13655 |
<P>
|
|
13656 |
|
|
13657 |
</P>
|
|
13658 |
<DT><CODE>char name[8];</CODE>
|
|
13659 |
<DD>Variable name. The variable name must begin with a capital letter or
|
|
13660 |
the at-sign (`<SAMP>@</SAMP>'). Subsequent characters may also be octothorpes
|
|
13661 |
(`<SAMP>#</SAMP>'), dollar signs (`<SAMP>$</SAMP>'), underscores (`<SAMP>_</SAMP>'), or full
|
|
13662 |
stops (`<SAMP>.</SAMP>'). The variable name is padded on the right with spaces.
|
|
13663 |
<P>
|
|
13664 |
|
|
13665 |
</P>
|
|
13666 |
<DT><CODE>int32 label_len;</CODE>
|
|
13667 |
<DD>This field is present only if <CODE>has_var_label</CODE> is set to 1. It is
|
|
13668 |
set to the length, in characters, of the variable label, which must be a
|
|
13669 |
number between 0 and 120.
|
|
13670 |
<P>
|
|
13671 |
|
|
13672 |
</P>
|
|
13673 |
<DT><CODE>char label[/* variable length */];</CODE>
|
|
13674 |
<DD>This field is present only if <CODE>has_var_label</CODE> is set to 1. It has
|
|
13675 |
length <CODE>label_len</CODE>, rounded up to the nearest multiple of 32 bits.
|
|
13676 |
The first <CODE>label_len</CODE> characters are the variable's variable label.
|
|
13677 |
<P>
|
|
13678 |
|
|
13679 |
</P>
|
|
13680 |
<DT><CODE>flt64 missing_values[/* variable length */];</CODE>
|
|
13681 |
<DD>This field is present only if <CODE>n_missing_values</CODE> is not 0. It has
|
|
13682 |
the same number of elements as the absolute value of
|
|
13683 |
<CODE>n_missing_values</CODE>. For discrete missing values, each element
|
|
13684 |
represents one missing value. When a range is present, the first
|
|
13685 |
element denotes the minimum value in the range, and the second element
|
|
13686 |
denotes the maximum value in the range. When a range plus a value are
|
|
13687 |
present, the third element denotes the additional discrete missing
|
|
13688 |
value. HIGHEST and LOWEST are indicated as described in the chapter
|
|
13689 |
introduction.
|
|
13690 |
</DL>
|
|
13691 |
<P>
|
|
13692 |
|
|
13693 |
The <CODE>print</CODE> and <CODE>write</CODE> members of sysfile_variable are output
|
|
13694 |
formats coded into <CODE>int32</CODE> types. The LSB (least-significant byte)
|
|
13695 |
of the <CODE>int32</CODE> represents the number of decimal places, and the
|
|
13696 |
next two bytes in order of increasing significance represent field width
|
|
13697 |
and format type, respectively. The MSB (most-significant byte) is not
|
|
13698 |
used and should be set to zero.
|
|
13699 |
</P>
|
|
13700 |
<P>
|
|
13701 |
|
|
13702 |
Format types are defined as follows:
|
|
13703 |
</P>
|
|
13704 |
<DL COMPACT>
|
|
13705 |
<DT>0
|
|
13706 |
<DD>Not used.
|
|
13707 |
<DT>1
|
|
13708 |
<DD><CODE>A</CODE>
|
|
13709 |
<DT>2
|
|
13710 |
<DD><CODE>AHEX</CODE>
|
|
13711 |
<DT>3
|
|
13712 |
<DD><CODE>COMMA</CODE>
|
|
13713 |
<DT>4
|
|
13714 |
<DD><CODE>DOLLAR</CODE>
|
|
13715 |
<DT>5
|
|
13716 |
<DD><CODE>F</CODE>
|
|
13717 |
<DT>6
|
|
13718 |
<DD><CODE>IB</CODE>
|
|
13719 |
<DT>7
|
|
13720 |
<DD><CODE>PIBHEX</CODE>
|
|
13721 |
<DT>8
|
|
13722 |
<DD><CODE>P</CODE>
|
|
13723 |
<DT>9
|
|
13724 |
<DD><CODE>PIB</CODE>
|
|
13725 |
<DT>10
|
|
13726 |
<DD><CODE>PK</CODE>
|
|
13727 |
<DT>11
|
|
13728 |
<DD><CODE>RB</CODE>
|
|
13729 |
<DT>12
|
|
13730 |
<DD><CODE>RBHEX</CODE>
|
|
13731 |
<DT>13
|
|
13732 |
<DD>Not used.
|
|
13733 |
<DT>14
|
|
13734 |
<DD>Not used.
|
|
13735 |
<DT>15
|
|
13736 |
<DD><CODE>Z</CODE>
|
|
13737 |
<DT>16
|
|
13738 |
<DD><CODE>N</CODE>
|
|
13739 |
<DT>17
|
|
13740 |
<DD><CODE>E</CODE>
|
|
13741 |
<DT>18
|
|
13742 |
<DD>Not used.
|
|
13743 |
<DT>19
|
|
13744 |
<DD>Not used.
|
|
13745 |
<DT>20
|
|
13746 |
<DD><CODE>DATE</CODE>
|
|
13747 |
<DT>21
|
|
13748 |
<DD><CODE>TIME</CODE>
|
|
13749 |
<DT>22
|
|
13750 |
<DD><CODE>DATETIME</CODE>
|
|
13751 |
<DT>23
|
|
13752 |
<DD><CODE>ADATE</CODE>
|
|
13753 |
<DT>24
|
|
13754 |
<DD><CODE>JDATE</CODE>
|
|
13755 |
<DT>25
|
|
13756 |
<DD><CODE>DTIME</CODE>
|
|
13757 |
<DT>26
|
|
13758 |
<DD><CODE>WKDAY</CODE>
|
|
13759 |
<DT>27
|
|
13760 |
<DD><CODE>MONTH</CODE>
|
|
13761 |
<DT>28
|
|
13762 |
<DD><CODE>MOYR</CODE>
|
|
13763 |
<DT>29
|
|
13764 |
<DD><CODE>QYR</CODE>
|
|
13765 |
<DT>30
|
|
13766 |
<DD><CODE>WKYR</CODE>
|
|
13767 |
<DT>31
|
|
13768 |
<DD><CODE>PCT</CODE>
|
|
13769 |
<DT>32
|
|
13770 |
<DD><CODE>DOT</CODE>
|
|
13771 |
<DT>33
|
|
13772 |
<DD><CODE>CCA</CODE>
|
|
13773 |
<DT>34
|
|
13774 |
<DD><CODE>CCB</CODE>
|
|
13775 |
<DT>35
|
|
13776 |
<DD><CODE>CCC</CODE>
|
|
13777 |
<DT>36
|
|
13778 |
<DD><CODE>CCD</CODE>
|
|
13779 |
<DT>37
|
|
13780 |
<DD><CODE>CCE</CODE>
|
|
13781 |
<DT>38
|
|
13782 |
<DD><CODE>EDATE</CODE>
|
|
13783 |
<DT>39
|
|
13784 |
<DD><CODE>SDATE</CODE>
|
|
13785 |
</DL>
|
|
13786 |
<P>
|
|
13787 |
|
|
13788 |
<A NAME="Value Label Record"></A>
|
|
13789 |
<HR SIZE="6">
|
|
13790 |
<A NAME="SEC173"></A>
|
|
13791 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13792 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC172"> < </A>]</TD>
|
|
13793 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC174"> > </A>]</TD>
|
|
13794 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13795 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13796 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13797 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13798 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13799 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13800 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13801 |
</TR></TABLE>
|
|
13802 |
<H2> 18.3 Value Label Record </H2>
|
|
13803 |
<!--docid::SEC173::-->
|
|
13804 |
<P>
|
|
13805 |
|
|
13806 |
Value label records must follow the variable records and must precede
|
|
13807 |
the header termination record. Other than this, they may appear
|
|
13808 |
anywhere in the system file. Every value label record must be
|
|
13809 |
immediately followed by a label variable record, described below.
|
|
13810 |
</P>
|
|
13811 |
<P>
|
|
13812 |
|
|
13813 |
Value label records begin with <CODE>rec_type</CODE>, an <CODE>int32</CODE> value
|
|
13814 |
set to the record type of 3. This is followed by <CODE>count</CODE>, an
|
|
13815 |
<CODE>int32</CODE> value set to the number of value labels present in this
|
|
13816 |
record.
|
|
13817 |
</P>
|
|
13818 |
<P>
|
|
13819 |
|
|
13820 |
These two fields are followed by a series of <CODE>count</CODE> tuples. Each
|
|
13821 |
tuple is divided into two fields, the value and the label. The first of
|
|
13822 |
these, the value, is composed of a 64-bit value, which is either a
|
|
13823 |
<CODE>flt64</CODE> value or up to 8 characters (padded on the right to 8
|
|
13824 |
bytes) denoting a short string value. Whether the value is a
|
|
13825 |
<CODE>flt64</CODE> or a character string is not defined inside the value label
|
|
13826 |
record.
|
|
13827 |
</P>
|
|
13828 |
<P>
|
|
13829 |
|
|
13830 |
The second field in the tuple, the label, has variable length. The
|
|
13831 |
first <CODE>char</CODE> is a count of the number of characters in the value
|
|
13832 |
label. The remainder of the field is the label itself. The field is
|
|
13833 |
padded on the right to a multiple of 64 bits in length.
|
|
13834 |
</P>
|
|
13835 |
<P>
|
|
13836 |
|
|
13837 |
<A NAME="Value Label Variable Record"></A>
|
|
13838 |
<HR SIZE="6">
|
|
13839 |
<A NAME="SEC174"></A>
|
|
13840 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13841 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC173"> < </A>]</TD>
|
|
13842 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC175"> > </A>]</TD>
|
|
13843 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13844 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13845 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13846 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13847 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13848 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13849 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13850 |
</TR></TABLE>
|
|
13851 |
<H2> 18.4 Value Label Variable Record </H2>
|
|
13852 |
<!--docid::SEC174::-->
|
|
13853 |
<P>
|
|
13854 |
|
|
13855 |
Every value label variable record must be immediately preceded by a
|
|
13856 |
value label record, described above.
|
|
13857 |
</P>
|
|
13858 |
<P>
|
|
13859 |
|
|
13860 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_value_label_variable
|
|
13861 |
{
|
|
13862 |
int32 rec_type;
|
|
13863 |
int32 count;
|
|
13864 |
int32 vars[/* variable length */];
|
|
13865 |
};
|
|
13866 |
</pre></td></tr></table><P>
|
|
13867 |
|
|
13868 |
</P>
|
|
13869 |
<DL COMPACT>
|
|
13870 |
<DT><CODE>int32 rec_type;</CODE>
|
|
13871 |
<DD>Record type. Always set to 4.
|
|
13872 |
<P>
|
|
13873 |
|
|
13874 |
</P>
|
|
13875 |
<DT><CODE>int32 count;</CODE>
|
|
13876 |
<DD>Number of variables that the associated value labels from the value
|
|
13877 |
label record are to be applied.
|
|
13878 |
<P>
|
|
13879 |
|
|
13880 |
</P>
|
|
13881 |
<DT><CODE>int32 vars[/* variable length];</CODE>
|
|
13882 |
<DD>A list of variables to which to apply the value labels. There are
|
|
13883 |
<CODE>count</CODE> elements.
|
|
13884 |
</DL>
|
|
13885 |
<P>
|
|
13886 |
|
|
13887 |
<A NAME="Document Record"></A>
|
|
13888 |
<HR SIZE="6">
|
|
13889 |
<A NAME="SEC175"></A>
|
|
13890 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13891 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC174"> < </A>]</TD>
|
|
13892 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC176"> > </A>]</TD>
|
|
13893 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13894 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13895 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13896 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13897 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13898 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13899 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13900 |
</TR></TABLE>
|
|
13901 |
<H2> 18.5 Document Record </H2>
|
|
13902 |
<!--docid::SEC175::-->
|
|
13903 |
<P>
|
|
13904 |
|
|
13905 |
There must be no more than one document record per system file.
|
|
13906 |
Document records must follow the variable records and precede the
|
|
13907 |
dictionary termination record.
|
|
13908 |
</P>
|
|
13909 |
<P>
|
|
13910 |
|
|
13911 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_document
|
|
13912 |
{
|
|
13913 |
int32 rec_type;
|
|
13914 |
int32 n_lines;
|
|
13915 |
char lines[/* variable length */][80];
|
|
13916 |
};
|
|
13917 |
</pre></td></tr></table><P>
|
|
13918 |
|
|
13919 |
</P>
|
|
13920 |
<DL COMPACT>
|
|
13921 |
<DT><CODE>int32 rec_type;</CODE>
|
|
13922 |
<DD>Record type. Always set to 6.
|
|
13923 |
<P>
|
|
13924 |
|
|
13925 |
</P>
|
|
13926 |
<DT><CODE>int32 n_lines;</CODE>
|
|
13927 |
<DD>Number of lines of documents present.
|
|
13928 |
<P>
|
|
13929 |
|
|
13930 |
</P>
|
|
13931 |
<DT><CODE>char lines[/* variable length */][80];</CODE>
|
|
13932 |
<DD>Document lines. The number of elements is defined by <CODE>n_lines</CODE>.
|
|
13933 |
Lines shorter than 80 characters are padded on the right with spaces.
|
|
13934 |
</DL>
|
|
13935 |
<P>
|
|
13936 |
|
|
13937 |
<A NAME="Machine int32 Info Record"></A>
|
|
13938 |
<HR SIZE="6">
|
|
13939 |
<A NAME="SEC176"></A>
|
|
13940 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
13941 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC175"> < </A>]</TD>
|
|
13942 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC177"> > </A>]</TD>
|
|
13943 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
13944 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
13945 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
13946 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
13947 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
13948 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
13949 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
13950 |
</TR></TABLE>
|
|
13951 |
<H2> 18.6 Machine <CODE>int32</CODE> Info Record </H2>
|
|
13952 |
<!--docid::SEC176::-->
|
|
13953 |
<P>
|
|
13954 |
|
|
13955 |
There must be no more than one machine <CODE>int32</CODE> info record per
|
|
13956 |
system file. Machine <CODE>int32</CODE> info records must follow the variable
|
|
13957 |
records and precede the dictionary termination record.
|
|
13958 |
</P>
|
|
13959 |
<P>
|
|
13960 |
|
|
13961 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_machine_int32_info
|
|
13962 |
{
|
|
13963 |
/* Header. */
|
|
13964 |
int32 rec_type;
|
|
13965 |
int32 subtype;
|
|
13966 |
int32 size;
|
|
13967 |
int32 count;
|
|
13968 |
|
|
13969 |
/* Data. */
|
|
13970 |
int32 version_major;
|
|
13971 |
int32 version_minor;
|
|
13972 |
int32 version_revision;
|
|
13973 |
int32 machine_code;
|
|
13974 |
int32 floating_point_rep;
|
|
13975 |
int32 compression_code;
|
|
13976 |
int32 endianness;
|
|
13977 |
int32 character_code;
|
|
13978 |
};
|
|
13979 |
</pre></td></tr></table><P>
|
|
13980 |
|
|
13981 |
</P>
|
|
13982 |
<DL COMPACT>
|
|
13983 |
<DT><CODE>int32 rec_type;</CODE>
|
|
13984 |
<DD>Record type. Always set to 7.
|
|
13985 |
<P>
|
|
13986 |
|
|
13987 |
</P>
|
|
13988 |
<DT><CODE>int32 subtype;</CODE>
|
|
13989 |
<DD>Record subtype. Always set to 3.
|
|
13990 |
<P>
|
|
13991 |
|
|
13992 |
</P>
|
|
13993 |
<DT><CODE>int32 size;</CODE>
|
|
13994 |
<DD>Size of each piece of data in the data part, in bytes. Always set to 4.
|
|
13995 |
<P>
|
|
13996 |
|
|
13997 |
</P>
|
|
13998 |
<DT><CODE>int32 count;</CODE>
|
|
13999 |
<DD>Number of pieces of data in the data part. Always set to 8.
|
|
14000 |
<P>
|
|
14001 |
|
|
14002 |
</P>
|
|
14003 |
<DT><CODE>int32 version_major;</CODE>
|
|
14004 |
<DD>PSPP major version number. In version <VAR>x</VAR>.<VAR>y</VAR>.<VAR>z</VAR>, this
|
|
14005 |
is <VAR>x</VAR>.
|
|
14006 |
<P>
|
|
14007 |
|
|
14008 |
</P>
|
|
14009 |
<DT><CODE>int32 version_minor;</CODE>
|
|
14010 |
<DD>PSPP minor version number. In version <VAR>x</VAR>.<VAR>y</VAR>.<VAR>z</VAR>, this
|
|
14011 |
is <VAR>y</VAR>.
|
|
14012 |
<P>
|
|
14013 |
|
|
14014 |
</P>
|
|
14015 |
<DT><CODE>int32 version_revision;</CODE>
|
|
14016 |
<DD>PSPP version revision number. In version <VAR>x</VAR>.<VAR>y</VAR>.<VAR>z</VAR>,
|
|
14017 |
this is <VAR>z</VAR>.
|
|
14018 |
<P>
|
|
14019 |
|
|
14020 |
</P>
|
|
14021 |
<DT><CODE>int32 machine_code;</CODE>
|
|
14022 |
<DD>Machine code. PSPP always set this field to value to -1, but other
|
|
14023 |
values may appear.
|
|
14024 |
<P>
|
|
14025 |
|
|
14026 |
</P>
|
|
14027 |
<DT><CODE>int32 floating_point_rep;</CODE>
|
|
14028 |
<DD>Floating point representation code. For IEEE 754 systems this is 1.
|
|
14029 |
IBM 370 sets this to 2, and DEC VAX E to 3.
|
|
14030 |
<P>
|
|
14031 |
|
|
14032 |
</P>
|
|
14033 |
<DT><CODE>int32 compression_code;</CODE>
|
|
14034 |
<DD>Compression code. Always set to 1.
|
|
14035 |
<P>
|
|
14036 |
|
|
14037 |
</P>
|
|
14038 |
<DT><CODE>int32 endianness;</CODE>
|
|
14039 |
<DD>Machine endianness. 1 indicates big-endian, 2 indicates little-endian.
|
|
14040 |
<P>
|
|
14041 |
|
|
14042 |
</P>
|
|
14043 |
<DT><CODE>int32 character_code;</CODE>
|
|
14044 |
<DD>Character code. 1 indicates EBCDIC, 2 indicates 7-bit ASCII, 3
|
|
14045 |
indicates 8-bit ASCII, 4 indicates DEC Kanji.
|
|
14046 |
</DL>
|
|
14047 |
<P>
|
|
14048 |
|
|
14049 |
<A NAME="Machine flt64 Info Record"></A>
|
|
14050 |
<HR SIZE="6">
|
|
14051 |
<A NAME="SEC177"></A>
|
|
14052 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14053 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC176"> < </A>]</TD>
|
|
14054 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC178"> > </A>]</TD>
|
|
14055 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
14056 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
14057 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
14058 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14059 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14060 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14061 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14062 |
</TR></TABLE>
|
|
14063 |
<H2> 18.7 Machine <CODE>flt64</CODE> Info Record </H2>
|
|
14064 |
<!--docid::SEC177::-->
|
|
14065 |
<P>
|
|
14066 |
|
|
14067 |
There must be no more than one machine <CODE>flt64</CODE> info record per
|
|
14068 |
system file. Machine <CODE>flt64</CODE> info records must follow the variable
|
|
14069 |
records and precede the dictionary termination record.
|
|
14070 |
</P>
|
|
14071 |
<P>
|
|
14072 |
|
|
14073 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_machine_flt64_info
|
|
14074 |
{
|
|
14075 |
/* Header. */
|
|
14076 |
int32 rec_type;
|
|
14077 |
int32 subtype;
|
|
14078 |
int32 size;
|
|
14079 |
int32 count;
|
|
14080 |
|
|
14081 |
/* Data. */
|
|
14082 |
flt64 sysmis;
|
|
14083 |
flt64 highest;
|
|
14084 |
flt64 lowest;
|
|
14085 |
};
|
|
14086 |
</pre></td></tr></table><P>
|
|
14087 |
|
|
14088 |
</P>
|
|
14089 |
<DL COMPACT>
|
|
14090 |
<DT><CODE>int32 rec_type;</CODE>
|
|
14091 |
<DD>Record type. Always set to 3.
|
|
14092 |
<P>
|
|
14093 |
|
|
14094 |
</P>
|
|
14095 |
<DT><CODE>int32 subtype;</CODE>
|
|
14096 |
<DD>Record subtype. Always set to 4.
|
|
14097 |
<P>
|
|
14098 |
|
|
14099 |
</P>
|
|
14100 |
<DT><CODE>int32 size;</CODE>
|
|
14101 |
<DD>Size of each piece of data in the data part, in bytes. Always set to 4.
|
|
14102 |
<P>
|
|
14103 |
|
|
14104 |
</P>
|
|
14105 |
<DT><CODE>int32 count;</CODE>
|
|
14106 |
<DD>Number of pieces of data in the data part. Always set to 3.
|
|
14107 |
<P>
|
|
14108 |
|
|
14109 |
</P>
|
|
14110 |
<DT><CODE>flt64 sysmis;</CODE>
|
|
14111 |
<DD>The system missing value.
|
|
14112 |
<P>
|
|
14113 |
|
|
14114 |
</P>
|
|
14115 |
<DT><CODE>flt64 highest;</CODE>
|
|
14116 |
<DD>The value used for HIGHEST in missing values.
|
|
14117 |
<P>
|
|
14118 |
|
|
14119 |
</P>
|
|
14120 |
<DT><CODE>flt64 lowest;</CODE>
|
|
14121 |
<DD>The value used for LOWEST in missing values.
|
|
14122 |
</DL>
|
|
14123 |
<P>
|
|
14124 |
|
|
14125 |
<A NAME="Miscellaneous Informational Records"></A>
|
|
14126 |
<HR SIZE="6">
|
|
14127 |
<A NAME="SEC178"></A>
|
|
14128 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14129 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC177"> < </A>]</TD>
|
|
14130 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC179"> > </A>]</TD>
|
|
14131 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
14132 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
14133 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
14134 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14135 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14136 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14137 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14138 |
</TR></TABLE>
|
|
14139 |
<H2> 18.8 Miscellaneous Informational Records </H2>
|
|
14140 |
<!--docid::SEC178::-->
|
|
14141 |
<P>
|
|
14142 |
|
|
14143 |
Miscellaneous informational records must follow the variable records and
|
|
14144 |
precede the dictionary termination record.
|
|
14145 |
</P>
|
|
14146 |
<P>
|
|
14147 |
|
|
14148 |
Miscellaneous informational records are ignored by PSPP when reading
|
|
14149 |
system files. They are not written by PSPP when writing system files.
|
|
14150 |
</P>
|
|
14151 |
<P>
|
|
14152 |
|
|
14153 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_misc_info
|
|
14154 |
{
|
|
14155 |
/* Header. */
|
|
14156 |
int32 rec_type;
|
|
14157 |
int32 subtype;
|
|
14158 |
int32 size;
|
|
14159 |
int32 count;
|
|
14160 |
|
|
14161 |
/* Data. */
|
|
14162 |
char data[/* variable length */];
|
|
14163 |
};
|
|
14164 |
</pre></td></tr></table><P>
|
|
14165 |
|
|
14166 |
</P>
|
|
14167 |
<DL COMPACT>
|
|
14168 |
<DT><CODE>int32 rec_type;</CODE>
|
|
14169 |
<DD>Record type. Always set to 3.
|
|
14170 |
<P>
|
|
14171 |
|
|
14172 |
</P>
|
|
14173 |
<DT><CODE>int32 subtype;</CODE>
|
|
14174 |
<DD>Record subtype. May take any value.
|
|
14175 |
<P>
|
|
14176 |
|
|
14177 |
</P>
|
|
14178 |
<DT><CODE>int32 size;</CODE>
|
|
14179 |
<DD>Size of each piece of data in the data part. Should have the value 4 or
|
|
14180 |
8, for <CODE>int32</CODE> and <CODE>flt64</CODE>, respectively.
|
|
14181 |
<P>
|
|
14182 |
|
|
14183 |
</P>
|
|
14184 |
<DT><CODE>int32 count;</CODE>
|
|
14185 |
<DD>Number of pieces of data in the data part.
|
|
14186 |
<P>
|
|
14187 |
|
|
14188 |
</P>
|
|
14189 |
<DT><CODE>char data[/* variable length */];</CODE>
|
|
14190 |
<DD>Arbitrary data. There must be <CODE>size</CODE> times <CODE>count</CODE> bytes of
|
|
14191 |
data.
|
|
14192 |
</DL>
|
|
14193 |
<P>
|
|
14194 |
|
|
14195 |
<A NAME="Dictionary Termination Record"></A>
|
|
14196 |
<HR SIZE="6">
|
|
14197 |
<A NAME="SEC179"></A>
|
|
14198 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14199 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC178"> < </A>]</TD>
|
|
14200 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC180"> > </A>]</TD>
|
|
14201 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
14202 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
14203 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
14204 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14205 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14206 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14207 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14208 |
</TR></TABLE>
|
|
14209 |
<H2> 18.9 Dictionary Termination Record </H2>
|
|
14210 |
<!--docid::SEC179::-->
|
|
14211 |
<P>
|
|
14212 |
|
|
14213 |
The dictionary termination record must follow all other records, except
|
|
14214 |
for the actual cases, which it must precede. There must be exactly one
|
|
14215 |
dictionary termination record in every system file.
|
|
14216 |
</P>
|
|
14217 |
<P>
|
|
14218 |
|
|
14219 |
<TABLE><tr><td> </td><td class=example><pre>struct sysfile_dict_term
|
|
14220 |
{
|
|
14221 |
int32 rec_type;
|
|
14222 |
int32 filler;
|
|
14223 |
};
|
|
14224 |
</pre></td></tr></table><P>
|
|
14225 |
|
|
14226 |
</P>
|
|
14227 |
<DL COMPACT>
|
|
14228 |
<DT><CODE>int32 rec_type;</CODE>
|
|
14229 |
<DD>Record type. Always set to 999.
|
|
14230 |
<P>
|
|
14231 |
|
|
14232 |
</P>
|
|
14233 |
<DT><CODE>int32 filler;</CODE>
|
|
14234 |
<DD>Ignored padding. Should be set to 0.
|
|
14235 |
</DL>
|
|
14236 |
<P>
|
|
14237 |
|
|
14238 |
<A NAME="Data Record"></A>
|
|
14239 |
<HR SIZE="6">
|
|
14240 |
<A NAME="SEC180"></A>
|
|
14241 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14242 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC179"> < </A>]</TD>
|
|
14243 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> > </A>]</TD>
|
|
14244 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
14245 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> Up </A>]</TD>
|
|
14246 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> >> </A>]</TD>
|
|
14247 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14248 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14249 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14250 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14251 |
</TR></TABLE>
|
|
14252 |
<H2> 18.10 Data Record </H2>
|
|
14253 |
<!--docid::SEC180::-->
|
|
14254 |
<P>
|
|
14255 |
|
|
14256 |
Data records must follow all other records in the data file. There must
|
|
14257 |
be at least one data record in every system file.
|
|
14258 |
</P>
|
|
14259 |
<P>
|
|
14260 |
|
|
14261 |
The format of data records varies depending on whether the data is
|
|
14262 |
compressed. Regardless, the data is arranged in a series of 8-byte
|
|
14263 |
elements.
|
|
14264 |
</P>
|
|
14265 |
<P>
|
|
14266 |
|
|
14267 |
When data is not compressed, Every case is composed of <CODE>case_size</CODE>
|
|
14268 |
of these 8-byte elements, where <CODE>case_size</CODE> comes from the file
|
|
14269 |
header record (see section <A HREF="pspp.html#SEC171">18.1 File Header Record</A>). Each element corresponds to
|
|
14270 |
the variable declared in the respective variable record (see section <A HREF="pspp.html#SEC172">18.2 Variable Record</A>). Numeric values are given in <CODE>flt64</CODE> format; string
|
|
14271 |
values are literal characters string, padded on the right when
|
|
14272 |
necessary.
|
|
14273 |
</P>
|
|
14274 |
<P>
|
|
14275 |
|
|
14276 |
Compressed data is arranged in the following manner: the first 8-byte
|
|
14277 |
element in the data section is divided into a series of 1-byte command
|
|
14278 |
codes. These codes have meanings as described below:
|
|
14279 |
</P>
|
|
14280 |
<P>
|
|
14281 |
|
|
14282 |
</P>
|
|
14283 |
<DL COMPACT>
|
|
14284 |
<DT>0
|
|
14285 |
<DD>Ignored. If the program writing the system file accumulates compressed
|
|
14286 |
data in blocks of fixed length, 0 bytes can be used to pad out extra
|
|
14287 |
bytes remaining at the end of a fixed-size block.
|
|
14288 |
<P>
|
|
14289 |
|
|
14290 |
</P>
|
|
14291 |
<DT>1 through 251
|
|
14292 |
<DD>These values indicate that the corresponding numeric variable has the
|
|
14293 |
value <CODE>(<VAR>code</VAR> - <VAR>bias</VAR>)</CODE> for the case being read, where
|
|
14294 |
<VAR>code</VAR> is the value of the compression code and <VAR>bias</VAR> is the
|
|
14295 |
variable <CODE>compression_bias</CODE> from the file header. For example,
|
|
14296 |
code 105 with bias 100.0 (the normal value) indicates a numeric variable
|
|
14297 |
of value 5.
|
|
14298 |
<P>
|
|
14299 |
|
|
14300 |
</P>
|
|
14301 |
<DT>252
|
|
14302 |
<DD>End of file. This code may or may not appear at the end of the data
|
|
14303 |
stream. PSPP always outputs this code but its use is not required.
|
|
14304 |
<P>
|
|
14305 |
|
|
14306 |
</P>
|
|
14307 |
<DT>253
|
|
14308 |
<DD>This value indicates that the numeric or string value is not
|
|
14309 |
compressible. The value is stored in the 8-byte element following the
|
|
14310 |
current block of command bytes. If this value appears twice in a block
|
|
14311 |
of command bytes, then it indicates the second element following the
|
|
14312 |
command bytes, and so on.
|
|
14313 |
<P>
|
|
14314 |
|
|
14315 |
</P>
|
|
14316 |
<DT>254
|
|
14317 |
<DD>Used to indicate a string value that is all spaces.
|
|
14318 |
<P>
|
|
14319 |
|
|
14320 |
</P>
|
|
14321 |
<DT>255
|
|
14322 |
<DD>Used to indicate the system-missing value.
|
|
14323 |
</DL>
|
|
14324 |
<P>
|
|
14325 |
|
|
14326 |
When the end of the first 8-byte element of command bytes is reached,
|
|
14327 |
any blocks of non-compressible values are skipped, and the next element
|
|
14328 |
of command bytes is read and interpreted, until the end of the file is
|
|
14329 |
reached.
|
|
14330 |
</P>
|
|
14331 |
<P>
|
|
14332 |
|
|
14333 |
<A NAME="Portable File Format"></A>
|
|
14334 |
<HR SIZE="6">
|
|
14335 |
<A NAME="SEC181"></A>
|
|
14336 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14337 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC180"> < </A>]</TD>
|
|
14338 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC182"> > </A>]</TD>
|
|
14339 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC170"> << </A>]</TD>
|
|
14340 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
14341 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14342 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14343 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14344 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14345 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14346 |
</TR></TABLE>
|
|
14347 |
<H1> 19. Portable File Format </H1>
|
|
14348 |
<!--docid::SEC181::-->
|
|
14349 |
<P>
|
|
14350 |
|
|
14351 |
These days, most computers use the same internal data formats for
|
|
14352 |
integer and floating-point data, if one ignores little differences like
|
|
14353 |
big- versus little-endian byte ordering. However, occasionally it is
|
|
14354 |
necessary to exchange data between systems with incompatible data
|
|
14355 |
formats. This is what portable files are designed to do.
|
|
14356 |
</P>
|
|
14357 |
<P>
|
|
14358 |
|
|
14359 |
<STRONG>Please note:</STRONG> Although all of the following information is
|
|
14360 |
correct, as far as the author has been able to ascertain, it is gleaned
|
|
14361 |
from examination of ASCII-formatted portable files only, so some of it
|
|
14362 |
may be incorrect in the general case.
|
|
14363 |
</P>
|
|
14364 |
<P>
|
|
14365 |
|
|
14366 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
14367 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC182">19.1 Portable File Characters</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14368 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC183">19.2 Portable File Structure</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14369 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC184">19.3 Portable File Header</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14370 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC185">19.4 Version and Date Info Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14371 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC186">19.5 Identification Records</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14372 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC187">19.6 Variable Count Record</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14373 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC188">19.7 Variable Records</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14374 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC189">19.8 Value Label Records</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14375 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC190">19.9 Portable File Data</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
14376 |
</TABLE>
|
|
14377 |
<P>
|
|
14378 |
|
|
14379 |
<A NAME="Portable File Characters"></A>
|
|
14380 |
<HR SIZE="6">
|
|
14381 |
<A NAME="SEC182"></A>
|
|
14382 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14383 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> < </A>]</TD>
|
|
14384 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC183"> > </A>]</TD>
|
|
14385 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14386 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14387 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14388 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14389 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14390 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14391 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14392 |
</TR></TABLE>
|
|
14393 |
<H2> 19.1 Portable File Characters </H2>
|
|
14394 |
<!--docid::SEC182::-->
|
|
14395 |
<P>
|
|
14396 |
|
|
14397 |
Portable files are arranged as a series of lines of exactly 80
|
|
14398 |
characters each. Each line is terminated by a carriage-return,
|
|
14399 |
line-feed sequence (henceforth, "newline"). Newlines are not
|
|
14400 |
delimiters: they are only used to avoid line-length limitations existing
|
|
14401 |
on some operating systems.
|
|
14402 |
</P>
|
|
14403 |
<P>
|
|
14404 |
|
|
14405 |
The file must be terminated with a `<SAMP>Z</SAMP>' character. In addition, if
|
|
14406 |
the final line in the file does not have exactly 80 characters, then it
|
|
14407 |
is padded on the right with `<SAMP>Z</SAMP>' characters. (The file contents may
|
|
14408 |
be in any character set; the file contains a description of its own
|
|
14409 |
character set, as explained in the next section. Therefore, the
|
|
14410 |
`<SAMP>Z</SAMP>' character is not necessarily an ASCII `<SAMP>Z</SAMP>'.)
|
|
14411 |
</P>
|
|
14412 |
<P>
|
|
14413 |
|
|
14414 |
For the rest of the description of the portable file format, newlines
|
|
14415 |
and the trailing `<SAMP>Z</SAMP>'s will be ignored, as if they did not exist,
|
|
14416 |
because they are not an important part of understanding the file
|
|
14417 |
contents.
|
|
14418 |
</P>
|
|
14419 |
<P>
|
|
14420 |
|
|
14421 |
<A NAME="Portable File Structure"></A>
|
|
14422 |
<HR SIZE="6">
|
|
14423 |
<A NAME="SEC183"></A>
|
|
14424 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14425 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC182"> < </A>]</TD>
|
|
14426 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC184"> > </A>]</TD>
|
|
14427 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14428 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14429 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14430 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14431 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14432 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14433 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14434 |
</TR></TABLE>
|
|
14435 |
<H2> 19.2 Portable File Structure </H2>
|
|
14436 |
<!--docid::SEC183::-->
|
|
14437 |
<P>
|
|
14438 |
|
|
14439 |
Every portable file consists of the following records, in sequence:
|
|
14440 |
</P>
|
|
14441 |
<P>
|
|
14442 |
|
|
14443 |
<UL>
|
|
14444 |
|
|
14445 |
<LI>
|
|
14446 |
File header.
|
|
14447 |
<P>
|
|
14448 |
|
|
14449 |
</P>
|
|
14450 |
<LI>
|
|
14451 |
Version and date info.
|
|
14452 |
<P>
|
|
14453 |
|
|
14454 |
</P>
|
|
14455 |
<LI>
|
|
14456 |
Product identification.
|
|
14457 |
<P>
|
|
14458 |
|
|
14459 |
</P>
|
|
14460 |
<LI>
|
|
14461 |
Subproduct identification (optional).
|
|
14462 |
<P>
|
|
14463 |
|
|
14464 |
</P>
|
|
14465 |
<LI>
|
|
14466 |
Variable count.
|
|
14467 |
<P>
|
|
14468 |
|
|
14469 |
</P>
|
|
14470 |
<LI>
|
|
14471 |
Variables. Each variable record may optionally be followed by a
|
|
14472 |
missing value record and a variable label record.
|
|
14473 |
<P>
|
|
14474 |
|
|
14475 |
</P>
|
|
14476 |
<LI>
|
|
14477 |
Value labels (optional).
|
|
14478 |
<P>
|
|
14479 |
|
|
14480 |
</P>
|
|
14481 |
<LI>
|
|
14482 |
Data.
|
|
14483 |
</UL>
|
|
14484 |
<P>
|
|
14485 |
|
|
14486 |
Most records are identified by a single-character tag code. The file
|
|
14487 |
header and version info record do not have a tag.
|
|
14488 |
</P>
|
|
14489 |
<P>
|
|
14490 |
|
|
14491 |
Other than these single-character codes, there are three types of fields
|
|
14492 |
in a portable file: floating-point, integer, and string. Floating-point
|
|
14493 |
fields have the following format:
|
|
14494 |
</P>
|
|
14495 |
<P>
|
|
14496 |
|
|
14497 |
<UL>
|
|
14498 |
|
|
14499 |
<LI>
|
|
14500 |
Zero or more leading spaces.
|
|
14501 |
<P>
|
|
14502 |
|
|
14503 |
</P>
|
|
14504 |
<LI>
|
|
14505 |
Optional asterisk (`<SAMP>*</SAMP>'), which indicates a missing value. The
|
|
14506 |
asterisk must be followed by a single character, generally a period
|
|
14507 |
(`<SAMP>.</SAMP>'), but it appears that other characters may also be possible.
|
|
14508 |
This completes the specification of a missing value.
|
|
14509 |
<P>
|
|
14510 |
|
|
14511 |
</P>
|
|
14512 |
<LI>
|
|
14513 |
Optional minus sign (`<SAMP>-</SAMP>') to indicate a negative number.
|
|
14514 |
<P>
|
|
14515 |
|
|
14516 |
</P>
|
|
14517 |
<LI>
|
|
14518 |
A whole number, consisting of one or more base-30 digits: `<SAMP>0</SAMP>'
|
|
14519 |
through `<SAMP>9</SAMP>' plus capital letters `<SAMP>A</SAMP>' through `<SAMP>T</SAMP>'.
|
|
14520 |
<P>
|
|
14521 |
|
|
14522 |
</P>
|
|
14523 |
<LI>
|
|
14524 |
A fraction, consisting of a radix point (`<SAMP>.</SAMP>') followed by one or
|
|
14525 |
more base-30 digits (optional).
|
|
14526 |
<P>
|
|
14527 |
|
|
14528 |
</P>
|
|
14529 |
<LI>
|
|
14530 |
An exponent, consisting of a plus or minus sign (`<SAMP>+</SAMP>' or `<SAMP>-</SAMP>')
|
|
14531 |
followed by one or more base-30 digits (optional).
|
|
14532 |
<P>
|
|
14533 |
|
|
14534 |
</P>
|
|
14535 |
<LI>
|
|
14536 |
A forward slash (`<SAMP>/</SAMP>').
|
|
14537 |
</UL>
|
|
14538 |
<P>
|
|
14539 |
|
|
14540 |
Integer fields take form identical to floating-point fields, but they
|
|
14541 |
may not contain a fraction.
|
|
14542 |
</P>
|
|
14543 |
<P>
|
|
14544 |
|
|
14545 |
String fields take the form of a integer field having value <VAR>n</VAR>,
|
|
14546 |
followed by exactly <VAR>n</VAR> characters, which are the string content.
|
|
14547 |
</P>
|
|
14548 |
<P>
|
|
14549 |
|
|
14550 |
<A NAME="Portable File Header"></A>
|
|
14551 |
<HR SIZE="6">
|
|
14552 |
<A NAME="SEC184"></A>
|
|
14553 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14554 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC183"> < </A>]</TD>
|
|
14555 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC185"> > </A>]</TD>
|
|
14556 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14557 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14558 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14559 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14560 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14561 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14562 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14563 |
</TR></TABLE>
|
|
14564 |
<H2> 19.3 Portable File Header </H2>
|
|
14565 |
<!--docid::SEC184::-->
|
|
14566 |
<P>
|
|
14567 |
|
|
14568 |
Every portable file begins with a 464-byte header, consisting of a
|
|
14569 |
200-byte collection of vanity splash strings, followed by a 256-byte
|
|
14570 |
character set translation table, followed by an 8-byte tag string.
|
|
14571 |
</P>
|
|
14572 |
<P>
|
|
14573 |
|
|
14574 |
The 200-byte segment is divided into five 40-byte sections, each of
|
|
14575 |
which represents the string <CODE>ASCII SPSS PORT FILE</CODE> in a different
|
|
14576 |
character set encoding. (If the file is encoded in EBCDIC then the
|
|
14577 |
string is actually <CODE>EBCDIC SPSS PORT FILE</CODE>, and so on.) These
|
|
14578 |
strings are padded on the right with spaces in their own character set.
|
|
14579 |
</P>
|
|
14580 |
<P>
|
|
14581 |
|
|
14582 |
It appears that these strings exist only to inform those who might view
|
|
14583 |
the file on a screen, and that they are not parsed by SPSS products.
|
|
14584 |
Thus, they can be safely ignored. For those interested, the strings are
|
|
14585 |
supposed to be in the following character sets, in the specified order:
|
|
14586 |
EBCDIC, 7-bit ASCII, CDC 6-bit ASCII, 6-bit ASCII, Honeywell 6-bit
|
|
14587 |
ASCII.
|
|
14588 |
</P>
|
|
14589 |
<P>
|
|
14590 |
|
|
14591 |
The 256-byte segment describes a mapping from the character set used in
|
|
14592 |
the portable file to an arbitrary character set having characters at the
|
|
14593 |
following positions:
|
|
14594 |
</P>
|
|
14595 |
<P>
|
|
14596 |
|
|
14597 |
</P>
|
|
14598 |
<DL COMPACT>
|
|
14599 |
<DT>0--60
|
|
14600 |
<DD><P>
|
|
14601 |
|
|
14602 |
Control characters. Not important enough to describe in full here.
|
|
14603 |
</P>
|
|
14604 |
<P>
|
|
14605 |
|
|
14606 |
</P>
|
|
14607 |
<DT>61--63
|
|
14608 |
<DD><P>
|
|
14609 |
|
|
14610 |
Reserved.
|
|
14611 |
</P>
|
|
14612 |
<P>
|
|
14613 |
|
|
14614 |
</P>
|
|
14615 |
<DT>64--73
|
|
14616 |
<DD><P>
|
|
14617 |
|
|
14618 |
Digits `<SAMP>0</SAMP>' through `<SAMP>9</SAMP>'.
|
|
14619 |
</P>
|
|
14620 |
<P>
|
|
14621 |
|
|
14622 |
</P>
|
|
14623 |
<DT>74--99
|
|
14624 |
<DD><P>
|
|
14625 |
|
|
14626 |
Capital letters `<SAMP>A</SAMP>' through `<SAMP>Z</SAMP>'.
|
|
14627 |
</P>
|
|
14628 |
<P>
|
|
14629 |
|
|
14630 |
</P>
|
|
14631 |
<DT>100--125
|
|
14632 |
<DD><P>
|
|
14633 |
|
|
14634 |
Lowercase letters `<SAMP>a</SAMP>' through `<SAMP>z</SAMP>'.
|
|
14635 |
</P>
|
|
14636 |
<P>
|
|
14637 |
|
|
14638 |
</P>
|
|
14639 |
<DT>126
|
|
14640 |
<DD><P>
|
|
14641 |
|
|
14642 |
Space.
|
|
14643 |
</P>
|
|
14644 |
<P>
|
|
14645 |
|
|
14646 |
</P>
|
|
14647 |
<DT>127--130
|
|
14648 |
<DD><P>
|
|
14649 |
|
|
14650 |
Symbols <CODE>.<(+</CODE>
|
|
14651 |
</P>
|
|
14652 |
<P>
|
|
14653 |
|
|
14654 |
</P>
|
|
14655 |
<DT>131
|
|
14656 |
<DD><P>
|
|
14657 |
|
|
14658 |
Solid vertical pipe.
|
|
14659 |
</P>
|
|
14660 |
<P>
|
|
14661 |
|
|
14662 |
</P>
|
|
14663 |
<DT>132--142
|
|
14664 |
<DD><P>
|
|
14665 |
|
|
14666 |
Symbols <CODE>&[]!$*);^-/</CODE>
|
|
14667 |
</P>
|
|
14668 |
<P>
|
|
14669 |
|
|
14670 |
</P>
|
|
14671 |
<DT>143
|
|
14672 |
<DD><P>
|
|
14673 |
|
|
14674 |
Broken vertical pipe.
|
|
14675 |
</P>
|
|
14676 |
<P>
|
|
14677 |
|
|
14678 |
</P>
|
|
14679 |
<DT>144--150
|
|
14680 |
<DD><P>
|
|
14681 |
|
|
14682 |
Symbols <CODE>,%_></CODE>?<CODE>`:</CODE>
|
|
14683 |
</P>
|
|
14684 |
<P>
|
|
14685 |
|
|
14686 |
</P>
|
|
14687 |
<DT>151
|
|
14688 |
<DD><P>
|
|
14689 |
|
|
14690 |
British pound symbol.
|
|
14691 |
</P>
|
|
14692 |
<P>
|
|
14693 |
|
|
14694 |
</P>
|
|
14695 |
<DT>152--155
|
|
14696 |
<DD><P>
|
|
14697 |
|
|
14698 |
Symbols <CODE>@'="</CODE>.
|
|
14699 |
</P>
|
|
14700 |
<P>
|
|
14701 |
|
|
14702 |
</P>
|
|
14703 |
<DT>156
|
|
14704 |
<DD><P>
|
|
14705 |
|
|
14706 |
Less than or equal symbol.
|
|
14707 |
</P>
|
|
14708 |
<P>
|
|
14709 |
|
|
14710 |
</P>
|
|
14711 |
<DT>157
|
|
14712 |
<DD><P>
|
|
14713 |
|
|
14714 |
Empty box.
|
|
14715 |
</P>
|
|
14716 |
<P>
|
|
14717 |
|
|
14718 |
</P>
|
|
14719 |
<DT>158
|
|
14720 |
<DD><P>
|
|
14721 |
|
|
14722 |
Plus or minus.
|
|
14723 |
</P>
|
|
14724 |
<P>
|
|
14725 |
|
|
14726 |
</P>
|
|
14727 |
<DT>159
|
|
14728 |
<DD><P>
|
|
14729 |
|
|
14730 |
Filled box.
|
|
14731 |
</P>
|
|
14732 |
<P>
|
|
14733 |
|
|
14734 |
</P>
|
|
14735 |
<DT>160
|
|
14736 |
<DD><P>
|
|
14737 |
|
|
14738 |
Degree symbol.
|
|
14739 |
</P>
|
|
14740 |
<P>
|
|
14741 |
|
|
14742 |
</P>
|
|
14743 |
<DT>161
|
|
14744 |
<DD><P>
|
|
14745 |
|
|
14746 |
Dagger.
|
|
14747 |
</P>
|
|
14748 |
<P>
|
|
14749 |
|
|
14750 |
</P>
|
|
14751 |
<DT>162
|
|
14752 |
<DD><P>
|
|
14753 |
|
|
14754 |
Symbol `<SAMP>~</SAMP>'.
|
|
14755 |
</P>
|
|
14756 |
<P>
|
|
14757 |
|
|
14758 |
</P>
|
|
14759 |
<DT>163
|
|
14760 |
<DD><P>
|
|
14761 |
|
|
14762 |
En dash.
|
|
14763 |
</P>
|
|
14764 |
<P>
|
|
14765 |
|
|
14766 |
</P>
|
|
14767 |
<DT>164
|
|
14768 |
<DD><P>
|
|
14769 |
|
|
14770 |
Lower left corner box draw.
|
|
14771 |
</P>
|
|
14772 |
<P>
|
|
14773 |
|
|
14774 |
</P>
|
|
14775 |
<DT>165
|
|
14776 |
<DD><P>
|
|
14777 |
|
|
14778 |
Upper left corner box draw.
|
|
14779 |
</P>
|
|
14780 |
<P>
|
|
14781 |
|
|
14782 |
</P>
|
|
14783 |
<DT>166
|
|
14784 |
<DD><P>
|
|
14785 |
|
|
14786 |
Greater than or equal symbol.
|
|
14787 |
</P>
|
|
14788 |
<P>
|
|
14789 |
|
|
14790 |
</P>
|
|
14791 |
<DT>167--176
|
|
14792 |
<DD><P>
|
|
14793 |
|
|
14794 |
Superscript `<SAMP>0</SAMP>' through `<SAMP>9</SAMP>'.
|
|
14795 |
</P>
|
|
14796 |
<P>
|
|
14797 |
|
|
14798 |
</P>
|
|
14799 |
<DT>177
|
|
14800 |
<DD><P>
|
|
14801 |
|
|
14802 |
Lower right corner box draw.
|
|
14803 |
</P>
|
|
14804 |
<P>
|
|
14805 |
|
|
14806 |
</P>
|
|
14807 |
<DT>178
|
|
14808 |
<DD><P>
|
|
14809 |
|
|
14810 |
Upper right corner box draw.
|
|
14811 |
</P>
|
|
14812 |
<P>
|
|
14813 |
|
|
14814 |
</P>
|
|
14815 |
<DT>179
|
|
14816 |
<DD><P>
|
|
14817 |
|
|
14818 |
Not equal symbol.
|
|
14819 |
</P>
|
|
14820 |
<P>
|
|
14821 |
|
|
14822 |
</P>
|
|
14823 |
<DT>180
|
|
14824 |
<DD><P>
|
|
14825 |
|
|
14826 |
Em dash.
|
|
14827 |
</P>
|
|
14828 |
<P>
|
|
14829 |
|
|
14830 |
</P>
|
|
14831 |
<DT>181
|
|
14832 |
<DD><P>
|
|
14833 |
|
|
14834 |
Superscript `<SAMP>(</SAMP>'.
|
|
14835 |
</P>
|
|
14836 |
<P>
|
|
14837 |
|
|
14838 |
</P>
|
|
14839 |
<DT>182
|
|
14840 |
<DD><P>
|
|
14841 |
|
|
14842 |
Superscript `<SAMP>)</SAMP>'.
|
|
14843 |
</P>
|
|
14844 |
<P>
|
|
14845 |
|
|
14846 |
</P>
|
|
14847 |
<DT>183
|
|
14848 |
<DD><P>
|
|
14849 |
|
|
14850 |
Horizontal dagger (?).
|
|
14851 |
</P>
|
|
14852 |
<P>
|
|
14853 |
|
|
14854 |
</P>
|
|
14855 |
<DT>184--186
|
|
14856 |
<DD><P>
|
|
14857 |
|
|
14858 |
Symbols `<SAMP>{}\</SAMP>'.
|
|
14859 |
</P>
|
|
14860 |
<DT>187
|
|
14861 |
<DD><P>
|
|
14862 |
|
|
14863 |
Cents symbol.
|
|
14864 |
</P>
|
|
14865 |
<P>
|
|
14866 |
|
|
14867 |
</P>
|
|
14868 |
<DT>188
|
|
14869 |
<DD><P>
|
|
14870 |
|
|
14871 |
Centered dot, or bullet.
|
|
14872 |
</P>
|
|
14873 |
<P>
|
|
14874 |
|
|
14875 |
</P>
|
|
14876 |
<DT>189--255
|
|
14877 |
<DD><P>
|
|
14878 |
|
|
14879 |
Reserved.
|
|
14880 |
</DL>
|
|
14881 |
<P>
|
|
14882 |
|
|
14883 |
Symbols that are not defined in a particular character set are set to
|
|
14884 |
the same value as symbol 64; i.e., to `<SAMP>0</SAMP>'.
|
|
14885 |
</P>
|
|
14886 |
<P>
|
|
14887 |
|
|
14888 |
The 8-byte tag string consists of the exact characters <CODE>SPSSPORT</CODE>
|
|
14889 |
in the portable file's character set, which can be used to verify that
|
|
14890 |
the file is indeed a portable file.
|
|
14891 |
</P>
|
|
14892 |
<P>
|
|
14893 |
|
|
14894 |
<A NAME="Version and Date Info Record"></A>
|
|
14895 |
<HR SIZE="6">
|
|
14896 |
<A NAME="SEC185"></A>
|
|
14897 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14898 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC184"> < </A>]</TD>
|
|
14899 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC186"> > </A>]</TD>
|
|
14900 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14901 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14902 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14903 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14904 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14905 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14906 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14907 |
</TR></TABLE>
|
|
14908 |
<H2> 19.4 Version and Date Info Record </H2>
|
|
14909 |
<!--docid::SEC185::-->
|
|
14910 |
<P>
|
|
14911 |
|
|
14912 |
This record does not have a tag code. It has the following structure:
|
|
14913 |
</P>
|
|
14914 |
<P>
|
|
14915 |
|
|
14916 |
<UL>
|
|
14917 |
<LI>
|
|
14918 |
A single character identifying the file format version. The letter A
|
|
14919 |
represents version 0, and so on.
|
|
14920 |
<P>
|
|
14921 |
|
|
14922 |
</P>
|
|
14923 |
<LI>
|
|
14924 |
An 8-character string field giving the file creation date in the format
|
|
14925 |
YYYYMMDD.
|
|
14926 |
<P>
|
|
14927 |
|
|
14928 |
</P>
|
|
14929 |
<LI>
|
|
14930 |
A 6-character string field giving the file creation time in the format
|
|
14931 |
HHMMSS.
|
|
14932 |
</UL>
|
|
14933 |
<P>
|
|
14934 |
|
|
14935 |
<A NAME="Identification Records"></A>
|
|
14936 |
<HR SIZE="6">
|
|
14937 |
<A NAME="SEC186"></A>
|
|
14938 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14939 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC185"> < </A>]</TD>
|
|
14940 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC187"> > </A>]</TD>
|
|
14941 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14942 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14943 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14944 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14945 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14946 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14947 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14948 |
</TR></TABLE>
|
|
14949 |
<H2> 19.5 Identification Records </H2>
|
|
14950 |
<!--docid::SEC186::-->
|
|
14951 |
<P>
|
|
14952 |
|
|
14953 |
The product identification record has tag code `<SAMP>1</SAMP>'. It consists of
|
|
14954 |
a single string field giving the name of the product that wrote the
|
|
14955 |
portable file.
|
|
14956 |
</P>
|
|
14957 |
<P>
|
|
14958 |
|
|
14959 |
The subproduct identification record has tag code `<SAMP>3</SAMP>'. It
|
|
14960 |
consists of a single string field giving additional information on the
|
|
14961 |
product that wrote the portable file.
|
|
14962 |
</P>
|
|
14963 |
<P>
|
|
14964 |
|
|
14965 |
<A NAME="Variable Count Record"></A>
|
|
14966 |
<HR SIZE="6">
|
|
14967 |
<A NAME="SEC187"></A>
|
|
14968 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14969 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC186"> < </A>]</TD>
|
|
14970 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC188"> > </A>]</TD>
|
|
14971 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14972 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14973 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14974 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
14975 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
14976 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
14977 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
14978 |
</TR></TABLE>
|
|
14979 |
<H2> 19.6 Variable Count Record </H2>
|
|
14980 |
<!--docid::SEC187::-->
|
|
14981 |
<P>
|
|
14982 |
|
|
14983 |
The variable count record has tag code `<SAMP>4</SAMP>'. It consists of two
|
|
14984 |
integer fields. The first contains the number of variables in the file
|
|
14985 |
dictionary. The purpose of the second is unknown; it contains the value
|
|
14986 |
161 in all portable files examined so far.
|
|
14987 |
</P>
|
|
14988 |
<P>
|
|
14989 |
|
|
14990 |
<A NAME="Variable Records"></A>
|
|
14991 |
<HR SIZE="6">
|
|
14992 |
<A NAME="SEC188"></A>
|
|
14993 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
14994 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC187"> < </A>]</TD>
|
|
14995 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC189"> > </A>]</TD>
|
|
14996 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
14997 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
14998 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
14999 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15000 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15001 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15002 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15003 |
</TR></TABLE>
|
|
15004 |
<H2> 19.7 Variable Records </H2>
|
|
15005 |
<!--docid::SEC188::-->
|
|
15006 |
<P>
|
|
15007 |
|
|
15008 |
Each variable record represents a single variable. Variable records
|
|
15009 |
have tag code `<SAMP>7</SAMP>'. They have the following structure:
|
|
15010 |
</P>
|
|
15011 |
<P>
|
|
15012 |
|
|
15013 |
<UL>
|
|
15014 |
|
|
15015 |
<LI>
|
|
15016 |
Width (integer). This is 0 for a numeric variable, and a number between 1
|
|
15017 |
and 255 for a string variable.
|
|
15018 |
<P>
|
|
15019 |
|
|
15020 |
</P>
|
|
15021 |
<LI>
|
|
15022 |
Name (string). 1--8 characters long. Must be in all capitals.
|
|
15023 |
<P>
|
|
15024 |
|
|
15025 |
</P>
|
|
15026 |
<LI>
|
|
15027 |
Print format. This is a set of three integer fields:
|
|
15028 |
<P>
|
|
15029 |
|
|
15030 |
<UL>
|
|
15031 |
|
|
15032 |
<LI>
|
|
15033 |
Format type (see section <A HREF="pspp.html#SEC172">18.2 Variable Record</A>).
|
|
15034 |
<P>
|
|
15035 |
|
|
15036 |
</P>
|
|
15037 |
<LI>
|
|
15038 |
Format width. 1--40.
|
|
15039 |
<P>
|
|
15040 |
|
|
15041 |
</P>
|
|
15042 |
<LI>
|
|
15043 |
Number of decimal places. 1--40.
|
|
15044 |
</UL>
|
|
15045 |
<P>
|
|
15046 |
|
|
15047 |
</P>
|
|
15048 |
<LI>
|
|
15049 |
Write format. Same structure as the print format described above.
|
|
15050 |
</UL>
|
|
15051 |
<P>
|
|
15052 |
|
|
15053 |
Each variable record can optionally be followed by a missing value
|
|
15054 |
record, which has tag code `<SAMP>8</SAMP>'. A missing value record has one
|
|
15055 |
field, the missing value itself (a floating-point or string, as
|
|
15056 |
appropriate). Up to three of these missing value records can be used.
|
|
15057 |
</P>
|
|
15058 |
<P>
|
|
15059 |
|
|
15060 |
There is also a record for missing value ranges, which has tag code
|
|
15061 |
`<SAMP>B</SAMP>'. It is followed by two fields representing the range, which
|
|
15062 |
are floating-point or string as appropriate. If a missing value range
|
|
15063 |
is present, it may be followed by a single missing value record.
|
|
15064 |
</P>
|
|
15065 |
<P>
|
|
15066 |
|
|
15067 |
Tag codes `<SAMP>9</SAMP>' and `<SAMP>A</SAMP>' represent <CODE>LO THRU <VAR>x</VAR></CODE> and
|
|
15068 |
<CODE><VAR>x</VAR> THRU HI</CODE> ranges, respectively. Each is followed by a
|
|
15069 |
single field representing <VAR>x</VAR>. If one of the ranges is present, it
|
|
15070 |
may be followed by a single missing value record.
|
|
15071 |
</P>
|
|
15072 |
<P>
|
|
15073 |
|
|
15074 |
In addition, each variable record can optionally be followed by a
|
|
15075 |
variable label record, which has tag code `<SAMP>C</SAMP>'. A variable label
|
|
15076 |
record has one field, the variable label itself (string).
|
|
15077 |
</P>
|
|
15078 |
<P>
|
|
15079 |
|
|
15080 |
<A NAME="Value Label Records"></A>
|
|
15081 |
<HR SIZE="6">
|
|
15082 |
<A NAME="SEC189"></A>
|
|
15083 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15084 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC188"> < </A>]</TD>
|
|
15085 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC190"> > </A>]</TD>
|
|
15086 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
15087 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
15088 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
15089 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15090 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15091 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15092 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15093 |
</TR></TABLE>
|
|
15094 |
<H2> 19.8 Value Label Records </H2>
|
|
15095 |
<!--docid::SEC189::-->
|
|
15096 |
<P>
|
|
15097 |
|
|
15098 |
Value label records have tag code `<SAMP>D</SAMP>'. They have the following
|
|
15099 |
format:
|
|
15100 |
</P>
|
|
15101 |
<P>
|
|
15102 |
|
|
15103 |
<UL>
|
|
15104 |
<LI>
|
|
15105 |
Variable count (integer).
|
|
15106 |
<P>
|
|
15107 |
|
|
15108 |
</P>
|
|
15109 |
<LI>
|
|
15110 |
List of variables (strings). The variable count specifies the number in
|
|
15111 |
the list. Variables are specified by their names. All variables must
|
|
15112 |
be of the same type (numeric or string).
|
|
15113 |
<P>
|
|
15114 |
|
|
15115 |
</P>
|
|
15116 |
<LI>
|
|
15117 |
Label count (integer).
|
|
15118 |
<P>
|
|
15119 |
|
|
15120 |
</P>
|
|
15121 |
<LI>
|
|
15122 |
List of (value, label) tuples. The label count specifies the number of
|
|
15123 |
tuples. Each tuple consists of a value, which is numeric or string as
|
|
15124 |
appropriate to the variables, followed by a label (string).
|
|
15125 |
</UL>
|
|
15126 |
<P>
|
|
15127 |
|
|
15128 |
<A NAME="Portable File Data"></A>
|
|
15129 |
<HR SIZE="6">
|
|
15130 |
<A NAME="SEC190"></A>
|
|
15131 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15132 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC189"> < </A>]</TD>
|
|
15133 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> > </A>]</TD>
|
|
15134 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
15135 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> Up </A>]</TD>
|
|
15136 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> >> </A>]</TD>
|
|
15137 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15138 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15139 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15140 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15141 |
</TR></TABLE>
|
|
15142 |
<H2> 19.9 Portable File Data </H2>
|
|
15143 |
<!--docid::SEC190::-->
|
|
15144 |
<P>
|
|
15145 |
|
|
15146 |
The data record has tag code `<SAMP>F</SAMP>'. There is only one tag for all
|
|
15147 |
the data; thus, all the data must follow the dictionary. The data is
|
|
15148 |
terminated by the end-of-file marker `<SAMP>Z</SAMP>', which is not valid as the
|
|
15149 |
beginning of a data element.
|
|
15150 |
</P>
|
|
15151 |
<P>
|
|
15152 |
|
|
15153 |
Data elements are output in the same order as the variable records
|
|
15154 |
describing them. String variables are output as string fields, and
|
|
15155 |
numeric variables are output as floating-point fields.
|
|
15156 |
</P>
|
|
15157 |
<P>
|
|
15158 |
|
|
15159 |
<A NAME="q2c Input Format"></A>
|
|
15160 |
<HR SIZE="6">
|
|
15161 |
<A NAME="SEC191"></A>
|
|
15162 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15163 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC190"> < </A>]</TD>
|
|
15164 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC192"> > </A>]</TD>
|
|
15165 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC181"> << </A>]</TD>
|
|
15166 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
15167 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> >> </A>]</TD>
|
|
15168 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15169 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15170 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15171 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15172 |
</TR></TABLE>
|
|
15173 |
<H1> 20. <CODE>q2c</CODE> Input Format </H1>
|
|
15174 |
<!--docid::SEC191::-->
|
|
15175 |
<P>
|
|
15176 |
|
|
15177 |
PSPP statistical procedures have a bizarre and somewhat irregular
|
|
15178 |
syntax. Despite this, a parser generator has been written that
|
|
15179 |
adequately addresses many of the possibilities and tries to provide
|
|
15180 |
hooks for the exceptional cases. This parser generator is named
|
|
15181 |
<CODE>q2c</CODE>.
|
|
15182 |
</P>
|
|
15183 |
<P>
|
|
15184 |
|
|
15185 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
15186 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC192">20.1 Invoking q2c</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">q2c command-line syntax.</TD></TR>
|
|
15187 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC193">20.2 <CODE>q2c</CODE> Input Structure</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">High-level layout of the input file.</TD></TR>
|
|
15188 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC194">20.3 Grammar Rules</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Syntax of the grammar rules.</TD></TR>
|
|
15189 |
</TABLE>
|
|
15190 |
<P>
|
|
15191 |
|
|
15192 |
<A NAME="Invoking q2c"></A>
|
|
15193 |
<HR SIZE="6">
|
|
15194 |
<A NAME="SEC192"></A>
|
|
15195 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15196 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> < </A>]</TD>
|
|
15197 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC193"> > </A>]</TD>
|
|
15198 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> << </A>]</TD>
|
|
15199 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> Up </A>]</TD>
|
|
15200 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> >> </A>]</TD>
|
|
15201 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15202 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15203 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15204 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15205 |
</TR></TABLE>
|
|
15206 |
<H2> 20.1 Invoking q2c </H2>
|
|
15207 |
<!--docid::SEC192::-->
|
|
15208 |
<P>
|
|
15209 |
|
|
15210 |
<TABLE><tr><td> </td><td class=example><pre>q2c <VAR>input.q</VAR> <VAR>output.c</VAR>
|
|
15211 |
</pre></td></tr></table><P>
|
|
15212 |
|
|
15213 |
<CODE>q2c</CODE> translates a `<SAMP>.q</SAMP>' file into a `<SAMP>.c</SAMP>' file. It takes
|
|
15214 |
exactly two command-line arguments, which are the input file name and
|
|
15215 |
output file name, respectively. <CODE>q2c</CODE> does not accept any
|
|
15216 |
command-line options.
|
|
15217 |
</P>
|
|
15218 |
<P>
|
|
15219 |
|
|
15220 |
<A NAME="q2c Input Structure"></A>
|
|
15221 |
<HR SIZE="6">
|
|
15222 |
<A NAME="SEC193"></A>
|
|
15223 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15224 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC192"> < </A>]</TD>
|
|
15225 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC194"> > </A>]</TD>
|
|
15226 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> << </A>]</TD>
|
|
15227 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> Up </A>]</TD>
|
|
15228 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> >> </A>]</TD>
|
|
15229 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15230 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15231 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15232 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15233 |
</TR></TABLE>
|
|
15234 |
<H2> 20.2 <CODE>q2c</CODE> Input Structure </H2>
|
|
15235 |
<!--docid::SEC193::-->
|
|
15236 |
<P>
|
|
15237 |
|
|
15238 |
<CODE>q2c</CODE> input files are divided into two sections: the grammar rules
|
|
15239 |
and the supporting code. The <EM>grammar rules</EM>, which make up the
|
|
15240 |
first part of the input, are used to define the syntax of the
|
|
15241 |
statistical procedure to be parsed. The <EM>supporting code</EM>,
|
|
15242 |
following the grammar rules, are copied largely unchanged to the output
|
|
15243 |
file, except for certain escapes.
|
|
15244 |
</P>
|
|
15245 |
<P>
|
|
15246 |
|
|
15247 |
The most important lines in the grammar rules are used for defining
|
|
15248 |
procedure syntax. These lines can be prefixed with a dollar sign
|
|
15249 |
(`<SAMP>$</SAMP>'), which prevents Emacs' CC-mode from munging them. Besides
|
|
15250 |
this, a bang (`<SAMP>!</SAMP>') at the beginning of a line causes the line,
|
|
15251 |
minus the bang, to be written verbatim to the output file (useful for
|
|
15252 |
comments). As a third special case, any line that begins with the exact
|
|
15253 |
characters <CODE>/* *INDENT</CODE> is ignored and not written to the output.
|
|
15254 |
This allows <CODE>.q</CODE> files to be processed through <CODE>indent</CODE>
|
|
15255 |
without being munged.
|
|
15256 |
</P>
|
|
15257 |
<P>
|
|
15258 |
|
|
15259 |
The syntax of the grammar rules themselves is given in the following
|
|
15260 |
sections.
|
|
15261 |
</P>
|
|
15262 |
<P>
|
|
15263 |
|
|
15264 |
The supporting code is passed into the output file largely unchanged.
|
|
15265 |
However, the following escapes are supported. Each escape must appear
|
|
15266 |
on a line by itself.
|
|
15267 |
</P>
|
|
15268 |
<P>
|
|
15269 |
|
|
15270 |
</P>
|
|
15271 |
<DL COMPACT>
|
|
15272 |
<DT><CODE>/* (header) */</CODE>
|
|
15273 |
<DD><P>
|
|
15274 |
|
|
15275 |
Expands to a series of C <CODE>#include</CODE> directives which include the
|
|
15276 |
headers that are required for the parser generated by <CODE>q2c</CODE>.
|
|
15277 |
</P>
|
|
15278 |
<P>
|
|
15279 |
|
|
15280 |
</P>
|
|
15281 |
<DT><CODE>/* (decls <VAR>scope</VAR>) */</CODE>
|
|
15282 |
<DD><P>
|
|
15283 |
|
|
15284 |
Expands to C variable and data type declarations for the variables and
|
|
15285 |
<CODE>enum</CODE>s input and output by the <CODE>q2c</CODE> parser. <VAR>scope</VAR>
|
|
15286 |
must be either <CODE>local</CODE> or <CODE>global</CODE>. <CODE>local</CODE> causes the
|
|
15287 |
declarations to be output as function locals. <CODE>global</CODE> causes them
|
|
15288 |
to be declared as <CODE>static</CODE> module variables; thus, <CODE>global</CODE> is
|
|
15289 |
a bit of a misnomer.
|
|
15290 |
</P>
|
|
15291 |
<P>
|
|
15292 |
|
|
15293 |
</P>
|
|
15294 |
<DT><CODE>/* (parser) */</CODE>
|
|
15295 |
<DD><P>
|
|
15296 |
|
|
15297 |
Expands to the entire parser. Must be enclosed within a C function.
|
|
15298 |
</P>
|
|
15299 |
<P>
|
|
15300 |
|
|
15301 |
</P>
|
|
15302 |
<DT><CODE>/* (free) */</CODE>
|
|
15303 |
<DD><P>
|
|
15304 |
|
|
15305 |
Expands to a set of calls to the <CODE>free</CODE> function for variables
|
|
15306 |
declared by the parser. Only needs to be invoked if subcommands of type
|
|
15307 |
<CODE>string</CODE> are used in the grammar rules.
|
|
15308 |
</DL>
|
|
15309 |
<P>
|
|
15310 |
|
|
15311 |
<A NAME="Grammar Rules"></A>
|
|
15312 |
<HR SIZE="6">
|
|
15313 |
<A NAME="SEC194"></A>
|
|
15314 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15315 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC193"> < </A>]</TD>
|
|
15316 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> > </A>]</TD>
|
|
15317 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> << </A>]</TD>
|
|
15318 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> Up </A>]</TD>
|
|
15319 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> >> </A>]</TD>
|
|
15320 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15321 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15322 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15323 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15324 |
</TR></TABLE>
|
|
15325 |
<H2> 20.3 Grammar Rules </H2>
|
|
15326 |
<!--docid::SEC194::-->
|
|
15327 |
<P>
|
|
15328 |
|
|
15329 |
The grammar rules describe the format of the syntax that the parser
|
|
15330 |
generated by <CODE>q2c</CODE> will understand. The way that the grammar rules
|
|
15331 |
are included in <CODE>q2c</CODE> input file are described above.
|
|
15332 |
</P>
|
|
15333 |
<P>
|
|
15334 |
|
|
15335 |
The grammar rules are divided into tokens of the following types:
|
|
15336 |
</P>
|
|
15337 |
<P>
|
|
15338 |
|
|
15339 |
</P>
|
|
15340 |
<DL COMPACT>
|
|
15341 |
<DT>Identifier (<CODE>ID</CODE>)
|
|
15342 |
<DD><P>
|
|
15343 |
|
|
15344 |
An identifier token is a sequence of letters, digits, and underscores
|
|
15345 |
(`<SAMP>_</SAMP>'). Identifiers are <EM>not</EM> case-sensitive.
|
|
15346 |
</P>
|
|
15347 |
<P>
|
|
15348 |
|
|
15349 |
</P>
|
|
15350 |
<DT>String (<CODE>STRING</CODE>)
|
|
15351 |
<DD><P>
|
|
15352 |
|
|
15353 |
String tokens are initiated by a double-quote character (`<SAMP>"</SAMP>') and
|
|
15354 |
consist of all the characters between that double quote and the next
|
|
15355 |
double quote, which must be on the same line as the first. Within a
|
|
15356 |
string, a backslash can be used as a "literal escape". The only
|
|
15357 |
reasons to use a literal escape are to include a double quote or a
|
|
15358 |
backslash within a string.
|
|
15359 |
</P>
|
|
15360 |
<P>
|
|
15361 |
|
|
15362 |
</P>
|
|
15363 |
<DT>Special character
|
|
15364 |
<DD><P>
|
|
15365 |
|
|
15366 |
Other characters, other than whitespace, constitute tokens in
|
|
15367 |
themselves.
|
|
15368 |
</P>
|
|
15369 |
<P>
|
|
15370 |
|
|
15371 |
</DL>
|
|
15372 |
<P>
|
|
15373 |
|
|
15374 |
The syntax of the grammar rules is as follows:
|
|
15375 |
</P>
|
|
15376 |
<P>
|
|
15377 |
|
|
15378 |
<TABLE><tr><td> </td><td class=example><pre>grammar-rules ::= ID : subcommands .
|
|
15379 |
subcommands ::= subcommand
|
|
15380 |
::= subcommands ; subcommand
|
|
15381 |
</pre></td></tr></table><P>
|
|
15382 |
|
|
15383 |
The syntax begins with an ID or STRING token that gives the name of the
|
|
15384 |
procedure to be parsed. The rest of the syntax consists of subcommands
|
|
15385 |
separated by semicolons (`<SAMP>;</SAMP>') and terminated with a full stop
|
|
15386 |
(`<SAMP>.</SAMP>').
|
|
15387 |
</P>
|
|
15388 |
<P>
|
|
15389 |
|
|
15390 |
<TABLE><tr><td> </td><td class=example><pre>subcommand ::= sbc-options ID sbc-defn
|
|
15391 |
sbc-options ::=
|
|
15392 |
::= sbc-option
|
|
15393 |
::= sbc-options sbc-options
|
|
15394 |
sbc-option ::= *
|
|
15395 |
::= +
|
|
15396 |
sbc-defn ::= opt-prefix = specifiers
|
|
15397 |
::= [ ID ] = array-sbc
|
|
15398 |
::= opt-prefix = sbc-special-form
|
|
15399 |
opt-prefix ::=
|
|
15400 |
::= ( ID )
|
|
15401 |
</pre></td></tr></table><P>
|
|
15402 |
|
|
15403 |
Each subcommand can be prefixed with one or more option characters. An
|
|
15404 |
asterisk (`<SAMP>*</SAMP>') is used to indicate the default subcommand; the
|
|
15405 |
keyword used for the default subcommand can be omitted in the PSPP
|
|
15406 |
syntax file. A plus sign (`<SAMP>+</SAMP>') is used to indicate that a
|
|
15407 |
subcommand can appear more than once; if it is not present then that
|
|
15408 |
subcommand can appear no more than once.
|
|
15409 |
</P>
|
|
15410 |
<P>
|
|
15411 |
|
|
15412 |
The subcommand name appears after the option characters.
|
|
15413 |
</P>
|
|
15414 |
<P>
|
|
15415 |
|
|
15416 |
There are three forms of subcommands. The first and most common form
|
|
15417 |
simply gives an equals sign (`<SAMP>=</SAMP>') and a list of specifiers, which
|
|
15418 |
can each be set to a single setting. The second form declares an array,
|
|
15419 |
which is a set of flags that can be individually turned on by the user.
|
|
15420 |
There are also several special forms that do not take a list of
|
|
15421 |
specifiers.
|
|
15422 |
</P>
|
|
15423 |
<P>
|
|
15424 |
|
|
15425 |
Arrays require an additional <CODE>ID</CODE> argument. This is used as a
|
|
15426 |
prefix, prepended to the variable names constructed from the
|
|
15427 |
specifiers. The other forms also allow an optional prefix to be
|
|
15428 |
specified.
|
|
15429 |
</P>
|
|
15430 |
<P>
|
|
15431 |
|
|
15432 |
<TABLE><tr><td> </td><td class=example><pre>array-sbc ::= alternatives
|
|
15433 |
::= array-sbc , alternatives
|
|
15434 |
alternatives ::= ID
|
|
15435 |
::= alternatives | ID
|
|
15436 |
</pre></td></tr></table><P>
|
|
15437 |
|
|
15438 |
An array subcommand is a set of Boolean values that can independently be
|
|
15439 |
turned on by the user, listed separated by commas (`<SAMP>,</SAMP>'). If an value has more
|
|
15440 |
than one name then these names are separated by pipes (`<SAMP>|</SAMP>').
|
|
15441 |
</P>
|
|
15442 |
<P>
|
|
15443 |
|
|
15444 |
<TABLE><tr><td> </td><td class=example><pre>specifiers ::= specifier
|
|
15445 |
::= specifiers , specifier
|
|
15446 |
specifier ::= opt-id : settings
|
|
15447 |
opt-id ::=
|
|
15448 |
::= ID
|
|
15449 |
</pre></td></tr></table><P>
|
|
15450 |
|
|
15451 |
Ordinary subcommands (other than arrays and special forms) require a
|
|
15452 |
list of specifiers. Each specifier has an optional name and a list of
|
|
15453 |
settings. If the name is given then a correspondingly named variable
|
|
15454 |
will be used to store the user's choice of setting. If no name is given
|
|
15455 |
then there is no way to tell which setting the user picked; in this case
|
|
15456 |
the settings should probably have values attached.
|
|
15457 |
</P>
|
|
15458 |
<P>
|
|
15459 |
|
|
15460 |
<TABLE><tr><td> </td><td class=example><pre>settings ::= setting
|
|
15461 |
::= settings / setting
|
|
15462 |
setting ::= setting-options ID setting-value
|
|
15463 |
setting-options ::=
|
|
15464 |
::= *
|
|
15465 |
::= !
|
|
15466 |
::= * !
|
|
15467 |
</pre></td></tr></table><P>
|
|
15468 |
|
|
15469 |
Individual settings are separated by forward slashes (`<SAMP>/</SAMP>'). Each
|
|
15470 |
setting can be as little as an <CODE>ID</CODE> token, but options and values
|
|
15471 |
can optionally be included. The `<SAMP>*</SAMP>' option means that, for this
|
|
15472 |
setting, the <CODE>ID</CODE> can be omitted. The `<SAMP>!</SAMP>' option means that
|
|
15473 |
this option is the default for its specifier.
|
|
15474 |
</P>
|
|
15475 |
<P>
|
|
15476 |
|
|
15477 |
<TABLE><tr><td> </td><td class=example><pre>setting-value ::=
|
|
15478 |
::= ( setting-value-2 )
|
|
15479 |
::= setting-value-2
|
|
15480 |
setting-value-2 ::= setting-value-options setting-value-type : ID
|
|
15481 |
setting-value-restriction
|
|
15482 |
setting-value-options ::=
|
|
15483 |
::= *
|
|
15484 |
setting-value-type ::= N
|
|
15485 |
::= D
|
|
15486 |
setting-value-restriction ::=
|
|
15487 |
::= , STRING
|
|
15488 |
</pre></td></tr></table><P>
|
|
15489 |
|
|
15490 |
Settings may have values. If the value must be enclosed in parentheses,
|
|
15491 |
then enclose the value declaration in parentheses. Declare the setting
|
|
15492 |
type as `<SAMP>n</SAMP>' or `<SAMP>d</SAMP>' for integer or floating point type,
|
|
15493 |
respectively. The given <CODE>ID</CODE> is used to construct a variable name.
|
|
15494 |
If option `<SAMP>*</SAMP>' is given, then the value is optional; otherwise it
|
|
15495 |
must be specified whenever the corresponding setting is specified. A
|
|
15496 |
"restriction" can also be specified which is a string giving a C
|
|
15497 |
expression limiting the valid range of the value. The special escape
|
|
15498 |
<CODE>%s</CODE> should be used within the restriction to refer to the
|
|
15499 |
setting's value variable.
|
|
15500 |
</P>
|
|
15501 |
<P>
|
|
15502 |
|
|
15503 |
<TABLE><tr><td> </td><td class=example><pre>sbc-special-form ::= VAR
|
|
15504 |
::= VARLIST varlist-options
|
|
15505 |
::= INTEGER opt-list
|
|
15506 |
::= DOUBLE opt-list
|
|
15507 |
::= PINT
|
|
15508 |
::= STRING (the literal word STRING) string-options
|
|
15509 |
::= CUSTOM
|
|
15510 |
varlist-options ::=
|
|
15511 |
::= ( STRING )
|
|
15512 |
opt-list ::=
|
|
15513 |
::= LIST
|
|
15514 |
string-options ::=
|
|
15515 |
::= ( STRING STRING )
|
|
15516 |
</pre></td></tr></table><P>
|
|
15517 |
|
|
15518 |
The special forms are of the following types:
|
|
15519 |
</P>
|
|
15520 |
<P>
|
|
15521 |
|
|
15522 |
</P>
|
|
15523 |
<DL COMPACT>
|
|
15524 |
<DT><CODE>VAR</CODE>
|
|
15525 |
<DD><P>
|
|
15526 |
|
|
15527 |
A single variable name.
|
|
15528 |
</P>
|
|
15529 |
<P>
|
|
15530 |
|
|
15531 |
</P>
|
|
15532 |
<DT><CODE>VARLIST</CODE>
|
|
15533 |
<DD><P>
|
|
15534 |
|
|
15535 |
A list of variables. If given, the string can be used to provide
|
|
15536 |
<CODE>PV_<VAR>*</VAR></CODE> options to the call to <CODE>parse_variables</CODE>.
|
|
15537 |
</P>
|
|
15538 |
<P>
|
|
15539 |
|
|
15540 |
</P>
|
|
15541 |
<DT><CODE>INTEGER</CODE>
|
|
15542 |
<DD><P>
|
|
15543 |
|
|
15544 |
A single integer value.
|
|
15545 |
</P>
|
|
15546 |
<P>
|
|
15547 |
|
|
15548 |
</P>
|
|
15549 |
<DT><CODE>INTEGER LIST</CODE>
|
|
15550 |
<DD><P>
|
|
15551 |
|
|
15552 |
A list of integers separated by spaces or commas.
|
|
15553 |
</P>
|
|
15554 |
<P>
|
|
15555 |
|
|
15556 |
</P>
|
|
15557 |
<DT><CODE>DOUBLE</CODE>
|
|
15558 |
<DD><P>
|
|
15559 |
|
|
15560 |
A single floating-point value.
|
|
15561 |
</P>
|
|
15562 |
<P>
|
|
15563 |
|
|
15564 |
</P>
|
|
15565 |
<DT><CODE>DOUBLE LIST</CODE>
|
|
15566 |
<DD><P>
|
|
15567 |
|
|
15568 |
A list of floating-point values.
|
|
15569 |
</P>
|
|
15570 |
<P>
|
|
15571 |
|
|
15572 |
</P>
|
|
15573 |
<DT><CODE>PINT</CODE>
|
|
15574 |
<DD><P>
|
|
15575 |
|
|
15576 |
A single positive integer value.
|
|
15577 |
</P>
|
|
15578 |
<P>
|
|
15579 |
|
|
15580 |
</P>
|
|
15581 |
<DT><CODE>STRING</CODE>
|
|
15582 |
<DD><P>
|
|
15583 |
|
|
15584 |
A string value. If the options are given then the first string is an
|
|
15585 |
expression giving a restriction on the value of the string; the second
|
|
15586 |
string is an error message to display when the restriction is violated.
|
|
15587 |
</P>
|
|
15588 |
<P>
|
|
15589 |
|
|
15590 |
</P>
|
|
15591 |
<DT><CODE>CUSTOM</CODE>
|
|
15592 |
<DD><P>
|
|
15593 |
|
|
15594 |
A custom function is used to parse this subcommand. The function must
|
|
15595 |
have prototype <CODE>int custom_<VAR>name</VAR> (void)</CODE>. It should return 0
|
|
15596 |
on failure (when it has already issued an appropriate diagnostic), 1 on
|
|
15597 |
success, or 2 if it fails and the calling function should issue a syntax
|
|
15598 |
error on behalf of the custom handler.
|
|
15599 |
</P>
|
|
15600 |
<P>
|
|
15601 |
|
|
15602 |
</DL>
|
|
15603 |
<P>
|
|
15604 |
|
|
15605 |
<A NAME="Bugs"></A>
|
|
15606 |
<HR SIZE="6">
|
|
15607 |
<A NAME="SEC195"></A>
|
|
15608 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15609 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC194"> < </A>]</TD>
|
|
15610 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC196"> > </A>]</TD>
|
|
15611 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC191"> << </A>]</TD>
|
|
15612 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
15613 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> >> </A>]</TD>
|
|
15614 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15615 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15616 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15617 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15618 |
</TR></TABLE>
|
|
15619 |
<H1> 21. Bugs </H1>
|
|
15620 |
<!--docid::SEC195::-->
|
|
15621 |
<P>
|
|
15622 |
|
|
15623 |
<BLOCKQUOTE>
|
|
15624 |
As of fvwm 0.99 there were exactly 39.342 unidentified bugs. Identified
|
|
15625 |
bugs have mostly been fixed, though. Since then 9.34 bugs have been
|
|
15626 |
fixed. Assuming that there are at least 10 unidentified bugs for every
|
|
15627 |
identified one, that leaves us with 39.342 - 9.34 + 10 * 9.34 = 123.422
|
|
15628 |
unidentified bugs. If we follow this to its logical conclusion we
|
|
15629 |
will have an infinite number of unidentified bugs before the number of
|
|
15630 |
bugs can start to diminish, at which point the program will be
|
|
15631 |
bug-free. Since this is a computer program infinity = 3.4028e+38 if you
|
|
15632 |
don't insist on double-precision. At the current rate of bug discovery
|
|
15633 |
we should expect to achieve this point in 3.37e+27 years. I guess I
|
|
15634 |
better plan on passing this thing on to my children<small>....</small>
|
|
15635 |
<P>
|
|
15636 |
|
|
15637 |
---Robert Nation, <CITE>fvwm manpage</CITE>.
|
|
15638 |
</BLOCKQUOTE>
|
|
15639 |
<P>
|
|
15640 |
|
|
15641 |
<TABLE BORDER="0" CELLSPACING="0">
|
|
15642 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC196">21.1 Known bugs</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Pointers to other files.</TD></TR>
|
|
15643 |
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="pspp.html#SEC197">21.2 Contacting the Author</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Where to send the bug reports.</TD></TR>
|
|
15644 |
</TABLE>
|
|
15645 |
<P>
|
|
15646 |
|
|
15647 |
<A NAME="Known bugs"></A>
|
|
15648 |
<HR SIZE="6">
|
|
15649 |
<A NAME="SEC196"></A>
|
|
15650 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15651 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> < </A>]</TD>
|
|
15652 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC197"> > </A>]</TD>
|
|
15653 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> << </A>]</TD>
|
|
15654 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> Up </A>]</TD>
|
|
15655 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> >> </A>]</TD>
|
|
15656 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15657 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15658 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15659 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15660 |
</TR></TABLE>
|
|
15661 |
<H2> 21.1 Known bugs </H2>
|
|
15662 |
<!--docid::SEC196::-->
|
|
15663 |
<P>
|
|
15664 |
|
|
15665 |
This is the list of known bugs in PSPP. In addition, See section <A HREF="pspp.html#SEC169">17. Not Implemented</A>, and See section <A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A>, for lists of bugs
|
|
15666 |
due to features not implemented. For known bugs in individual language
|
|
15667 |
features, see the documentation for that feature.
|
|
15668 |
</P>
|
|
15669 |
<P>
|
|
15670 |
|
|
15671 |
<UL>
|
|
15672 |
<LI>
|
|
15673 |
Nothing has yet been tested exhaustively. Be cautious using PSPP to
|
|
15674 |
make important decisions.
|
|
15675 |
<P>
|
|
15676 |
|
|
15677 |
</P>
|
|
15678 |
<LI>
|
|
15679 |
<CODE>make check</CODE> fails on some systems that don't like the syntax. I'm
|
|
15680 |
not sure why. If someone could make an attempt to track this down, it
|
|
15681 |
would be appreciated.
|
|
15682 |
<P>
|
|
15683 |
|
|
15684 |
</P>
|
|
15685 |
<LI>
|
|
15686 |
PostScript driver bugs:
|
|
15687 |
<P>
|
|
15688 |
|
|
15689 |
<UL>
|
|
15690 |
<LI>
|
|
15691 |
Does not support driver arguments `max-fonts-simult' or
|
|
15692 |
`optimize-text-size'.
|
|
15693 |
<P>
|
|
15694 |
|
|
15695 |
</P>
|
|
15696 |
<LI>
|
|
15697 |
Minor problems with font-encodings.
|
|
15698 |
<P>
|
|
15699 |
|
|
15700 |
</P>
|
|
15701 |
<LI>
|
|
15702 |
Fails to align fonts along their baselines.
|
|
15703 |
<P>
|
|
15704 |
|
|
15705 |
</P>
|
|
15706 |
<LI>
|
|
15707 |
Does not support certain bizarre line intersections--should
|
|
15708 |
never crop up in practice.
|
|
15709 |
<P>
|
|
15710 |
|
|
15711 |
</P>
|
|
15712 |
<LI>
|
|
15713 |
Does not gracefully substitute for existing fonts whose
|
|
15714 |
encodings are missing.
|
|
15715 |
<P>
|
|
15716 |
|
|
15717 |
</P>
|
|
15718 |
<LI>
|
|
15719 |
Does not perform italic correction or left italic correction
|
|
15720 |
on font changes.
|
|
15721 |
<P>
|
|
15722 |
|
|
15723 |
</P>
|
|
15724 |
<LI>
|
|
15725 |
Encapsulated PostScript is unimplemented.
|
|
15726 |
</UL>
|
|
15727 |
<P>
|
|
15728 |
|
|
15729 |
</P>
|
|
15730 |
<LI>
|
|
15731 |
ASCII driver bugs:
|
|
15732 |
<P>
|
|
15733 |
|
|
15734 |
<UL>
|
|
15735 |
Does not support `infinite length' or `infinite width' paper.
|
|
15736 |
</UL>
|
|
15737 |
</UL>
|
|
15738 |
<P>
|
|
15739 |
|
|
15740 |
See below for information on reporting bugs not listed here.
|
|
15741 |
</P>
|
|
15742 |
<P>
|
|
15743 |
|
|
15744 |
<A NAME="Contacting the Author"></A>
|
|
15745 |
<HR SIZE="6">
|
|
15746 |
<A NAME="SEC197"></A>
|
|
15747 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15748 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC196"> < </A>]</TD>
|
|
15749 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> > </A>]</TD>
|
|
15750 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> << </A>]</TD>
|
|
15751 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> Up </A>]</TD>
|
|
15752 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> >> </A>]</TD>
|
|
15753 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15754 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15755 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15756 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15757 |
</TR></TABLE>
|
|
15758 |
<H2> 21.2 Contacting the Author </H2>
|
|
15759 |
<!--docid::SEC197::-->
|
|
15760 |
<P>
|
|
15761 |
|
|
15762 |
The author can be contacted at e-mail address
|
|
15763 |
<blp@gnu.org>.
|
|
15764 |
</P>
|
|
15765 |
<P>
|
|
15766 |
|
|
15767 |
PSPP bug reports should be sent to
|
|
15768 |
<bug-gnu-pspp@gnu.org>.
|
|
15769 |
</P>
|
|
15770 |
<P>
|
|
15771 |
|
|
15772 |
<A NAME="Function Index"></A>
|
|
15773 |
<HR SIZE="6">
|
|
15774 |
<A NAME="SEC198"></A>
|
|
15775 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15776 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC197"> < </A>]</TD>
|
|
15777 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC199"> > </A>]</TD>
|
|
15778 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC195"> << </A>]</TD>
|
|
15779 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
15780 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC199"> >> </A>]</TD>
|
|
15781 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15782 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15783 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15784 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15785 |
</TR></TABLE>
|
|
15786 |
<H1> 22. Function Index </H1>
|
|
15787 |
<!--docid::SEC198::-->
|
|
15788 |
<table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#fn_A" style="text-decoration:none"><b>A</b></A>
|
|
15789 |
|
|
15790 |
<A HREF="pspp.html#fn_C" style="text-decoration:none"><b>C</b></A>
|
|
15791 |
|
|
15792 |
<A HREF="pspp.html#fn_D" style="text-decoration:none"><b>D</b></A>
|
|
15793 |
|
|
15794 |
<A HREF="pspp.html#fn_E" style="text-decoration:none"><b>E</b></A>
|
|
15795 |
|
|
15796 |
<A HREF="pspp.html#fn_I" style="text-decoration:none"><b>I</b></A>
|
|
15797 |
|
|
15798 |
<A HREF="pspp.html#fn_L" style="text-decoration:none"><b>L</b></A>
|
|
15799 |
|
|
15800 |
<A HREF="pspp.html#fn_M" style="text-decoration:none"><b>M</b></A>
|
|
15801 |
|
|
15802 |
<A HREF="pspp.html#fn_N" style="text-decoration:none"><b>N</b></A>
|
|
15803 |
|
|
15804 |
<A HREF="pspp.html#fn_P" style="text-decoration:none"><b>P</b></A>
|
|
15805 |
|
|
15806 |
<A HREF="pspp.html#fn_R" style="text-decoration:none"><b>R</b></A>
|
|
15807 |
|
|
15808 |
<A HREF="pspp.html#fn_S" style="text-decoration:none"><b>S</b></A>
|
|
15809 |
|
|
15810 |
<A HREF="pspp.html#fn_T" style="text-decoration:none"><b>T</b></A>
|
|
15811 |
|
|
15812 |
<A HREF="pspp.html#fn_U" style="text-decoration:none"><b>U</b></A>
|
|
15813 |
|
|
15814 |
<A HREF="pspp.html#fn_V" style="text-decoration:none"><b>V</b></A>
|
|
15815 |
|
|
15816 |
<A HREF="pspp.html#fn_X" style="text-decoration:none"><b>X</b></A>
|
|
15817 |
|
|
15818 |
<A HREF="pspp.html#fn_Y" style="text-decoration:none"><b>Y</b></A>
|
|
15819 |
|
|
15820 |
</td></tr></table><P></P>
|
|
15821 |
<TABLE border=0>
|
|
15822 |
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
|
15823 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15824 |
<TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
|
|
15825 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX203"><CODE>ABS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
15826 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX214"><CODE>ACOS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15827 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX244"><CODE>ANY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A></TD></TR>
|
|
15828 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX215"><CODE>ARCOS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15829 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX218"><CODE>ARSIN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15830 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX221"><CODE>ARTAN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15831 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX224"><CODE>ASIN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15832 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX227"><CODE>ATAN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15833 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15834 |
<TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
|
|
15835 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX406"><CODE>CDF.xxx</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15836 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX407"><CODE>CDFNORM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15837 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX250"><CODE>CFVAR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15838 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX267"><CODE>CONCAT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15839 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX229"><CODE>COS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15840 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX325"><CODE>CTIME.DAYS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
15841 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX328"><CODE>CTIME.HOURS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
15842 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX331"><CODE>CTIME.MINUTES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
15843 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX334"><CODE>CTIME.SECONDS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
15844 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15845 |
<TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
|
|
15846 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX339"><CODE>DATE.DMY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15847 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX340"><CODE>DATE.MDY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15848 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX343"><CODE>DATE.MOYR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15849 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX346"><CODE>DATE.QYR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15850 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX349"><CODE>DATE.WKYR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15851 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX352"><CODE>DATE.YRDAY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
15852 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15853 |
<TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
|
|
15854 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX196"><CODE>EXP</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
15855 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15856 |
<TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
|
|
15857 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX408"><CODE>IDF.xxx</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15858 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX269"><CODE>INDEX</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15859 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX270"><CODE>INDEX</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15860 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15861 |
<TR><TH><A NAME="fn_L"></A>L</TH><TD></TD><TD></TD></TR>
|
|
15862 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX401"><CODE>LAG</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
15863 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX402"><CODE>LAG</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
15864 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX272"><CODE>LENGTH</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15865 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX198"><CODE>LG10</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
15866 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX199"><CODE>LN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
15867 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX274"><CODE>LOWER</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15868 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX276"><CODE>LPAD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15869 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX277"><CODE>LPAD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15870 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX280"><CODE>LTRIM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15871 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX281"><CODE>LTRIM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15872 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15873 |
<TR><TH><A NAME="fn_M"></A>M</TH><TD></TD><TD></TD></TR>
|
|
15874 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX252"><CODE>MAX</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15875 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX254"><CODE>MEAN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15876 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX256"><CODE>MIN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15877 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX234"><CODE>MISSING</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
15878 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX205"><CODE>MOD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
15879 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX207"><CODE>MOD10</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
15880 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15881 |
<TR><TH><A NAME="fn_N"></A>N</TH><TD></TD><TD></TD></TR>
|
|
15882 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX409"><CODE>NCDF.xxx</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15883 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX235"><CODE>NMISS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
15884 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX241"><CODE>NORMAL</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
15885 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX284"><CODE>NUMBER</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15886 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX285"><CODE>NUMBER</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15887 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX236"><CODE>NVALID</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
15888 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15889 |
<TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
|
|
15890 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX410"><CODE>PROBIT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15891 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15892 |
<TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
|
|
15893 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX245"><CODE>RANGE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A></TD></TR>
|
|
15894 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX287"><CODE>RINDEX</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15895 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX288"><CODE>RINDEX</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15896 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX209"><CODE>RND</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
15897 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX291"><CODE>RPAD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15898 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX292"><CODE>RPAD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15899 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX295"><CODE>RTRIM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15900 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX296"><CODE>RTRIM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15901 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX411"><CODE>RV.xxx</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
15902 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15903 |
<TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
|
|
15904 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX259"><CODE>SD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15905 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX231"><CODE>SIN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15906 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX201"><CODE>SQRT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
15907 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX299"><CODE>STRING</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15908 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX302"><CODE>SUBSTR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15909 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX303"><CODE>SUBSTR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15910 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX261"><CODE>SUM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15911 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX237"><CODE>SYSMIS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
15912 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15913 |
<TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
|
|
15914 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX233"><CODE>TAN</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
15915 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX319"><CODE>TIME.DAYS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
15916 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX322"><CODE>TIME.HMS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
15917 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX211"><CODE>TRUNC</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
15918 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15919 |
<TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
|
|
15920 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX243"><CODE>UNIFORM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
15921 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX306"><CODE>UPCASE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
15922 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15923 |
<TR><TH><A NAME="fn_V"></A>V</TH><TD></TD><TD></TD></TR>
|
|
15924 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX238"><CODE>VALUE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
15925 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX263"><CODE>VAR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15926 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX264"><CODE>VARIANCE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
15927 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15928 |
<TR><TH><A NAME="fn_X"></A>X</TH><TD></TD><TD></TD></TR>
|
|
15929 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX357"><CODE>XDATE.DATE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15930 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX361"><CODE>XDATE.HOUR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15931 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX364"><CODE>XDATE.JDAY(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15932 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX367"><CODE>XDATE.MDAY(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15933 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX371"><CODE>XDATE.MINUTE(<VAR>time-or-date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15934 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX374"><CODE>XDATE.MONTH(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15935 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX377"><CODE>XDATE.QUARTER(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15936 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX381"><CODE>XDATE.SECOND(<VAR>time-or-date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15937 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX384"><CODE>XDATE.TDAY(<VAR>time</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15938 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX387"><CODE>XDATE.TIME(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15939 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX390"><CODE>XDATE.WEEK(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15940 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX395"><CODE>XDATE.WKDAY(<VAR>date</VAR>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15941 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX398"><CODE>XDATE.YEAR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
15942 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15943 |
<TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
|
|
15944 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX405"><CODE>YRMODA</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
15945 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
15946 |
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#fn_A" style="text-decoration:none"><b>A</b></A>
|
|
15947 |
|
|
15948 |
<A HREF="pspp.html#fn_C" style="text-decoration:none"><b>C</b></A>
|
|
15949 |
|
|
15950 |
<A HREF="pspp.html#fn_D" style="text-decoration:none"><b>D</b></A>
|
|
15951 |
|
|
15952 |
<A HREF="pspp.html#fn_E" style="text-decoration:none"><b>E</b></A>
|
|
15953 |
|
|
15954 |
<A HREF="pspp.html#fn_I" style="text-decoration:none"><b>I</b></A>
|
|
15955 |
|
|
15956 |
<A HREF="pspp.html#fn_L" style="text-decoration:none"><b>L</b></A>
|
|
15957 |
|
|
15958 |
<A HREF="pspp.html#fn_M" style="text-decoration:none"><b>M</b></A>
|
|
15959 |
|
|
15960 |
<A HREF="pspp.html#fn_N" style="text-decoration:none"><b>N</b></A>
|
|
15961 |
|
|
15962 |
<A HREF="pspp.html#fn_P" style="text-decoration:none"><b>P</b></A>
|
|
15963 |
|
|
15964 |
<A HREF="pspp.html#fn_R" style="text-decoration:none"><b>R</b></A>
|
|
15965 |
|
|
15966 |
<A HREF="pspp.html#fn_S" style="text-decoration:none"><b>S</b></A>
|
|
15967 |
|
|
15968 |
<A HREF="pspp.html#fn_T" style="text-decoration:none"><b>T</b></A>
|
|
15969 |
|
|
15970 |
<A HREF="pspp.html#fn_U" style="text-decoration:none"><b>U</b></A>
|
|
15971 |
|
|
15972 |
<A HREF="pspp.html#fn_V" style="text-decoration:none"><b>V</b></A>
|
|
15973 |
|
|
15974 |
<A HREF="pspp.html#fn_X" style="text-decoration:none"><b>X</b></A>
|
|
15975 |
|
|
15976 |
<A HREF="pspp.html#fn_Y" style="text-decoration:none"><b>Y</b></A>
|
|
15977 |
|
|
15978 |
</td></tr></table><P>
|
|
15979 |
|
|
15980 |
<A NAME="Concept Index"></A>
|
|
15981 |
<HR SIZE="6">
|
|
15982 |
<A NAME="SEC199"></A>
|
|
15983 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
15984 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> < </A>]</TD>
|
|
15985 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC200"> > </A>]</TD>
|
|
15986 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198"> << </A>]</TD>
|
|
15987 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
15988 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC200"> >> </A>]</TD>
|
|
15989 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
15990 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
15991 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
15992 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
15993 |
</TR></TABLE>
|
|
15994 |
<H1> 23. Concept Index </H1>
|
|
15995 |
<!--docid::SEC199::-->
|
|
15996 |
<table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#cp_"" style="text-decoration:none"><b>"</b></A>
|
|
15997 |
|
|
15998 |
<A HREF="pspp.html#cp_$" style="text-decoration:none"><b>$</b></A>
|
|
15999 |
|
|
16000 |
<A HREF="pspp.html#cp_&" style="text-decoration:none"><b>&</b></A>
|
|
16001 |
|
|
16002 |
<A HREF="pspp.html#cp_'" style="text-decoration:none"><b>'</b></A>
|
|
16003 |
|
|
16004 |
<A HREF="pspp.html#cp_(" style="text-decoration:none"><b>(</b></A>
|
|
16005 |
|
|
16006 |
<A HREF="pspp.html#cp_)" style="text-decoration:none"><b>)</b></A>
|
|
16007 |
|
|
16008 |
<A HREF="pspp.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
|
16009 |
|
|
16010 |
<A HREF="pspp.html#cp_+" style="text-decoration:none"><b>+</b></A>
|
|
16011 |
|
|
16012 |
<A HREF="pspp.html#cp_-" style="text-decoration:none"><b>-</b></A>
|
|
16013 |
|
|
16014 |
<A HREF="pspp.html#cp_." style="text-decoration:none"><b>.</b></A>
|
|
16015 |
|
|
16016 |
<A HREF="pspp.html#cp_/" style="text-decoration:none"><b>/</b></A>
|
|
16017 |
|
|
16018 |
<A HREF="pspp.html#cp_0" style="text-decoration:none"><b>0</b></A>
|
|
16019 |
|
|
16020 |
<A HREF="pspp.html#cp_:" style="text-decoration:none"><b>:</b></A>
|
|
16021 |
|
|
16022 |
<A HREF="pspp.html#cp_<" style="text-decoration:none"><b><</b></A>
|
|
16023 |
|
|
16024 |
<A HREF="pspp.html#cp_=" style="text-decoration:none"><b>=</b></A>
|
|
16025 |
|
|
16026 |
<A HREF="pspp.html#cp_>" style="text-decoration:none"><b>></b></A>
|
|
16027 |
|
|
16028 |
<A HREF="pspp.html#cp_[" style="text-decoration:none"><b>[</b></A>
|
|
16029 |
|
|
16030 |
<A HREF="pspp.html#cp_|" style="text-decoration:none"><b>|</b></A>
|
|
16031 |
|
|
16032 |
<A HREF="pspp.html#cp_~" style="text-decoration:none"><b>~</b></A>
|
|
16033 |
|
|
16034 |
<BR>
|
|
16035 |
<A HREF="pspp.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
|
16036 |
|
|
16037 |
<A HREF="pspp.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
|
16038 |
|
|
16039 |
<A HREF="pspp.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
|
16040 |
|
|
16041 |
<A HREF="pspp.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
|
16042 |
|
|
16043 |
<A HREF="pspp.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
|
16044 |
|
|
16045 |
<A HREF="pspp.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
|
16046 |
|
|
16047 |
<A HREF="pspp.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
|
16048 |
|
|
16049 |
<A HREF="pspp.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
|
16050 |
|
|
16051 |
<A HREF="pspp.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
|
16052 |
|
|
16053 |
<A HREF="pspp.html#cp_J" style="text-decoration:none"><b>J</b></A>
|
|
16054 |
|
|
16055 |
<A HREF="pspp.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
|
16056 |
|
|
16057 |
<A HREF="pspp.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
|
16058 |
|
|
16059 |
<A HREF="pspp.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
|
16060 |
|
|
16061 |
<A HREF="pspp.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
|
16062 |
|
|
16063 |
<A HREF="pspp.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
|
16064 |
|
|
16065 |
<A HREF="pspp.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
|
16066 |
|
|
16067 |
<A HREF="pspp.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
|
|
16068 |
|
|
16069 |
<A HREF="pspp.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
|
16070 |
|
|
16071 |
<A HREF="pspp.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
|
16072 |
|
|
16073 |
<A HREF="pspp.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
|
16074 |
|
|
16075 |
<A HREF="pspp.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
|
16076 |
|
|
16077 |
<A HREF="pspp.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
|
16078 |
|
|
16079 |
<A HREF="pspp.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
|
16080 |
|
|
16081 |
<A HREF="pspp.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
|
16082 |
|
|
16083 |
<A HREF="pspp.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
|
|
16084 |
|
|
16085 |
</td></tr></table><P></P>
|
|
16086 |
<TABLE border=0>
|
|
16087 |
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
|
16088 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16089 |
<TR><TH><A NAME="cp_""></A>"</TH><TD></TD><TD></TD></TR>
|
|
16090 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX63">`<SAMP>"</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16091 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX135">"is defined as"</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16092 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16093 |
<TR><TH><A NAME="cp_$"></A>$</TH><TD></TD><TD></TD></TR>
|
|
16094 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX101"><CODE>$CASENUM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16095 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX102"><CODE>$DATE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16096 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX103"><CODE>$JDATE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16097 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX104"><CODE>$LENGTH</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16098 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX105"><CODE>$SYSMIS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16099 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX106"><CODE>$TIME</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16100 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX107"><CODE>$WIDTH</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16101 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16102 |
<TR><TH><A NAME="cp_&"></A>&</TH><TD></TD><TD></TD></TR>
|
|
16103 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX158">`<SAMP>&</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16104 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16105 |
<TR><TH><A NAME="cp_'"></A>'</TH><TD></TD><TD></TD></TR>
|
|
16106 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX62">`<SAMP>'</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16107 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX67">`<SAMP>'</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16108 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16109 |
<TR><TH><A NAME="cp_("></A>(</TH><TD></TD><TD></TD></TR>
|
|
16110 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX193"><CODE>(</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16111 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC61">`<SAMP>( )</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC61">8.3 Grouping Operators</A></TD></TR>
|
|
16112 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16113 |
<TR><TH><A NAME="cp_)"></A>)</TH><TD></TD><TD></TD></TR>
|
|
16114 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX194"><CODE>)</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16115 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16116 |
<TR><TH><A NAME="cp_*"></A>*</TH><TD></TD><TD></TD></TR>
|
|
16117 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX144">`<SAMP>*</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16118 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX148">`<SAMP>**</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16119 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16120 |
<TR><TH><A NAME="cp_+"></A>+</TH><TD></TD><TD></TD></TR>
|
|
16121 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX140">`<SAMP>+</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16122 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16123 |
<TR><TH><A NAME="cp_-"></A>-</TH><TD></TD><TD></TD></TR>
|
|
16124 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX142">`<SAMP>-</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16125 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX150">`<SAMP>-</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16126 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16127 |
<TR><TH><A NAME="cp_."></A>.</TH><TD></TD><TD></TD></TR>
|
|
16128 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX55">`<SAMP>.</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16129 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX78">`<SAMP>.</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16130 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX127"><CODE>.</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16131 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16132 |
<TR><TH><A NAME="cp_/"></A>/</TH><TD></TD><TD></TD></TR>
|
|
16133 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX146">`<SAMP>/</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16134 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX23">`<TT>/pub/algorithms/c/julcal10</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16135 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX41">`<TT>/usr/local/bin/</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16136 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX42">`<TT>/usr/local/info/</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16137 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX40">`<TT>/usr/local/share/pspp/</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16138 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16139 |
<TR><TH><A NAME="cp_0"></A>0</TH><TD></TD><TD></TD></TR>
|
|
16140 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX71">0</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16141 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16142 |
<TR><TH><A NAME="cp_:"></A>:</TH><TD></TD><TD></TD></TR>
|
|
16143 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX134"><CODE>::=</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16144 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16145 |
<TR><TH><A NAME="cp_<"></A><</TH><TD></TD><TD></TD></TR>
|
|
16146 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX178"><CODE><</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16147 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX175"><CODE><=</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16148 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX189"><CODE><></CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16149 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16150 |
<TR><TH><A NAME="cp_="></A>=</TH><TD></TD><TD></TD></TR>
|
|
16151 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX172">`<SAMP>=</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16152 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16153 |
<TR><TH><A NAME="cp_>"></A>></TH><TD></TD><TD></TD></TR>
|
|
16154 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX184">`<SAMP>></SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16155 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX181"><CODE>>=</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16156 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16157 |
<TR><TH><A NAME="cp_["></A>[</TH><TD></TD><TD></TD></TR>
|
|
16158 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX84">`<SAMP>[ ]</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16159 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16160 |
<TR><TH><A NAME="cp_|"></A>|</TH><TD></TD><TD></TD></TR>
|
|
16161 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX162">`<SAMP>|</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16162 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16163 |
<TR><TH><A NAME="cp_~"></A>~</TH><TD></TD><TD></TD></TR>
|
|
16164 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX166">`<SAMP>~</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16165 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX188"><CODE>~=</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16166 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16167 |
<TR><TH><A NAME="cp_A"></A>A</TH><TD></TD><TD></TD></TR>
|
|
16168 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX202">absolute value</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16169 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX117">active file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16170 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX141">addition</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16171 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX157"><CODE>AND</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16172 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX212">arccosine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16173 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX216">arcsine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16174 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX222">arcsine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16175 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX219">arctangent</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16176 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX225">arctangent</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16177 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX308">arguments, invalid</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16178 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX336">arguments, invalid</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16179 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX246">arguments, minimum valid</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16180 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX335">arguments, of date construction functions</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16181 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX353">arguments, of date extraction functions</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16182 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC62">arithmetic operators</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16183 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC51">attributes of variables</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16184 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC3">authors</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16185 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16186 |
<TR><TH><A NAME="cp_B"></A>B</TH><TD></TD><TD></TD></TR>
|
|
16187 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC57">Backus-Naur Form</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16188 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC57">BNF</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16189 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC59">Boolean</A></TD><TD valign=top><A HREF="pspp.html#SEC59">8.1 Boolean values</A></TD></TR>
|
|
16190 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX154">Boolean</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16191 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16192 |
<TR><TH><A NAME="cp_C"></A>C</TH><TD></TD><TD></TD></TR>
|
|
16193 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX304">case conversion</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16194 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX51">case-sensitivity</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16195 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX64">case-sensitivity</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16196 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX16"><CITE>Cat's Cradle</CITE></A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16197 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX70">characters, reserved</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16198 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX248">coefficient of variation</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16199 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX111">command file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16200 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX44">command line, options</A></TD><TD valign=top><A HREF="pspp.html#SEC38">6. Invoking PSPP</A></TD></TR>
|
|
16201 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC57">command syntax, description of</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16202 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX85">commands, names</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16203 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC48">commands, ordering</A></TD><TD valign=top><A HREF="pspp.html#SEC48">7.4 Order of Commands</A></TD></TR>
|
|
16204 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX83">commands, structure</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16205 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX29">compiler, gcc</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16206 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX28">compiler, recommended</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16207 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX36">compiling</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16208 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX265">concatenation</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16209 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC147">conditionals</A></TD><TD valign=top><A HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A></TD></TR>
|
|
16210 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX33">`<TT>config.h</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16211 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC6">configuration</A></TD><TD valign=top><A HREF="pspp.html#SEC6">5. Configuring PSPP</A></TD></TR>
|
|
16212 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX30">configure, GNU</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16213 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC78">constructing dates</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16214 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC76">constructing times</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16215 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC147">control flow</A></TD><TD valign=top><A HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A></TD></TR>
|
|
16216 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC53">convention, TO</A></TD><TD valign=top><A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A></TD></TR>
|
|
16217 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX228">cosine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16218 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX20">Covington, Michael A.</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16219 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC3">credits</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16220 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX399">cross-case function</A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
16221 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16222 |
<TR><TH><A NAME="cp_D"></A>D</TH><TD></TD><TD></TD></TR>
|
|
16223 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC83">data</A></TD><TD valign=top><A HREF="pspp.html#SEC83">9. Data Input and Output</A></TD></TR>
|
|
16224 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX114">data file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16225 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC84">Data, embedding in syntax files</A></TD><TD valign=top><A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A></TD></TR>
|
|
16226 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC86">data, embedding in syntax files</A></TD><TD valign=top><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD></TR>
|
|
16227 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC87">data, fixed-format, reading</A></TD><TD valign=top><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD></TR>
|
|
16228 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC86">data, reading from a file</A></TD><TD valign=top><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD></TR>
|
|
16229 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC79">date examination</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16230 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX403">date, Julian</A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
16231 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC74">dates</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16232 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX312">dates, concepts</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16233 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC78">dates, constructing</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16234 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX366">dates, day of the month</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16235 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX393">dates, day of the week</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16236 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX363">dates, day of the year</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16237 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX338">dates, day-month-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16238 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX355">dates, in days</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16239 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX359">dates, in hours</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16240 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX369">dates, in minutes</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16241 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX373">dates, in months</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16242 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX376">dates, in quarters</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16243 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX379">dates, in seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16244 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX394">dates, in weekdays</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16245 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX389">dates, in weeks</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16246 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX397">dates, in years</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16247 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX307">dates, legal range of</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16248 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX316">dates, mathematical properties of</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16249 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX342">dates, month-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16250 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX345">dates, quarter-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16251 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX386">dates, time of day</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16252 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX348">dates, week-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16253 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX351">dates, year-day</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16254 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX365">day of the month</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16255 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX391">day of the week</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16256 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX362">day of the year</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16257 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX337">day-month-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16258 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX317">days</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16259 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX323">days</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16260 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX354">days</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16261 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX382">days</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16262 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX46">delimiters</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16263 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC57">description of command syntax</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16264 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX258">deviation, standard</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16265 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX13">distribution</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16266 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX147">division</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16267 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX43">documentation, installing</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16268 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX76">dot, terminal</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16269 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX87">dot, terminal</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16270 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX129">dot, terminal</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16271 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX80">dot, terminal, changing</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16272 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16273 |
<TR><TH><A NAME="cp_E"></A>E</TH><TD></TD><TD></TD></TR>
|
|
16274 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC84">Embedding data in syntax files</A></TD><TD valign=top><A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A></TD></TR>
|
|
16275 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC86">embedding data in syntax files</A></TD><TD valign=top><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD></TR>
|
|
16276 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC87">embedding fixed-format data</A></TD><TD valign=top><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD></TR>
|
|
16277 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX171"><CODE>EQ</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16278 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX169">equality, testing</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16279 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC77">examination, of times</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16280 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX149">exponentiation</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16281 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX133"><CODE>expression</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16282 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC58">expressions, mathematical</A></TD><TD valign=top><A HREF="pspp.html#SEC58">8. Mathematical Expressions</A></TD></TR>
|
|
16283 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC79">extraction, of dates</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16284 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC77">extraction, of time</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16285 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16286 |
<TR><TH><A NAME="cp_F"></A>F</TH><TD></TD><TD></TD></TR>
|
|
16287 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX153">false</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16288 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC81">features, not implemented</A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
16289 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX118">file, active</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16290 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX109">file, command</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16291 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX113">file, data</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16292 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX115">file, output</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16293 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX110">file, syntax file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16294 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX3">files, PSPP</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16295 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC87">fixed-format data, reading</A></TD><TD valign=top><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD></TR>
|
|
16296 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC147">flow of control</A></TD><TD valign=top><A HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A></TD></TR>
|
|
16297 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX8">Free Software Foundation</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16298 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX9">Free Software Foundation</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16299 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX22">`<TT>ftp.cdrom.com</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16300 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX400">function, cross-case</A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
16301 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC65">functions</A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16302 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC80">functions, miscellaneous</A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
16303 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC69">functions, missing-value</A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
16304 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC81">functions, not implemented</A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
16305 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC72">functions, statistical</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16306 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC73">functions, string</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16307 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC74">functions, time & date</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16308 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16309 |
<TR><TH><A NAME="cp_G"></A>G</TH><TD></TD><TD></TD></TR>
|
|
16310 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX27">gcc</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16311 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX180"><CODE>GE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16312 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX11">General Public License</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16313 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX7">Ghostscript</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16314 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX26">GNU C compiler</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16315 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX31">GNU configure</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16316 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX10">GNU General Public License</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16317 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX12">GPL</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16318 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX6">graphics</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16319 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX182">greater than</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16320 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX179">greater than or equal to</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16321 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC61">grouping operators</A></TD><TD valign=top><A HREF="pspp.html#SEC61">8.3 Grouping Operators</A></TD></TR>
|
|
16322 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX183"><CODE>GT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16323 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16324 |
<TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
|
|
16325 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX65">hexstrings</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16326 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX326">hours</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16327 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX358">hours</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16328 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX320">hours-minutes-seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16329 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16330 |
<TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
|
|
16331 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX48">identifiers</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16332 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX185">inequality, testing</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16333 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC83">input</A></TD><TD valign=top><A HREF="pspp.html#SEC83">9. Data Input and Output</A></TD></TR>
|
|
16334 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC4">installation</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16335 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX38">installation</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16336 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC5">installation, under UNIX</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16337 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX122"><CODE>integer</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16338 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX59">integers</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16339 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX159">intersection, logical</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16340 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC1">introduction</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16341 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX309">invalid arguments</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16342 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX213">inverse cosine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16343 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX217">inverse sine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16344 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX223">inverse sine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16345 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX220">inverse tangent</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16346 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX226">inverse tangent</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16347 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX167">inversion, logical</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16348 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC38">invocation</A></TD><TD valign=top><A HREF="pspp.html#SEC38">6. Invoking PSPP</A></TD></TR>
|
|
16349 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16350 |
<TR><TH><A NAME="cp_J"></A>J</TH><TD></TD><TD></TD></TR>
|
|
16351 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX24">`<TT>julcal.c</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16352 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX25">`<TT>julcal.h</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16353 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX404">Julian date</A></TD><TD valign=top><A HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A></TD></TR>
|
|
16354 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16355 |
<TR><TH><A NAME="cp_K"></A>K</TH><TD></TD><TD></TD></TR>
|
|
16356 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX52">keywords</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16357 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX119">keywords</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16358 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX53">keywords, reserved</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16359 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX239">Knuth</A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
16360 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16361 |
<TR><TH><A NAME="cp_L"></A>L</TH><TD></TD><TD></TD></TR>
|
|
16362 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX98">labels, value</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16363 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX96">labels, variable</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16364 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX82">language, command structure</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16365 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC45">language, lexical analysis</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16366 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX2">language, PSPP</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16367 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC44">language, PSPP</A></TD><TD valign=top><A HREF="pspp.html#SEC44">7. The PSPP language</A></TD></TR>
|
|
16368 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC45">language, tokens</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16369 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX174"><CODE>LE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16370 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX176">less than</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16371 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX173">less than or equal to</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16372 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC45">lexemes</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16373 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC45">lexical analysis</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16374 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC2">license</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16375 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX197">logarithms</A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
16376 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX160">logical intersection</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16377 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX168">logical inversion</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16378 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC63">logical operators</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16379 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX164">logical union</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16380 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC147">loops</A></TD><TD valign=top><A HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A></TD></TR>
|
|
16381 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX177"><CODE>LT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16382 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16383 |
<TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR>
|
|
16384 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX32">`<TT>Makefile</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16385 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX35">makefile</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16386 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC58">mathematical expressions</A></TD><TD valign=top><A HREF="pspp.html#SEC58">8. Mathematical Expressions</A></TD></TR>
|
|
16387 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX190">mathematics</A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16388 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC66">mathematics, advanced</A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
16389 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX315">mathematics, applied to times & dates</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16390 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC67">mathematics, miscellaneous</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16391 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX251">maximum</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16392 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX253">mean</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16393 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC71">membership, of set</A></TD><TD valign=top><A HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A></TD></TR>
|
|
16394 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX255">minimum</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16395 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX247">minimum valid number of arguments</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16396 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX15">Minton, Claire</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16397 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX329">minutes</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16398 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX368">minutes</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16399 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC49">missing values</A></TD><TD valign=top><A HREF="pspp.html#SEC49">7.5 Handling missing observations</A></TD></TR>
|
|
16400 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX93">missing values</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16401 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC69">missing values</A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
16402 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX204">modulus</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16403 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX206">modulus, by 10</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16404 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX341">month-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16405 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX372">months</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16406 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX145">multiplication</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16407 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16408 |
<TR><TH><A NAME="cp_N"></A>N</TH><TD></TD><TD></TD></TR>
|
|
16409 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX195">names, of functions</A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16410 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX50">names, variable</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16411 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX187"><CODE>NE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16412 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX151">negation</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16413 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX131">nonterminals</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16414 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX165"><CODE>NOT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16415 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC81">not implemented</A></TD><TD valign=top><A HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A></TD></TR>
|
|
16416 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX121"><CODE>number</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16417 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX58">numbers</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16418 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX282">numbers, converting from strings</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16419 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX298">numbers, converting to strings</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16420 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16421 |
<TR><TH><A NAME="cp_O"></A>O</TH><TD></TD><TD></TD></TR>
|
|
16422 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC2">obligations, your</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16423 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC82">operations, order of</A></TD><TD valign=top><A HREF="pspp.html#SEC82">8.8 Operator Precedence</A></TD></TR>
|
|
16424 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC82">operator precedence</A></TD><TD valign=top><A HREF="pspp.html#SEC82">8.8 Operator Precedence</A></TD></TR>
|
|
16425 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX74">operators</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16426 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX125">operators</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16427 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX191">operators</A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16428 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC62">operators, arithmetic</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16429 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC61">operators, grouping</A></TD><TD valign=top><A HREF="pspp.html#SEC61">8.3 Grouping Operators</A></TD></TR>
|
|
16430 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC63">operators, logical</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16431 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX45">options, command-line</A></TD><TD valign=top><A HREF="pspp.html#SEC38">6. Invoking PSPP</A></TD></TR>
|
|
16432 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX161"><CODE>OR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16433 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC48">order of commands</A></TD><TD valign=top><A HREF="pspp.html#SEC48">7.4 Order of Commands</A></TD></TR>
|
|
16434 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC82">order of operations</A></TD><TD valign=top><A HREF="pspp.html#SEC82">8.8 Operator Precedence</A></TD></TR>
|
|
16435 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC83">output</A></TD><TD valign=top><A HREF="pspp.html#SEC83">9. Data Input and Output</A></TD></TR>
|
|
16436 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX116">output file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16437 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX4">output, PSPP</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16438 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16439 |
<TR><TH><A NAME="cp_P"></A>P</TH><TD></TD><TD></TD></TR>
|
|
16440 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX289">padding strings</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16441 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC61">parentheses</A></TD><TD valign=top><A HREF="pspp.html#SEC61">8.3 Grouping Operators</A></TD></TR>
|
|
16442 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX192">parentheses</A></TD><TD valign=top><A HREF="pspp.html#SEC65">8.7 Functions</A></TD></TR>
|
|
16443 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX56">period</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16444 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX77">period</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16445 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX19">Pfaff, Ben</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16446 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX69">portability</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16447 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX5">PostScript</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16448 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC82">precedence, operator</A></TD><TD valign=top><A HREF="pspp.html#SEC82">8.8 Operator Precedence</A></TD></TR>
|
|
16449 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX34">`<TT>pref.h</TT>'</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16450 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX99">print format</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16451 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX130">productions</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16452 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX136">productions</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16453 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC70">pseudo-random numbers (see random numbers)</A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
16454 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX1">PSPP language</A></TD><TD valign=top><A HREF="pspp.html#SEC1">1. Introduction</A></TD></TR>
|
|
16455 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX81">PSPP, command structure</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16456 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC6">PSPP, configuring</A></TD><TD valign=top><A HREF="pspp.html#SEC6">5. Configuring PSPP</A></TD></TR>
|
|
16457 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC4">PSPP, installing</A></TD><TD valign=top><A HREF="pspp.html#SEC4">4. Installing PSPP</A></TD></TR>
|
|
16458 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX39">PSPP, installing</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16459 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC38">PSPP, invoking</A></TD><TD valign=top><A HREF="pspp.html#SEC38">6. Invoking PSPP</A></TD></TR>
|
|
16460 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC44">PSPP, language</A></TD><TD valign=top><A HREF="pspp.html#SEC44">7. The PSPP language</A></TD></TR>
|
|
16461 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX73">punctuation</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16462 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX126">punctuators</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16463 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16464 |
<TR><TH><A NAME="cp_Q"></A>Q</TH><TD></TD><TD></TD></TR>
|
|
16465 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX344">quarter-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16466 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX375">quarters</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16467 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX18">quotations</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16468 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16469 |
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
|
|
16470 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC70">random numbers</A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
16471 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX240">random numbers, normally-distributed</A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
16472 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX242">random numbers, uniformly-distributed</A></TD><TD valign=top><A HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A></TD></TR>
|
|
16473 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC86">reading data from a file</A></TD><TD valign=top><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD></TR>
|
|
16474 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC87">reading fixed-format data</A></TD><TD valign=top><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD></TR>
|
|
16475 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX60">reals</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16476 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX14">redistribution</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16477 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX54">reserved keywords</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16478 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC2">rights, your</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16479 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX208">rounding</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16480 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16481 |
<TR><TH><A NAME="cp_S"></A>S</TH><TD></TD><TD></TD></TR>
|
|
16482 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX268">searching strings</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16483 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX332">seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16484 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX378">seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16485 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX37">self-tests, running</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16486 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC71">set membership</A></TD><TD valign=top><A HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A></TD></TR>
|
|
16487 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX230">sine</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16488 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX200">square roots</A></TD><TD valign=top><A HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A></TD></TR>
|
|
16489 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX257">standard deviation</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16490 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX138">start symbol</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16491 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC72">statistics</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16492 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX123"><CODE>string</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16493 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC73">string functions</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16494 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX61">strings</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16495 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX273">strings, case of</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16496 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX305">strings, case of</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16497 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX266">strings, concatenation of</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16498 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX297">strings, converting from numbers</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16499 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX283">strings, converting to numbers</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16500 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX271">strings, finding length of</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16501 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX275">strings, padding</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16502 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX290">strings, padding</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16503 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX286">strings, searching backwards</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16504 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX301">strings, taking substrings of</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16505 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX278">strings, trimming</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16506 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX293">strings, trimming</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16507 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX86">subcommands</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16508 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX300">substrings</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16509 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX143">subtraction</A></TD><TD valign=top><A HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A></TD></TR>
|
|
16510 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX260">sum</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16511 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX139">symbol, start</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16512 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX112">syntax file</A></TD><TD valign=top><A HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A></TD></TR>
|
|
16513 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC52">system variables</A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16514 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX156">system-missing</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16515 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16516 |
<TR><TH><A NAME="cp_T"></A>T</TH><TD></TD><TD></TD></TR>
|
|
16517 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX232">tangent</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16518 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX75">terminal dot</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16519 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX88">terminal dot</A></TD><TD valign=top><A HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A></TD></TR>
|
|
16520 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX128">terminal dot</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16521 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX79">terminal dot, changing</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16522 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX120">terminals</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16523 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX137">terminals and nonterminals, differences</A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16524 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX170">testing for equality</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16525 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX186">testing for inequality</A></TD><TD valign=top><A HREF="pspp.html#SEC64">8.6 Relational Operators</A></TD></TR>
|
|
16526 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX385">time</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16527 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC77">time examination</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16528 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX310">time, concepts</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16529 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX318">time, in days</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16530 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX324">time, in days</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16531 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX356">time, in days</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16532 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX327">time, in hours</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16533 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX360">time, in hours</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16534 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX321">time, in hours-minutes-seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16535 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX330">time, in minutes</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16536 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX370">time, in minutes</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16537 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX333">time, in seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16538 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX380">time, in seconds</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16539 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX313">time, instants of</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16540 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX311">time, intervals</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16541 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC77">time, lengths of</A></TD><TD valign=top><A HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A></TD></TR>
|
|
16542 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX314">time, mathematical properties of</A></TD><TD valign=top><A HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A></TD></TR>
|
|
16543 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC74">times</A></TD><TD valign=top><A HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A></TD></TR>
|
|
16544 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC76">times, constructing</A></TD><TD valign=top><A HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A></TD></TR>
|
|
16545 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX383">times, in days</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16546 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX108"><CODE>TO</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A></TD></TR>
|
|
16547 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC53">TO convention</A></TD><TD valign=top><A HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A></TD></TR>
|
|
16548 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC45">tokens</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16549 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC68">trigonometry</A></TD><TD valign=top><A HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A></TD></TR>
|
|
16550 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX152">true</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16551 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX210">truncation</A></TD><TD valign=top><A HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A></TD></TR>
|
|
16552 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX90">type of variables</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16553 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16554 |
<TR><TH><A NAME="cp_U"></A>U</TH><TD></TD><TD></TD></TR>
|
|
16555 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX163">union, logical</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16556 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC5">UNIX, installing PSPP under</A></TD><TD valign=top><A HREF="pspp.html#SEC5">4.1 UNIX installation</A></TD></TR>
|
|
16557 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16558 |
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
|
|
16559 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX97">value labels</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16560 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC59">values, Boolean</A></TD><TD valign=top><A HREF="pspp.html#SEC59">8.1 Boolean values</A></TD></TR>
|
|
16561 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC49">values, missing</A></TD><TD valign=top><A HREF="pspp.html#SEC49">7.5 Handling missing observations</A></TD></TR>
|
|
16562 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX94">values, missing</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16563 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC69">values, missing</A></TD><TD valign=top><A HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A></TD></TR>
|
|
16564 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX155">values, system-missing</A></TD><TD valign=top><A HREF="pspp.html#SEC63">8.5 Logical Operators</A></TD></TR>
|
|
16565 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX21">Van Zandt, James</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16566 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX132"><CODE>var-list</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16567 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX124"><CODE>var-name</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A></TD></TR>
|
|
16568 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX95">variable labels</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16569 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX49">variable names</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16570 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX57">variable names, ending with period</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16571 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC50">variables</A></TD><TD valign=top><A HREF="pspp.html#SEC50">7.6 Variables</A></TD></TR>
|
|
16572 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC51">variables, attributes of</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16573 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC52">variables, system</A></TD><TD valign=top><A HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A></TD></TR>
|
|
16574 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX89">variables, type</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16575 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX91">variables, width</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16576 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX262">variance</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16577 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX249">variation, coefficient of</A></TD><TD valign=top><A HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A></TD></TR>
|
|
16578 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX17">Vonnegut, Kurt, Jr.</A></TD><TD valign=top><A HREF="pspp.html#SEC3">3. Credits</A></TD></TR>
|
|
16579 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16580 |
<TR><TH><A NAME="cp_W"></A>W</TH><TD></TD><TD></TD></TR>
|
|
16581 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX388">week</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16582 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX347">week-year</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16583 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX392">weekday</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16584 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX47">whitespace</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16585 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX68">whitespace</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16586 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX72">whitespace</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16587 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX279">whitespace, trimming</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16588 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX294">whitespace, trimming</A></TD><TD valign=top><A HREF="pspp.html#SEC73">8.7.8 String Functions</A></TD></TR>
|
|
16589 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX92">width of variables</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16590 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX100">write format</A></TD><TD valign=top><A HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A></TD></TR>
|
|
16591 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16592 |
<TR><TH><A NAME="cp_X"></A>X</TH><TD></TD><TD></TD></TR>
|
|
16593 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX66">`<SAMP>X'</SAMP>'</A></TD><TD valign=top><A HREF="pspp.html#SEC45">7.1 Tokens</A></TD></TR>
|
|
16594 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16595 |
<TR><TH><A NAME="cp_Y"></A>Y</TH><TD></TD><TD></TD></TR>
|
|
16596 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX350">year-day</A></TD><TD valign=top><A HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A></TD></TR>
|
|
16597 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#IDX396">years</A></TD><TD valign=top><A HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A></TD></TR>
|
|
16598 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC2">your rights and obligations</A></TD><TD valign=top><A HREF="pspp.html#SEC2">2. Your rights and obligations</A></TD></TR>
|
|
16599 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16600 |
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#cp_"" style="text-decoration:none"><b>"</b></A>
|
|
16601 |
|
|
16602 |
<A HREF="pspp.html#cp_$" style="text-decoration:none"><b>$</b></A>
|
|
16603 |
|
|
16604 |
<A HREF="pspp.html#cp_&" style="text-decoration:none"><b>&</b></A>
|
|
16605 |
|
|
16606 |
<A HREF="pspp.html#cp_'" style="text-decoration:none"><b>'</b></A>
|
|
16607 |
|
|
16608 |
<A HREF="pspp.html#cp_(" style="text-decoration:none"><b>(</b></A>
|
|
16609 |
|
|
16610 |
<A HREF="pspp.html#cp_)" style="text-decoration:none"><b>)</b></A>
|
|
16611 |
|
|
16612 |
<A HREF="pspp.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
|
16613 |
|
|
16614 |
<A HREF="pspp.html#cp_+" style="text-decoration:none"><b>+</b></A>
|
|
16615 |
|
|
16616 |
<A HREF="pspp.html#cp_-" style="text-decoration:none"><b>-</b></A>
|
|
16617 |
|
|
16618 |
<A HREF="pspp.html#cp_." style="text-decoration:none"><b>.</b></A>
|
|
16619 |
|
|
16620 |
<A HREF="pspp.html#cp_/" style="text-decoration:none"><b>/</b></A>
|
|
16621 |
|
|
16622 |
<A HREF="pspp.html#cp_0" style="text-decoration:none"><b>0</b></A>
|
|
16623 |
|
|
16624 |
<A HREF="pspp.html#cp_:" style="text-decoration:none"><b>:</b></A>
|
|
16625 |
|
|
16626 |
<A HREF="pspp.html#cp_<" style="text-decoration:none"><b><</b></A>
|
|
16627 |
|
|
16628 |
<A HREF="pspp.html#cp_=" style="text-decoration:none"><b>=</b></A>
|
|
16629 |
|
|
16630 |
<A HREF="pspp.html#cp_>" style="text-decoration:none"><b>></b></A>
|
|
16631 |
|
|
16632 |
<A HREF="pspp.html#cp_[" style="text-decoration:none"><b>[</b></A>
|
|
16633 |
|
|
16634 |
<A HREF="pspp.html#cp_|" style="text-decoration:none"><b>|</b></A>
|
|
16635 |
|
|
16636 |
<A HREF="pspp.html#cp_~" style="text-decoration:none"><b>~</b></A>
|
|
16637 |
|
|
16638 |
<BR>
|
|
16639 |
<A HREF="pspp.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
|
16640 |
|
|
16641 |
<A HREF="pspp.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
|
16642 |
|
|
16643 |
<A HREF="pspp.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
|
16644 |
|
|
16645 |
<A HREF="pspp.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
|
16646 |
|
|
16647 |
<A HREF="pspp.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
|
16648 |
|
|
16649 |
<A HREF="pspp.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
|
16650 |
|
|
16651 |
<A HREF="pspp.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
|
16652 |
|
|
16653 |
<A HREF="pspp.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
|
16654 |
|
|
16655 |
<A HREF="pspp.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
|
16656 |
|
|
16657 |
<A HREF="pspp.html#cp_J" style="text-decoration:none"><b>J</b></A>
|
|
16658 |
|
|
16659 |
<A HREF="pspp.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
|
16660 |
|
|
16661 |
<A HREF="pspp.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
|
16662 |
|
|
16663 |
<A HREF="pspp.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
|
16664 |
|
|
16665 |
<A HREF="pspp.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
|
16666 |
|
|
16667 |
<A HREF="pspp.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
|
16668 |
|
|
16669 |
<A HREF="pspp.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
|
16670 |
|
|
16671 |
<A HREF="pspp.html#cp_Q" style="text-decoration:none"><b>Q</b></A>
|
|
16672 |
|
|
16673 |
<A HREF="pspp.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
|
16674 |
|
|
16675 |
<A HREF="pspp.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
|
16676 |
|
|
16677 |
<A HREF="pspp.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
|
16678 |
|
|
16679 |
<A HREF="pspp.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
|
16680 |
|
|
16681 |
<A HREF="pspp.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
|
16682 |
|
|
16683 |
<A HREF="pspp.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
|
16684 |
|
|
16685 |
<A HREF="pspp.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
|
16686 |
|
|
16687 |
<A HREF="pspp.html#cp_Y" style="text-decoration:none"><b>Y</b></A>
|
|
16688 |
|
|
16689 |
</td></tr></table><P>
|
|
16690 |
|
|
16691 |
<A NAME="Command Index"></A>
|
|
16692 |
<HR SIZE="6">
|
|
16693 |
<A NAME="SEC200"></A>
|
|
16694 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
16695 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC199"> < </A>]</TD>
|
|
16696 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ > ]</TD>
|
|
16697 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC199"> << </A>]</TD>
|
|
16698 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> Up </A>]</TD>
|
|
16699 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top"> >> </A>]</TD>
|
|
16700 |
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
16701 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
16702 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
16703 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
16704 |
</TR></TABLE>
|
|
16705 |
<H1> 24. Command Index </H1>
|
|
16706 |
<!--docid::SEC200::-->
|
|
16707 |
<table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#vr_*" style="text-decoration:none"><b>*</b></A>
|
|
16708 |
|
|
16709 |
<A HREF="pspp.html#vr_@" style="text-decoration:none"><b>@</b></A>
|
|
16710 |
|
|
16711 |
<BR>
|
|
16712 |
<A HREF="pspp.html#vr_A" style="text-decoration:none"><b>A</b></A>
|
|
16713 |
|
|
16714 |
<A HREF="pspp.html#vr_B" style="text-decoration:none"><b>B</b></A>
|
|
16715 |
|
|
16716 |
<A HREF="pspp.html#vr_C" style="text-decoration:none"><b>C</b></A>
|
|
16717 |
|
|
16718 |
<A HREF="pspp.html#vr_D" style="text-decoration:none"><b>D</b></A>
|
|
16719 |
|
|
16720 |
<A HREF="pspp.html#vr_E" style="text-decoration:none"><b>E</b></A>
|
|
16721 |
|
|
16722 |
<A HREF="pspp.html#vr_F" style="text-decoration:none"><b>F</b></A>
|
|
16723 |
|
|
16724 |
<A HREF="pspp.html#vr_G" style="text-decoration:none"><b>G</b></A>
|
|
16725 |
|
|
16726 |
<A HREF="pspp.html#vr_I" style="text-decoration:none"><b>I</b></A>
|
|
16727 |
|
|
16728 |
<A HREF="pspp.html#vr_L" style="text-decoration:none"><b>L</b></A>
|
|
16729 |
|
|
16730 |
<A HREF="pspp.html#vr_M" style="text-decoration:none"><b>M</b></A>
|
|
16731 |
|
|
16732 |
<A HREF="pspp.html#vr_N" style="text-decoration:none"><b>N</b></A>
|
|
16733 |
|
|
16734 |
<A HREF="pspp.html#vr_P" style="text-decoration:none"><b>P</b></A>
|
|
16735 |
|
|
16736 |
<A HREF="pspp.html#vr_Q" style="text-decoration:none"><b>Q</b></A>
|
|
16737 |
|
|
16738 |
<A HREF="pspp.html#vr_R" style="text-decoration:none"><b>R</b></A>
|
|
16739 |
|
|
16740 |
<A HREF="pspp.html#vr_S" style="text-decoration:none"><b>S</b></A>
|
|
16741 |
|
|
16742 |
<A HREF="pspp.html#vr_T" style="text-decoration:none"><b>T</b></A>
|
|
16743 |
|
|
16744 |
<A HREF="pspp.html#vr_V" style="text-decoration:none"><b>V</b></A>
|
|
16745 |
|
|
16746 |
<A HREF="pspp.html#vr_W" style="text-decoration:none"><b>W</b></A>
|
|
16747 |
|
|
16748 |
<A HREF="pspp.html#vr_X" style="text-decoration:none"><b>X</b></A>
|
|
16749 |
|
|
16750 |
</td></tr></table><P></P>
|
|
16751 |
<TABLE border=0>
|
|
16752 |
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
|
16753 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16754 |
<TR><TH><A NAME="vr_*"></A>*</TH><TD></TD><TD></TD></TR>
|
|
16755 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC157"><CODE>*</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC157">16.1 COMMENT</A></TD></TR>
|
|
16756 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16757 |
<TR><TH><A NAME="vr_@"></A>@</TH><TD></TD><TD></TD></TR>
|
|
16758 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC164"><CODE>@</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC164">16.8 INCLUDE</A></TD></TR>
|
|
16759 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16760 |
<TR><TH><A NAME="vr_A"></A>A</TH><TD></TD><TD></TD></TR>
|
|
16761 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC114"><CODE>ADD VALUE LABELS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC114">11.1 ADD VALUE LABELS</A></TD></TR>
|
|
16762 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC130"><CODE>AGGREGATE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC130">12.1 AGGREGATE</A></TD></TR>
|
|
16763 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC105"><CODE>APPLY DICTIONARY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC105">10.1 APPLY DICTIONARY</A></TD></TR>
|
|
16764 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC131"><CODE>AUTORECODE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC131">12.2 AUTORECODE</A></TD></TR>
|
|
16765 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16766 |
<TR><TH><A NAME="vr_B"></A>B</TH><TD></TD><TD></TD></TR>
|
|
16767 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC84"><CODE>BEGIN DATA</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A></TD></TR>
|
|
16768 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC148"><CODE>BREAK</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC148">14.1 BREAK</A></TD></TR>
|
|
16769 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16770 |
<TR><TH><A NAME="vr_C"></A>C</TH><TD></TD><TD></TD></TR>
|
|
16771 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC85"><CODE>CLEAR TRANSFORMATIONS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC85">9.2 CLEAR TRANSFORMATIONS</A></TD></TR>
|
|
16772 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC157"><CODE>COMMENT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC157">16.1 COMMENT</A></TD></TR>
|
|
16773 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16774 |
<TR><TH><A NAME="vr_D"></A>D</TH><TD></TD><TD></TD></TR>
|
|
16775 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC86"><CODE>DATA LIST</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC86">9.3 DATA LIST</A></TD></TR>
|
|
16776 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC87"><CODE>DATA LIST FIXED</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A></TD></TR>
|
|
16777 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC89"><CODE>DATA LIST FREE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC89">9.3.2 DATA LIST FREE</A></TD></TR>
|
|
16778 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC90"><CODE>DATA LIST LIST</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC90">9.3.3 DATA LIST LIST</A></TD></TR>
|
|
16779 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC115"><CODE>DISPLAY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC115">11.2 DISPLAY</A></TD></TR>
|
|
16780 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC159"><CODE>DISPLAY DOCUMENTS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC159">16.3 DISPLAY DOCUMENTS</A></TD></TR>
|
|
16781 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC160"><CODE>DISPLAY FILE LABEL</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC160">16.4 DISPLAY FILE LABEL</A></TD></TR>
|
|
16782 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC116"><CODE>DISPLAY VECTORS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC116">11.3 DISPLAY VECTORS</A></TD></TR>
|
|
16783 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC149"><CODE>DO IF</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC149">14.2 DO IF</A></TD></TR>
|
|
16784 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC150"><CODE>DO REPEAT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC150">14.3 DO REPEAT</A></TD></TR>
|
|
16785 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC158"><CODE>DOCUMENT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC158">16.2 DOCUMENT</A></TD></TR>
|
|
16786 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC161"><CODE>DROP DOCUMENTS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC161">16.5 DROP DOCUMENTS</A></TD></TR>
|
|
16787 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16788 |
<TR><TH><A NAME="vr_E"></A>E</TH><TD></TD><TD></TD></TR>
|
|
16789 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC91"><CODE>END CASE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC91">9.4 END CASE</A></TD></TR>
|
|
16790 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC84"><CODE>END DATA</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC84">9.1 BEGIN DATA</A></TD></TR>
|
|
16791 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC92"><CODE>END FILE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC92">9.5 END FILE</A></TD></TR>
|
|
16792 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC162"><CODE>EXECUTE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC162">16.6 EXECUTE</A></TD></TR>
|
|
16793 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC106"><CODE>EXPORT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC106">10.2 EXPORT</A></TD></TR>
|
|
16794 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16795 |
<TR><TH><A NAME="vr_F"></A>F</TH><TD></TD><TD></TD></TR>
|
|
16796 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC93"><CODE>FILE HANDLE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC93">9.6 FILE HANDLE</A></TD></TR>
|
|
16797 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC163"><CODE>FILE LABEL</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC163">16.7 FILE LABEL</A></TD></TR>
|
|
16798 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC139"><CODE>FILTER</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC139">13.1 FILTER</A></TD></TR>
|
|
16799 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC134"><CODE>FLIP</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC134">12.5 FLIP</A></TD></TR>
|
|
16800 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC117"><CODE>FORMATS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC117">11.4 FORMATS</A></TD></TR>
|
|
16801 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16802 |
<TR><TH><A NAME="vr_G"></A>G</TH><TD></TD><TD></TD></TR>
|
|
16803 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC107"><CODE>GET</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC107">10.3 GET</A></TD></TR>
|
|
16804 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16805 |
<TR><TH><A NAME="vr_I"></A>I</TH><TD></TD><TD></TD></TR>
|
|
16806 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC108"><CODE>IMPORT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC108">10.4 IMPORT</A></TD></TR>
|
|
16807 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC164"><CODE>INCLUDE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC164">16.8 INCLUDE</A></TD></TR>
|
|
16808 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC94"><CODE>INPUT PROGRAM</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A></TD></TR>
|
|
16809 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16810 |
<TR><TH><A NAME="vr_L"></A>L</TH><TD></TD><TD></TD></TR>
|
|
16811 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC118"><CODE>LEAVE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC118">11.5 LEAVE</A></TD></TR>
|
|
16812 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC95"><CODE>LIST</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC95">9.8 LIST</A></TD></TR>
|
|
16813 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC151"><CODE>LOOP</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC151">14.4 LOOP</A></TD></TR>
|
|
16814 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16815 |
<TR><TH><A NAME="vr_M"></A>M</TH><TD></TD><TD></TD></TR>
|
|
16816 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC109"><CODE>MATCH FILES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC109">10.5 MATCH FILES</A></TD></TR>
|
|
16817 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC96"><CODE>MATRIX DATA</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC96">9.9 MATRIX DATA</A></TD></TR>
|
|
16818 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC119"><CODE>MISSING VALUES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC119">11.6 MISSING VALUES</A></TD></TR>
|
|
16819 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC120"><CODE>MODIFY VARS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC120">11.7 MODIFY VARS</A></TD></TR>
|
|
16820 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16821 |
<TR><TH><A NAME="vr_N"></A>N</TH><TD></TD><TD></TD></TR>
|
|
16822 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC140"><CODE>N OF CASES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC140">13.2 N OF CASES</A></TD></TR>
|
|
16823 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC97"><CODE>NEW FILE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC97">9.10 NEW FILE</A></TD></TR>
|
|
16824 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC121"><CODE>NUMERIC</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC121">11.8 NUMERIC</A></TD></TR>
|
|
16825 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16826 |
<TR><TH><A NAME="vr_P"></A>P</TH><TD></TD><TD></TD></TR>
|
|
16827 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC98"><CODE>PRINT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC98">9.11 PRINT</A></TD></TR>
|
|
16828 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC99"><CODE>PRINT EJECT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC99">9.12 PRINT EJECT</A></TD></TR>
|
|
16829 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC122"><CODE>PRINT FORMATS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC122">11.9 PRINT FORMATS</A></TD></TR>
|
|
16830 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC100"><CODE>PRINT SPACE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC100">9.13 PRINT SPACE</A></TD></TR>
|
|
16831 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC141"><CODE>PROCESS IF</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC141">13.3 PROCESS IF</A></TD></TR>
|
|
16832 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16833 |
<TR><TH><A NAME="vr_Q"></A>Q</TH><TD></TD><TD></TD></TR>
|
|
16834 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC165"><CODE>QUIT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC165">16.9 QUIT</A></TD></TR>
|
|
16835 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16836 |
<TR><TH><A NAME="vr_R"></A>R</TH><TD></TD><TD></TD></TR>
|
|
16837 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC123"><CODE>RENAME VARIABLES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC123">11.10 RENAME VARIABLES</A></TD></TR>
|
|
16838 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC102"><CODE>REPEATING DATA</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC102">9.15 REPEATING DATA</A></TD></TR>
|
|
16839 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC101"><CODE>REREAD</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC101">9.14 REREAD</A></TD></TR>
|
|
16840 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16841 |
<TR><TH><A NAME="vr_S"></A>S</TH><TD></TD><TD></TD></TR>
|
|
16842 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC142"><CODE>SAMPLE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC142">13.4 SAMPLE</A></TD></TR>
|
|
16843 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC110"><CODE>SAVE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC110">10.6 SAVE</A></TD></TR>
|
|
16844 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC143"><CODE>SELECT IF</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC143">13.5 SELECT IF</A></TD></TR>
|
|
16845 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC166"><CODE>SET</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC166">16.10 SET</A></TD></TR>
|
|
16846 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC137"><CODE>SORT CASES</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC137">12.8 SORT CASES</A></TD></TR>
|
|
16847 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC144"><CODE>SPLIT FILE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC144">13.6 SPLIT FILE</A></TD></TR>
|
|
16848 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC125"><CODE>STRING</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC125">11.12 STRING</A></TD></TR>
|
|
16849 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC167"><CODE>SUBTITLE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC167">16.11 SUBTITLE</A></TD></TR>
|
|
16850 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC111"><CODE>SYSFILE INFO</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC111">10.7 SYSFILE INFO</A></TD></TR>
|
|
16851 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16852 |
<TR><TH><A NAME="vr_T"></A>T</TH><TD></TD><TD></TD></TR>
|
|
16853 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC145"><CODE>TEMPORARY</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC145">13.7 TEMPORARY</A></TD></TR>
|
|
16854 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC168"><CODE>TITLE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC168">16.12 TITLE</A></TD></TR>
|
|
16855 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16856 |
<TR><TH><A NAME="vr_V"></A>V</TH><TD></TD><TD></TD></TR>
|
|
16857 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC124"><CODE>VALUE LABELS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC124">11.11 VALUE LABELS</A></TD></TR>
|
|
16858 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC126"><CODE>VARIABLE LABELS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC126">11.13 VARIABLE LABELS</A></TD></TR>
|
|
16859 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC127"><CODE>VECTOR</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC127">11.14 VECTOR</A></TD></TR>
|
|
16860 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16861 |
<TR><TH><A NAME="vr_W"></A>W</TH><TD></TD><TD></TD></TR>
|
|
16862 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC146"><CODE>WEIGHT</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC146">13.8 WEIGHT</A></TD></TR>
|
|
16863 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC103"><CODE>WRITE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC103">9.16 WRITE</A></TD></TR>
|
|
16864 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC128"><CODE>WRITE FORMATS</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC128">11.15 WRITE FORMATS</A></TD></TR>
|
|
16865 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16866 |
<TR><TH><A NAME="vr_X"></A>X</TH><TD></TD><TD></TD></TR>
|
|
16867 |
<TR><TD></TD><TD valign=top><A HREF="pspp.html#SEC112"><CODE>XSAVE</CODE></A></TD><TD valign=top><A HREF="pspp.html#SEC112">10.8 XSAVE</A></TD></TR>
|
|
16868 |
<TR><TD COLSPAN=3> <HR></TD></TR>
|
|
16869 |
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="pspp.html#vr_*" style="text-decoration:none"><b>*</b></A>
|
|
16870 |
|
|
16871 |
<A HREF="pspp.html#vr_@" style="text-decoration:none"><b>@</b></A>
|
|
16872 |
|
|
16873 |
<BR>
|
|
16874 |
<A HREF="pspp.html#vr_A" style="text-decoration:none"><b>A</b></A>
|
|
16875 |
|
|
16876 |
<A HREF="pspp.html#vr_B" style="text-decoration:none"><b>B</b></A>
|
|
16877 |
|
|
16878 |
<A HREF="pspp.html#vr_C" style="text-decoration:none"><b>C</b></A>
|
|
16879 |
|
|
16880 |
<A HREF="pspp.html#vr_D" style="text-decoration:none"><b>D</b></A>
|
|
16881 |
|
|
16882 |
<A HREF="pspp.html#vr_E" style="text-decoration:none"><b>E</b></A>
|
|
16883 |
|
|
16884 |
<A HREF="pspp.html#vr_F" style="text-decoration:none"><b>F</b></A>
|
|
16885 |
|
|
16886 |
<A HREF="pspp.html#vr_G" style="text-decoration:none"><b>G</b></A>
|
|
16887 |
|
|
16888 |
<A HREF="pspp.html#vr_I" style="text-decoration:none"><b>I</b></A>
|
|
16889 |
|
|
16890 |
<A HREF="pspp.html#vr_L" style="text-decoration:none"><b>L</b></A>
|
|
16891 |
|
|
16892 |
<A HREF="pspp.html#vr_M" style="text-decoration:none"><b>M</b></A>
|
|
16893 |
|
|
16894 |
<A HREF="pspp.html#vr_N" style="text-decoration:none"><b>N</b></A>
|
|
16895 |
|
|
16896 |
<A HREF="pspp.html#vr_P" style="text-decoration:none"><b>P</b></A>
|
|
16897 |
|
|
16898 |
<A HREF="pspp.html#vr_Q" style="text-decoration:none"><b>Q</b></A>
|
|
16899 |
|
|
16900 |
<A HREF="pspp.html#vr_R" style="text-decoration:none"><b>R</b></A>
|
|
16901 |
|
|
16902 |
<A HREF="pspp.html#vr_S" style="text-decoration:none"><b>S</b></A>
|
|
16903 |
|
|
16904 |
<A HREF="pspp.html#vr_T" style="text-decoration:none"><b>T</b></A>
|
|
16905 |
|
|
16906 |
<A HREF="pspp.html#vr_V" style="text-decoration:none"><b>V</b></A>
|
|
16907 |
|
|
16908 |
<A HREF="pspp.html#vr_W" style="text-decoration:none"><b>W</b></A>
|
|
16909 |
|
|
16910 |
<A HREF="pspp.html#vr_X" style="text-decoration:none"><b>X</b></A>
|
|
16911 |
|
|
16912 |
</td></tr></table><P>
|
|
16913 |
|
|
16914 |
<HR SIZE="6">
|
|
16915 |
<A NAME="pspp.html"></A>
|
|
16916 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
16917 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
16918 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
16919 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
16920 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
16921 |
</TR></TABLE>
|
|
16922 |
<H1>Footnotes</H1>
|
|
16923 |
<H3><A NAME="FOOT1" HREF="pspp.html#DOCF1">(1)</A></H3>
|
|
16924 |
<P>Do What I Mean
|
|
16925 |
<HR SIZE=1>
|
|
16926 |
<A NAME="SEC_Contents"></A>
|
|
16927 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
16928 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
16929 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
16930 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
16931 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
16932 |
</TR></TABLE>
|
|
16933 |
<H1>Table of Contents</H1>
|
|
16934 |
<BLOCKQUOTE>
|
|
16935 |
<A NAME="TOC1" HREF="pspp.html#SEC1">1. Introduction</A>
|
|
16936 |
<BR>
|
|
16937 |
<A NAME="TOC2" HREF="pspp.html#SEC2">2. Your rights and obligations</A>
|
|
16938 |
<BR>
|
|
16939 |
<A NAME="TOC3" HREF="pspp.html#SEC3">3. Credits</A>
|
|
16940 |
<BR>
|
|
16941 |
<A NAME="TOC4" HREF="pspp.html#SEC4">4. Installing PSPP</A>
|
|
16942 |
<BR>
|
|
16943 |
<BLOCKQUOTE>
|
|
16944 |
<A NAME="TOC5" HREF="pspp.html#SEC5">4.1 UNIX installation</A>
|
|
16945 |
<BR>
|
|
16946 |
</BLOCKQUOTE>
|
|
16947 |
<A NAME="TOC6" HREF="pspp.html#SEC6">5. Configuring PSPP</A>
|
|
16948 |
<BR>
|
|
16949 |
<BLOCKQUOTE>
|
|
16950 |
<A NAME="TOC7" HREF="pspp.html#SEC7">5.1 Locating configuration files</A>
|
|
16951 |
<BR>
|
|
16952 |
<A NAME="TOC8" HREF="pspp.html#SEC8">5.2 Configuration techniques</A>
|
|
16953 |
<BR>
|
|
16954 |
<A NAME="TOC9" HREF="pspp.html#SEC9">5.3 Configuration files</A>
|
|
16955 |
<BR>
|
|
16956 |
<A NAME="TOC10" HREF="pspp.html#SEC10">5.4 Environment variables</A>
|
|
16957 |
<BR>
|
|
16958 |
<BLOCKQUOTE>
|
|
16959 |
<A NAME="TOC11" HREF="pspp.html#SEC11">5.4.1 Values of environment variables</A>
|
|
16960 |
<BR>
|
|
16961 |
<A NAME="TOC12" HREF="pspp.html#SEC12">5.4.2 Environment substitutions</A>
|
|
16962 |
<BR>
|
|
16963 |
<A NAME="TOC13" HREF="pspp.html#SEC13">5.4.3 Predefined environment variables</A>
|
|
16964 |
<BR>
|
|
16965 |
</BLOCKQUOTE>
|
|
16966 |
<A NAME="TOC14" HREF="pspp.html#SEC14">5.5 Output devices</A>
|
|
16967 |
<BR>
|
|
16968 |
<BLOCKQUOTE>
|
|
16969 |
<A NAME="TOC15" HREF="pspp.html#SEC15">5.5.1 Driver categories</A>
|
|
16970 |
<BR>
|
|
16971 |
<A NAME="TOC16" HREF="pspp.html#SEC16">5.5.2 Macro definitions</A>
|
|
16972 |
<BR>
|
|
16973 |
<A NAME="TOC17" HREF="pspp.html#SEC17">5.5.3 Driver definitions</A>
|
|
16974 |
<BR>
|
|
16975 |
<A NAME="TOC18" HREF="pspp.html#SEC18">5.5.4 Dimensions</A>
|
|
16976 |
<BR>
|
|
16977 |
<A NAME="TOC19" HREF="pspp.html#SEC19">5.5.5 Paper sizes</A>
|
|
16978 |
<BR>
|
|
16979 |
<A NAME="TOC20" HREF="pspp.html#SEC20">5.5.6 How lines are divided into types</A>
|
|
16980 |
<BR>
|
|
16981 |
<A NAME="TOC21" HREF="pspp.html#SEC21">5.5.7 How lines are divided into tokens</A>
|
|
16982 |
<BR>
|
|
16983 |
</BLOCKQUOTE>
|
|
16984 |
<A NAME="TOC22" HREF="pspp.html#SEC22">5.6 The PostScript driver class</A>
|
|
16985 |
<BR>
|
|
16986 |
<BLOCKQUOTE>
|
|
16987 |
<A NAME="TOC23" HREF="pspp.html#SEC23">5.6.1 PostScript output options</A>
|
|
16988 |
<BR>
|
|
16989 |
<A NAME="TOC24" HREF="pspp.html#SEC24">5.6.2 PostScript page options</A>
|
|
16990 |
<BR>
|
|
16991 |
<A NAME="TOC25" HREF="pspp.html#SEC25">5.6.3 PostScript file options</A>
|
|
16992 |
<BR>
|
|
16993 |
<A NAME="TOC26" HREF="pspp.html#SEC26">5.6.4 PostScript font options</A>
|
|
16994 |
<BR>
|
|
16995 |
<A NAME="TOC27" HREF="pspp.html#SEC27">5.6.5 PostScript line options</A>
|
|
16996 |
<BR>
|
|
16997 |
<A NAME="TOC28" HREF="pspp.html#SEC28">5.6.6 The PostScript prologue</A>
|
|
16998 |
<BR>
|
|
16999 |
<A NAME="TOC29" HREF="pspp.html#SEC29">5.6.7 PostScript encodings</A>
|
|
17000 |
<BR>
|
|
17001 |
</BLOCKQUOTE>
|
|
17002 |
<A NAME="TOC30" HREF="pspp.html#SEC30">5.7 The ASCII driver class</A>
|
|
17003 |
<BR>
|
|
17004 |
<BLOCKQUOTE>
|
|
17005 |
<A NAME="TOC31" HREF="pspp.html#SEC31">5.7.1 ASCII output options</A>
|
|
17006 |
<BR>
|
|
17007 |
<A NAME="TOC32" HREF="pspp.html#SEC32">5.7.2 ASCII page options</A>
|
|
17008 |
<BR>
|
|
17009 |
<A NAME="TOC33" HREF="pspp.html#SEC33">5.7.3 ASCII font options</A>
|
|
17010 |
<BR>
|
|
17011 |
</BLOCKQUOTE>
|
|
17012 |
<A NAME="TOC34" HREF="pspp.html#SEC34">5.8 The HTML driver class</A>
|
|
17013 |
<BR>
|
|
17014 |
<BLOCKQUOTE>
|
|
17015 |
<A NAME="TOC35" HREF="pspp.html#SEC35">5.8.1 The HTML prologue</A>
|
|
17016 |
<BR>
|
|
17017 |
</BLOCKQUOTE>
|
|
17018 |
<A NAME="TOC36" HREF="pspp.html#SEC36">5.9 Miscellaneous configuration</A>
|
|
17019 |
<BR>
|
|
17020 |
<A NAME="TOC37" HREF="pspp.html#SEC37">5.10 Improving output quality</A>
|
|
17021 |
<BR>
|
|
17022 |
</BLOCKQUOTE>
|
|
17023 |
<A NAME="TOC38" HREF="pspp.html#SEC38">6. Invoking PSPP</A>
|
|
17024 |
<BR>
|
|
17025 |
<BLOCKQUOTE>
|
|
17026 |
<A NAME="TOC39" HREF="pspp.html#SEC39">6.1 Non-option Arguments</A>
|
|
17027 |
<BR>
|
|
17028 |
<A NAME="TOC40" HREF="pspp.html#SEC40">6.2 Configuration Options</A>
|
|
17029 |
<BR>
|
|
17030 |
<A NAME="TOC41" HREF="pspp.html#SEC41">6.3 Input and output options</A>
|
|
17031 |
<BR>
|
|
17032 |
<A NAME="TOC42" HREF="pspp.html#SEC42">6.4 Language control options</A>
|
|
17033 |
<BR>
|
|
17034 |
<A NAME="TOC43" HREF="pspp.html#SEC43">6.5 Informational options</A>
|
|
17035 |
<BR>
|
|
17036 |
</BLOCKQUOTE>
|
|
17037 |
<A NAME="TOC44" HREF="pspp.html#SEC44">7. The PSPP language</A>
|
|
17038 |
<BR>
|
|
17039 |
<BLOCKQUOTE>
|
|
17040 |
<A NAME="TOC45" HREF="pspp.html#SEC45">7.1 Tokens</A>
|
|
17041 |
<BR>
|
|
17042 |
<A NAME="TOC46" HREF="pspp.html#SEC46">7.2 Forming commands of tokens</A>
|
|
17043 |
<BR>
|
|
17044 |
<A NAME="TOC47" HREF="pspp.html#SEC47">7.3 Types of Commands</A>
|
|
17045 |
<BR>
|
|
17046 |
<A NAME="TOC48" HREF="pspp.html#SEC48">7.4 Order of Commands</A>
|
|
17047 |
<BR>
|
|
17048 |
<A NAME="TOC49" HREF="pspp.html#SEC49">7.5 Handling missing observations</A>
|
|
17049 |
<BR>
|
|
17050 |
<A NAME="TOC50" HREF="pspp.html#SEC50">7.6 Variables</A>
|
|
17051 |
<BR>
|
|
17052 |
<BLOCKQUOTE>
|
|
17053 |
<A NAME="TOC51" HREF="pspp.html#SEC51">7.6.1 Attributes of Variables</A>
|
|
17054 |
<BR>
|
|
17055 |
<A NAME="TOC52" HREF="pspp.html#SEC52">7.6.2 Variables Automatically Defined by PSPP</A>
|
|
17056 |
<BR>
|
|
17057 |
<A NAME="TOC53" HREF="pspp.html#SEC53">7.6.3 Lists of variable names</A>
|
|
17058 |
<BR>
|
|
17059 |
<A NAME="TOC54" HREF="pspp.html#SEC54">7.6.4 Input and Output Formats</A>
|
|
17060 |
<BR>
|
|
17061 |
<A NAME="TOC55" HREF="pspp.html#SEC55">7.6.5 Scratch Variables</A>
|
|
17062 |
<BR>
|
|
17063 |
</BLOCKQUOTE>
|
|
17064 |
<A NAME="TOC56" HREF="pspp.html#SEC56">7.7 Files Used by PSPP</A>
|
|
17065 |
<BR>
|
|
17066 |
<A NAME="TOC57" HREF="pspp.html#SEC57">7.8 Backus-Naur Form</A>
|
|
17067 |
<BR>
|
|
17068 |
</BLOCKQUOTE>
|
|
17069 |
<A NAME="TOC58" HREF="pspp.html#SEC58">8. Mathematical Expressions</A>
|
|
17070 |
<BR>
|
|
17071 |
<BLOCKQUOTE>
|
|
17072 |
<A NAME="TOC59" HREF="pspp.html#SEC59">8.1 Boolean values</A>
|
|
17073 |
<BR>
|
|
17074 |
<A NAME="TOC60" HREF="pspp.html#SEC60">8.2 Missing Values in Expressions</A>
|
|
17075 |
<BR>
|
|
17076 |
<A NAME="TOC61" HREF="pspp.html#SEC61">8.3 Grouping Operators</A>
|
|
17077 |
<BR>
|
|
17078 |
<A NAME="TOC62" HREF="pspp.html#SEC62">8.4 Arithmetic Operators</A>
|
|
17079 |
<BR>
|
|
17080 |
<A NAME="TOC63" HREF="pspp.html#SEC63">8.5 Logical Operators</A>
|
|
17081 |
<BR>
|
|
17082 |
<A NAME="TOC64" HREF="pspp.html#SEC64">8.6 Relational Operators</A>
|
|
17083 |
<BR>
|
|
17084 |
<A NAME="TOC65" HREF="pspp.html#SEC65">8.7 Functions</A>
|
|
17085 |
<BR>
|
|
17086 |
<BLOCKQUOTE>
|
|
17087 |
<A NAME="TOC66" HREF="pspp.html#SEC66">8.7.1 Advanced Mathematical Functions</A>
|
|
17088 |
<BR>
|
|
17089 |
<A NAME="TOC67" HREF="pspp.html#SEC67">8.7.2 Miscellaneous Mathematical Functions</A>
|
|
17090 |
<BR>
|
|
17091 |
<A NAME="TOC68" HREF="pspp.html#SEC68">8.7.3 Trigonometric Functions</A>
|
|
17092 |
<BR>
|
|
17093 |
<A NAME="TOC69" HREF="pspp.html#SEC69">8.7.4 Missing-Value Functions</A>
|
|
17094 |
<BR>
|
|
17095 |
<A NAME="TOC70" HREF="pspp.html#SEC70">8.7.5 Pseudo-Random Number Generation Functions</A>
|
|
17096 |
<BR>
|
|
17097 |
<A NAME="TOC71" HREF="pspp.html#SEC71">8.7.6 Set-Membership Functions</A>
|
|
17098 |
<BR>
|
|
17099 |
<A NAME="TOC72" HREF="pspp.html#SEC72">8.7.7 Statistical Functions</A>
|
|
17100 |
<BR>
|
|
17101 |
<A NAME="TOC73" HREF="pspp.html#SEC73">8.7.8 String Functions</A>
|
|
17102 |
<BR>
|
|
17103 |
<A NAME="TOC74" HREF="pspp.html#SEC74">8.7.9 Time & Date Functions</A>
|
|
17104 |
<BR>
|
|
17105 |
<BLOCKQUOTE>
|
|
17106 |
<A NAME="TOC75" HREF="pspp.html#SEC75">8.7.9.1 How times & dates are defined and represented</A>
|
|
17107 |
<BR>
|
|
17108 |
<A NAME="TOC76" HREF="pspp.html#SEC76">8.7.9.2 Functions that Produce Times</A>
|
|
17109 |
<BR>
|
|
17110 |
<A NAME="TOC77" HREF="pspp.html#SEC77">8.7.9.3 Functions that Examine Times</A>
|
|
17111 |
<BR>
|
|
17112 |
<A NAME="TOC78" HREF="pspp.html#SEC78">8.7.9.4 Functions that Produce Dates</A>
|
|
17113 |
<BR>
|
|
17114 |
<A NAME="TOC79" HREF="pspp.html#SEC79">8.7.9.5 Functions that Examine Dates</A>
|
|
17115 |
<BR>
|
|
17116 |
</BLOCKQUOTE>
|
|
17117 |
<A NAME="TOC80" HREF="pspp.html#SEC80">8.7.10 Miscellaneous Functions</A>
|
|
17118 |
<BR>
|
|
17119 |
<A NAME="TOC81" HREF="pspp.html#SEC81">8.7.11 Functions Not Implemented</A>
|
|
17120 |
<BR>
|
|
17121 |
</BLOCKQUOTE>
|
|
17122 |
<A NAME="TOC82" HREF="pspp.html#SEC82">8.8 Operator Precedence</A>
|
|
17123 |
<BR>
|
|
17124 |
</BLOCKQUOTE>
|
|
17125 |
<A NAME="TOC83" HREF="pspp.html#SEC83">9. Data Input and Output</A>
|
|
17126 |
<BR>
|
|
17127 |
<BLOCKQUOTE>
|
|
17128 |
<A NAME="TOC84" HREF="pspp.html#SEC84">9.1 BEGIN DATA</A>
|
|
17129 |
<BR>
|
|
17130 |
<A NAME="TOC85" HREF="pspp.html#SEC85">9.2 CLEAR TRANSFORMATIONS</A>
|
|
17131 |
<BR>
|
|
17132 |
<A NAME="TOC86" HREF="pspp.html#SEC86">9.3 DATA LIST</A>
|
|
17133 |
<BR>
|
|
17134 |
<BLOCKQUOTE>
|
|
17135 |
<A NAME="TOC87" HREF="pspp.html#SEC87">9.3.1 DATA LIST FIXED</A>
|
|
17136 |
<BR>
|
|
17137 |
<BLOCKQUOTE>
|
|
17138 |
<A NAME="TOC88" HREF="pspp.html#SEC88">Examples</A>
|
|
17139 |
<BR>
|
|
17140 |
</BLOCKQUOTE>
|
|
17141 |
<A NAME="TOC89" HREF="pspp.html#SEC89">9.3.2 DATA LIST FREE</A>
|
|
17142 |
<BR>
|
|
17143 |
<A NAME="TOC90" HREF="pspp.html#SEC90">9.3.3 DATA LIST LIST</A>
|
|
17144 |
<BR>
|
|
17145 |
</BLOCKQUOTE>
|
|
17146 |
<A NAME="TOC91" HREF="pspp.html#SEC91">9.4 END CASE</A>
|
|
17147 |
<BR>
|
|
17148 |
<A NAME="TOC92" HREF="pspp.html#SEC92">9.5 END FILE</A>
|
|
17149 |
<BR>
|
|
17150 |
<A NAME="TOC93" HREF="pspp.html#SEC93">9.6 FILE HANDLE</A>
|
|
17151 |
<BR>
|
|
17152 |
<A NAME="TOC94" HREF="pspp.html#SEC94">9.7 INPUT PROGRAM</A>
|
|
17153 |
<BR>
|
|
17154 |
<A NAME="TOC95" HREF="pspp.html#SEC95">9.8 LIST</A>
|
|
17155 |
<BR>
|
|
17156 |
<A NAME="TOC96" HREF="pspp.html#SEC96">9.9 MATRIX DATA</A>
|
|
17157 |
<BR>
|
|
17158 |
<A NAME="TOC97" HREF="pspp.html#SEC97">9.10 NEW FILE</A>
|
|
17159 |
<BR>
|
|
17160 |
<A NAME="TOC98" HREF="pspp.html#SEC98">9.11 PRINT</A>
|
|
17161 |
<BR>
|
|
17162 |
<A NAME="TOC99" HREF="pspp.html#SEC99">9.12 PRINT EJECT</A>
|
|
17163 |
<BR>
|
|
17164 |
<A NAME="TOC100" HREF="pspp.html#SEC100">9.13 PRINT SPACE</A>
|
|
17165 |
<BR>
|
|
17166 |
<A NAME="TOC101" HREF="pspp.html#SEC101">9.14 REREAD</A>
|
|
17167 |
<BR>
|
|
17168 |
<A NAME="TOC102" HREF="pspp.html#SEC102">9.15 REPEATING DATA</A>
|
|
17169 |
<BR>
|
|
17170 |
<A NAME="TOC103" HREF="pspp.html#SEC103">9.16 WRITE</A>
|
|
17171 |
<BR>
|
|
17172 |
</BLOCKQUOTE>
|
|
17173 |
<A NAME="TOC104" HREF="pspp.html#SEC104">10. System Files and Portable Files</A>
|
|
17174 |
<BR>
|
|
17175 |
<BLOCKQUOTE>
|
|
17176 |
<A NAME="TOC105" HREF="pspp.html#SEC105">10.1 APPLY DICTIONARY</A>
|
|
17177 |
<BR>
|
|
17178 |
<A NAME="TOC106" HREF="pspp.html#SEC106">10.2 EXPORT</A>
|
|
17179 |
<BR>
|
|
17180 |
<A NAME="TOC107" HREF="pspp.html#SEC107">10.3 GET</A>
|
|
17181 |
<BR>
|
|
17182 |
<A NAME="TOC108" HREF="pspp.html#SEC108">10.4 IMPORT</A>
|
|
17183 |
<BR>
|
|
17184 |
<A NAME="TOC109" HREF="pspp.html#SEC109">10.5 MATCH FILES</A>
|
|
17185 |
<BR>
|
|
17186 |
<A NAME="TOC110" HREF="pspp.html#SEC110">10.6 SAVE</A>
|
|
17187 |
<BR>
|
|
17188 |
<A NAME="TOC111" HREF="pspp.html#SEC111">10.7 SYSFILE INFO</A>
|
|
17189 |
<BR>
|
|
17190 |
<A NAME="TOC112" HREF="pspp.html#SEC112">10.8 XSAVE</A>
|
|
17191 |
<BR>
|
|
17192 |
</BLOCKQUOTE>
|
|
17193 |
<A NAME="TOC113" HREF="pspp.html#SEC113">11. Manipulating variables</A>
|
|
17194 |
<BR>
|
|
17195 |
<BLOCKQUOTE>
|
|
17196 |
<A NAME="TOC114" HREF="pspp.html#SEC114">11.1 ADD VALUE LABELS</A>
|
|
17197 |
<BR>
|
|
17198 |
<A NAME="TOC115" HREF="pspp.html#SEC115">11.2 DISPLAY</A>
|
|
17199 |
<BR>
|
|
17200 |
<A NAME="TOC116" HREF="pspp.html#SEC116">11.3 DISPLAY VECTORS</A>
|
|
17201 |
<BR>
|
|
17202 |
<A NAME="TOC117" HREF="pspp.html#SEC117">11.4 FORMATS</A>
|
|
17203 |
<BR>
|
|
17204 |
<A NAME="TOC118" HREF="pspp.html#SEC118">11.5 LEAVE</A>
|
|
17205 |
<BR>
|
|
17206 |
<A NAME="TOC119" HREF="pspp.html#SEC119">11.6 MISSING VALUES</A>
|
|
17207 |
<BR>
|
|
17208 |
<A NAME="TOC120" HREF="pspp.html#SEC120">11.7 MODIFY VARS</A>
|
|
17209 |
<BR>
|
|
17210 |
<A NAME="TOC121" HREF="pspp.html#SEC121">11.8 NUMERIC</A>
|
|
17211 |
<BR>
|
|
17212 |
<A NAME="TOC122" HREF="pspp.html#SEC122">11.9 PRINT FORMATS</A>
|
|
17213 |
<BR>
|
|
17214 |
<A NAME="TOC123" HREF="pspp.html#SEC123">11.10 RENAME VARIABLES</A>
|
|
17215 |
<BR>
|
|
17216 |
<A NAME="TOC124" HREF="pspp.html#SEC124">11.11 VALUE LABELS</A>
|
|
17217 |
<BR>
|
|
17218 |
<A NAME="TOC125" HREF="pspp.html#SEC125">11.12 STRING</A>
|
|
17219 |
<BR>
|
|
17220 |
<A NAME="TOC126" HREF="pspp.html#SEC126">11.13 VARIABLE LABELS</A>
|
|
17221 |
<BR>
|
|
17222 |
<A NAME="TOC127" HREF="pspp.html#SEC127">11.14 VECTOR</A>
|
|
17223 |
<BR>
|
|
17224 |
<A NAME="TOC128" HREF="pspp.html#SEC128">11.15 WRITE FORMATS</A>
|
|
17225 |
<BR>
|
|
17226 |
</BLOCKQUOTE>
|
|
17227 |
<A NAME="TOC129" HREF="pspp.html#SEC129">12. Data transformations</A>
|
|
17228 |
<BR>
|
|
17229 |
<BLOCKQUOTE>
|
|
17230 |
<A NAME="TOC130" HREF="pspp.html#SEC130">12.1 AGGREGATE</A>
|
|
17231 |
<BR>
|
|
17232 |
<A NAME="TOC131" HREF="pspp.html#SEC131">12.2 AUTORECODE</A>
|
|
17233 |
<BR>
|
|
17234 |
<A NAME="TOC132" HREF="pspp.html#SEC132">12.3 COMPUTE</A>
|
|
17235 |
<BR>
|
|
17236 |
<A NAME="TOC133" HREF="pspp.html#SEC133">12.4 COUNT</A>
|
|
17237 |
<BR>
|
|
17238 |
<A NAME="TOC134" HREF="pspp.html#SEC134">12.5 FLIP</A>
|
|
17239 |
<BR>
|
|
17240 |
<A NAME="TOC135" HREF="pspp.html#SEC135">12.6 IF</A>
|
|
17241 |
<BR>
|
|
17242 |
<A NAME="TOC136" HREF="pspp.html#SEC136">12.7 RECODE</A>
|
|
17243 |
<BR>
|
|
17244 |
<A NAME="TOC137" HREF="pspp.html#SEC137">12.8 SORT CASES</A>
|
|
17245 |
<BR>
|
|
17246 |
</BLOCKQUOTE>
|
|
17247 |
<A NAME="TOC138" HREF="pspp.html#SEC138">13. Selecting data for analysis</A>
|
|
17248 |
<BR>
|
|
17249 |
<BLOCKQUOTE>
|
|
17250 |
<A NAME="TOC139" HREF="pspp.html#SEC139">13.1 FILTER</A>
|
|
17251 |
<BR>
|
|
17252 |
<A NAME="TOC140" HREF="pspp.html#SEC140">13.2 N OF CASES</A>
|
|
17253 |
<BR>
|
|
17254 |
<A NAME="TOC141" HREF="pspp.html#SEC141">13.3 PROCESS IF</A>
|
|
17255 |
<BR>
|
|
17256 |
<A NAME="TOC142" HREF="pspp.html#SEC142">13.4 SAMPLE</A>
|
|
17257 |
<BR>
|
|
17258 |
<A NAME="TOC143" HREF="pspp.html#SEC143">13.5 SELECT IF</A>
|
|
17259 |
<BR>
|
|
17260 |
<A NAME="TOC144" HREF="pspp.html#SEC144">13.6 SPLIT FILE</A>
|
|
17261 |
<BR>
|
|
17262 |
<A NAME="TOC145" HREF="pspp.html#SEC145">13.7 TEMPORARY</A>
|
|
17263 |
<BR>
|
|
17264 |
<A NAME="TOC146" HREF="pspp.html#SEC146">13.8 WEIGHT</A>
|
|
17265 |
<BR>
|
|
17266 |
</BLOCKQUOTE>
|
|
17267 |
<A NAME="TOC147" HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A>
|
|
17268 |
<BR>
|
|
17269 |
<BLOCKQUOTE>
|
|
17270 |
<A NAME="TOC148" HREF="pspp.html#SEC148">14.1 BREAK</A>
|
|
17271 |
<BR>
|
|
17272 |
<A NAME="TOC149" HREF="pspp.html#SEC149">14.2 DO IF</A>
|
|
17273 |
<BR>
|
|
17274 |
<A NAME="TOC150" HREF="pspp.html#SEC150">14.3 DO REPEAT</A>
|
|
17275 |
<BR>
|
|
17276 |
<A NAME="TOC151" HREF="pspp.html#SEC151">14.4 LOOP</A>
|
|
17277 |
<BR>
|
|
17278 |
</BLOCKQUOTE>
|
|
17279 |
<A NAME="TOC152" HREF="pspp.html#SEC152">15. Statistics</A>
|
|
17280 |
<BR>
|
|
17281 |
<BLOCKQUOTE>
|
|
17282 |
<A NAME="TOC153" HREF="pspp.html#SEC153">15.1 DESCRIPTIVES</A>
|
|
17283 |
<BR>
|
|
17284 |
<A NAME="TOC154" HREF="pspp.html#SEC154">15.2 FREQUENCIES</A>
|
|
17285 |
<BR>
|
|
17286 |
<A NAME="TOC155" HREF="pspp.html#SEC155">15.3 CROSSTABS</A>
|
|
17287 |
<BR>
|
|
17288 |
</BLOCKQUOTE>
|
|
17289 |
<A NAME="TOC156" HREF="pspp.html#SEC156">16. Utilities</A>
|
|
17290 |
<BR>
|
|
17291 |
<BLOCKQUOTE>
|
|
17292 |
<A NAME="TOC157" HREF="pspp.html#SEC157">16.1 COMMENT</A>
|
|
17293 |
<BR>
|
|
17294 |
<A NAME="TOC158" HREF="pspp.html#SEC158">16.2 DOCUMENT</A>
|
|
17295 |
<BR>
|
|
17296 |
<A NAME="TOC159" HREF="pspp.html#SEC159">16.3 DISPLAY DOCUMENTS</A>
|
|
17297 |
<BR>
|
|
17298 |
<A NAME="TOC160" HREF="pspp.html#SEC160">16.4 DISPLAY FILE LABEL</A>
|
|
17299 |
<BR>
|
|
17300 |
<A NAME="TOC161" HREF="pspp.html#SEC161">16.5 DROP DOCUMENTS</A>
|
|
17301 |
<BR>
|
|
17302 |
<A NAME="TOC162" HREF="pspp.html#SEC162">16.6 EXECUTE</A>
|
|
17303 |
<BR>
|
|
17304 |
<A NAME="TOC163" HREF="pspp.html#SEC163">16.7 FILE LABEL</A>
|
|
17305 |
<BR>
|
|
17306 |
<A NAME="TOC164" HREF="pspp.html#SEC164">16.8 INCLUDE</A>
|
|
17307 |
<BR>
|
|
17308 |
<A NAME="TOC165" HREF="pspp.html#SEC165">16.9 QUIT</A>
|
|
17309 |
<BR>
|
|
17310 |
<A NAME="TOC166" HREF="pspp.html#SEC166">16.10 SET</A>
|
|
17311 |
<BR>
|
|
17312 |
<A NAME="TOC167" HREF="pspp.html#SEC167">16.11 SUBTITLE</A>
|
|
17313 |
<BR>
|
|
17314 |
<A NAME="TOC168" HREF="pspp.html#SEC168">16.12 TITLE</A>
|
|
17315 |
<BR>
|
|
17316 |
</BLOCKQUOTE>
|
|
17317 |
<A NAME="TOC169" HREF="pspp.html#SEC169">17. Not Implemented</A>
|
|
17318 |
<BR>
|
|
17319 |
<A NAME="TOC170" HREF="pspp.html#SEC170">18. Data File Format</A>
|
|
17320 |
<BR>
|
|
17321 |
<BLOCKQUOTE>
|
|
17322 |
<A NAME="TOC171" HREF="pspp.html#SEC171">18.1 File Header Record</A>
|
|
17323 |
<BR>
|
|
17324 |
<A NAME="TOC172" HREF="pspp.html#SEC172">18.2 Variable Record</A>
|
|
17325 |
<BR>
|
|
17326 |
<A NAME="TOC173" HREF="pspp.html#SEC173">18.3 Value Label Record</A>
|
|
17327 |
<BR>
|
|
17328 |
<A NAME="TOC174" HREF="pspp.html#SEC174">18.4 Value Label Variable Record</A>
|
|
17329 |
<BR>
|
|
17330 |
<A NAME="TOC175" HREF="pspp.html#SEC175">18.5 Document Record</A>
|
|
17331 |
<BR>
|
|
17332 |
<A NAME="TOC176" HREF="pspp.html#SEC176">18.6 Machine <CODE>int32</CODE> Info Record</A>
|
|
17333 |
<BR>
|
|
17334 |
<A NAME="TOC177" HREF="pspp.html#SEC177">18.7 Machine <CODE>flt64</CODE> Info Record</A>
|
|
17335 |
<BR>
|
|
17336 |
<A NAME="TOC178" HREF="pspp.html#SEC178">18.8 Miscellaneous Informational Records</A>
|
|
17337 |
<BR>
|
|
17338 |
<A NAME="TOC179" HREF="pspp.html#SEC179">18.9 Dictionary Termination Record</A>
|
|
17339 |
<BR>
|
|
17340 |
<A NAME="TOC180" HREF="pspp.html#SEC180">18.10 Data Record</A>
|
|
17341 |
<BR>
|
|
17342 |
</BLOCKQUOTE>
|
|
17343 |
<A NAME="TOC181" HREF="pspp.html#SEC181">19. Portable File Format</A>
|
|
17344 |
<BR>
|
|
17345 |
<BLOCKQUOTE>
|
|
17346 |
<A NAME="TOC182" HREF="pspp.html#SEC182">19.1 Portable File Characters</A>
|
|
17347 |
<BR>
|
|
17348 |
<A NAME="TOC183" HREF="pspp.html#SEC183">19.2 Portable File Structure</A>
|
|
17349 |
<BR>
|
|
17350 |
<A NAME="TOC184" HREF="pspp.html#SEC184">19.3 Portable File Header</A>
|
|
17351 |
<BR>
|
|
17352 |
<A NAME="TOC185" HREF="pspp.html#SEC185">19.4 Version and Date Info Record</A>
|
|
17353 |
<BR>
|
|
17354 |
<A NAME="TOC186" HREF="pspp.html#SEC186">19.5 Identification Records</A>
|
|
17355 |
<BR>
|
|
17356 |
<A NAME="TOC187" HREF="pspp.html#SEC187">19.6 Variable Count Record</A>
|
|
17357 |
<BR>
|
|
17358 |
<A NAME="TOC188" HREF="pspp.html#SEC188">19.7 Variable Records</A>
|
|
17359 |
<BR>
|
|
17360 |
<A NAME="TOC189" HREF="pspp.html#SEC189">19.8 Value Label Records</A>
|
|
17361 |
<BR>
|
|
17362 |
<A NAME="TOC190" HREF="pspp.html#SEC190">19.9 Portable File Data</A>
|
|
17363 |
<BR>
|
|
17364 |
</BLOCKQUOTE>
|
|
17365 |
<A NAME="TOC191" HREF="pspp.html#SEC191">20. <CODE>q2c</CODE> Input Format</A>
|
|
17366 |
<BR>
|
|
17367 |
<BLOCKQUOTE>
|
|
17368 |
<A NAME="TOC192" HREF="pspp.html#SEC192">20.1 Invoking q2c</A>
|
|
17369 |
<BR>
|
|
17370 |
<A NAME="TOC193" HREF="pspp.html#SEC193">20.2 <CODE>q2c</CODE> Input Structure</A>
|
|
17371 |
<BR>
|
|
17372 |
<A NAME="TOC194" HREF="pspp.html#SEC194">20.3 Grammar Rules</A>
|
|
17373 |
<BR>
|
|
17374 |
</BLOCKQUOTE>
|
|
17375 |
<A NAME="TOC195" HREF="pspp.html#SEC195">21. Bugs</A>
|
|
17376 |
<BR>
|
|
17377 |
<BLOCKQUOTE>
|
|
17378 |
<A NAME="TOC196" HREF="pspp.html#SEC196">21.1 Known bugs</A>
|
|
17379 |
<BR>
|
|
17380 |
<A NAME="TOC197" HREF="pspp.html#SEC197">21.2 Contacting the Author</A>
|
|
17381 |
<BR>
|
|
17382 |
</BLOCKQUOTE>
|
|
17383 |
<A NAME="TOC198" HREF="pspp.html#SEC198">22. Function Index</A>
|
|
17384 |
<BR>
|
|
17385 |
<A NAME="TOC199" HREF="pspp.html#SEC199">23. Concept Index</A>
|
|
17386 |
<BR>
|
|
17387 |
<A NAME="TOC200" HREF="pspp.html#SEC200">24. Command Index</A>
|
|
17388 |
<BR>
|
|
17389 |
</BLOCKQUOTE>
|
|
17390 |
<HR SIZE=1>
|
|
17391 |
<A NAME="SEC_OVERVIEW"></A>
|
|
17392 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
17393 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
17394 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
17395 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
17396 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
17397 |
</TR></TABLE>
|
|
17398 |
<H1>Short Table of Contents</H1>
|
|
17399 |
<BLOCKQUOTE>
|
|
17400 |
<A NAME="TOC1" HREF="pspp.html#SEC1">1. Introduction</A>
|
|
17401 |
<BR>
|
|
17402 |
<A NAME="TOC2" HREF="pspp.html#SEC2">2. Your rights and obligations</A>
|
|
17403 |
<BR>
|
|
17404 |
<A NAME="TOC3" HREF="pspp.html#SEC3">3. Credits</A>
|
|
17405 |
<BR>
|
|
17406 |
<A NAME="TOC4" HREF="pspp.html#SEC4">4. Installing PSPP</A>
|
|
17407 |
<BR>
|
|
17408 |
<A NAME="TOC6" HREF="pspp.html#SEC6">5. Configuring PSPP</A>
|
|
17409 |
<BR>
|
|
17410 |
<A NAME="TOC38" HREF="pspp.html#SEC38">6. Invoking PSPP</A>
|
|
17411 |
<BR>
|
|
17412 |
<A NAME="TOC44" HREF="pspp.html#SEC44">7. The PSPP language</A>
|
|
17413 |
<BR>
|
|
17414 |
<A NAME="TOC58" HREF="pspp.html#SEC58">8. Mathematical Expressions</A>
|
|
17415 |
<BR>
|
|
17416 |
<A NAME="TOC83" HREF="pspp.html#SEC83">9. Data Input and Output</A>
|
|
17417 |
<BR>
|
|
17418 |
<A NAME="TOC104" HREF="pspp.html#SEC104">10. System Files and Portable Files</A>
|
|
17419 |
<BR>
|
|
17420 |
<A NAME="TOC113" HREF="pspp.html#SEC113">11. Manipulating variables</A>
|
|
17421 |
<BR>
|
|
17422 |
<A NAME="TOC129" HREF="pspp.html#SEC129">12. Data transformations</A>
|
|
17423 |
<BR>
|
|
17424 |
<A NAME="TOC138" HREF="pspp.html#SEC138">13. Selecting data for analysis</A>
|
|
17425 |
<BR>
|
|
17426 |
<A NAME="TOC147" HREF="pspp.html#SEC147">14. Conditional and Looping Constructs</A>
|
|
17427 |
<BR>
|
|
17428 |
<A NAME="TOC152" HREF="pspp.html#SEC152">15. Statistics</A>
|
|
17429 |
<BR>
|
|
17430 |
<A NAME="TOC156" HREF="pspp.html#SEC156">16. Utilities</A>
|
|
17431 |
<BR>
|
|
17432 |
<A NAME="TOC169" HREF="pspp.html#SEC169">17. Not Implemented</A>
|
|
17433 |
<BR>
|
|
17434 |
<A NAME="TOC170" HREF="pspp.html#SEC170">18. Data File Format</A>
|
|
17435 |
<BR>
|
|
17436 |
<A NAME="TOC181" HREF="pspp.html#SEC181">19. Portable File Format</A>
|
|
17437 |
<BR>
|
|
17438 |
<A NAME="TOC191" HREF="pspp.html#SEC191">20. <CODE>q2c</CODE> Input Format</A>
|
|
17439 |
<BR>
|
|
17440 |
<A NAME="TOC195" HREF="pspp.html#SEC195">21. Bugs</A>
|
|
17441 |
<BR>
|
|
17442 |
<A NAME="TOC198" HREF="pspp.html#SEC198">22. Function Index</A>
|
|
17443 |
<BR>
|
|
17444 |
<A NAME="TOC199" HREF="pspp.html#SEC199">23. Concept Index</A>
|
|
17445 |
<BR>
|
|
17446 |
<A NAME="TOC200" HREF="pspp.html#SEC200">24. Command Index</A>
|
|
17447 |
<BR>
|
|
17448 |
|
|
17449 |
</BLOCKQUOTE>
|
|
17450 |
<HR SIZE=1>
|
|
17451 |
<A NAME="SEC_About"></A>
|
|
17452 |
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
17453 |
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Top">Top</A>]</TD>
|
|
17454 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_Contents">Contents</A>]</TD>
|
|
17455 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC198">Index</A>]</TD>
|
|
17456 |
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="pspp.html#SEC_About"> ? </A>]</TD>
|
|
17457 |
</TR></TABLE>
|
|
17458 |
<H1>About this document</H1>
|
|
17459 |
This document was generated
|
|
17460 |
by
|
|
17461 |
using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A>
|
|
17462 |
<P></P>
|
|
17463 |
The buttons in the navigation panels have the following meaning:
|
|
17464 |
<P></P>
|
|
17465 |
<table border = "1">
|
|
17466 |
<TR>
|
|
17467 |
<TH> Button </TH>
|
|
17468 |
<TH> Name </TH>
|
|
17469 |
<TH> Go to </TH>
|
|
17470 |
<TH> From 1.2.3 go to</TH>
|
|
17471 |
</TR>
|
|
17472 |
<TR>
|
|
17473 |
<TD ALIGN="CENTER">
|
|
17474 |
[ < ] </TD>
|
|
17475 |
<TD ALIGN="CENTER">
|
|
17476 |
Back
|
|
17477 |
</TD>
|
|
17478 |
<TD>
|
|
17479 |
previous section in reading order
|
|
17480 |
</TD>
|
|
17481 |
<TD>
|
|
17482 |
1.2.2
|
|
17483 |
</TD>
|
|
17484 |
</TR>
|
|
17485 |
<TR>
|
|
17486 |
<TD ALIGN="CENTER">
|
|
17487 |
[ > ] </TD>
|
|
17488 |
<TD ALIGN="CENTER">
|
|
17489 |
Forward
|
|
17490 |
</TD>
|
|
17491 |
<TD>
|
|
17492 |
next section in reading order
|
|
17493 |
</TD>
|
|
17494 |
<TD>
|
|
17495 |
1.2.4
|
|
17496 |
</TD>
|
|
17497 |
</TR>
|
|
17498 |
<TR>
|
|
17499 |
<TD ALIGN="CENTER">
|
|
17500 |
[ << ] </TD>
|
|
17501 |
<TD ALIGN="CENTER">
|
|
17502 |
FastBack
|
|
17503 |
</TD>
|
|
17504 |
<TD>
|
|
17505 |
beginning of this chapter or previous chapter
|
|
17506 |
</TD>
|
|
17507 |
<TD>
|
|
17508 |
1
|
|
17509 |
</TD>
|
|
17510 |
</TR>
|
|
17511 |
<TR>
|
|
17512 |
<TD ALIGN="CENTER">
|
|
17513 |
[ Up ] </TD>
|
|
17514 |
<TD ALIGN="CENTER">
|
|
17515 |
Up
|
|
17516 |
</TD>
|
|
17517 |
<TD>
|
|
17518 |
up section
|
|
17519 |
</TD>
|
|
17520 |
<TD>
|
|
17521 |
1.2
|
|
17522 |
</TD>
|
|
17523 |
</TR>
|
|
17524 |
<TR>
|
|
17525 |
<TD ALIGN="CENTER">
|
|
17526 |
[ >> ] </TD>
|
|
17527 |
<TD ALIGN="CENTER">
|
|
17528 |
FastForward
|
|
17529 |
</TD>
|
|
17530 |
<TD>
|
|
17531 |
next chapter
|
|
17532 |
</TD>
|
|
17533 |
<TD>
|
|
17534 |
2
|
|
17535 |
</TD>
|
|
17536 |
</TR>
|
|
17537 |
<TR>
|
|
17538 |
<TD ALIGN="CENTER">
|
|
17539 |
[Top] </TD>
|
|
17540 |
<TD ALIGN="CENTER">
|
|
17541 |
Top
|
|
17542 |
</TD>
|
|
17543 |
<TD>
|
|
17544 |
cover (top) of document
|
|
17545 |
</TD>
|
|
17546 |
<TD>
|
|
17547 |
|
|
17548 |
</TD>
|
|
17549 |
</TR>
|
|
17550 |
<TR>
|
|
17551 |
<TD ALIGN="CENTER">
|
|
17552 |
[Contents] </TD>
|
|
17553 |
<TD ALIGN="CENTER">
|
|
17554 |
Contents
|
|
17555 |
</TD>
|
|
17556 |
<TD>
|
|
17557 |
table of contents
|
|
17558 |
</TD>
|
|
17559 |
<TD>
|
|
17560 |
|
|
17561 |
</TD>
|
|
17562 |
</TR>
|
|
17563 |
<TR>
|
|
17564 |
<TD ALIGN="CENTER">
|
|
17565 |
[Index] </TD>
|
|
17566 |
<TD ALIGN="CENTER">
|
|
17567 |
Index
|
|
17568 |
</TD>
|
|
17569 |
<TD>
|
|
17570 |
concept index
|
|
17571 |
</TD>
|
|
17572 |
<TD>
|
|
17573 |
|
|
17574 |
</TD>
|
|
17575 |
</TR>
|
|
17576 |
<TR>
|
|
17577 |
<TD ALIGN="CENTER">
|
|
17578 |
[ ? ] </TD>
|
|
17579 |
<TD ALIGN="CENTER">
|
|
17580 |
About
|
|
17581 |
</TD>
|
|
17582 |
<TD>
|
|
17583 |
this page
|
|
17584 |
</TD>
|
|
17585 |
<TD>
|
|
17586 |
|
|
17587 |
</TD>
|
|
17588 |
</TR>
|
|
17589 |
</TABLE>
|
|
17590 |
<P>
|
|
17591 |
where the <STRONG> Example </STRONG> assumes that the current position
|
|
17592 |
is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
|
|
17593 |
the following structure:</P>
|
|
17594 |
<UL>
|
|
17595 |
<LI> 1. Section One
|
|
17596 |
<UL>
|
|
17597 |
<LI>1.1 Subsection One-One
|
|
17598 |
<UL>
|
|
17599 |
<LI>...</LI>
|
|
17600 |
</UL>
|
|
17601 |
<LI>1.2 Subsection One-Two
|
|
17602 |
<UL>
|
|
17603 |
<LI>1.2.1 Subsubsection One-Two-One</LI>
|
|
17604 |
<LI>1.2.2 Subsubsection One-Two-Two</LI>
|
|
17605 |
<LI>1.2.3 Subsubsection One-Two-Three
|
|
17606 |
<STRONG><== Current Position </STRONG></LI>
|
|
17607 |
<LI>1.2.4 Subsubsection One-Two-Four</LI>
|
|
17608 |
</UL>
|
|
17609 |
</LI>
|
|
17610 |
<LI>1.3 Subsection One-Three
|
|
17611 |
<UL>
|
|
17612 |
<LI>...</LI>
|
|
17613 |
</UL>
|
|
17614 |
</LI>
|
|
17615 |
<LI>1.4 Subsection One-Four</LI>
|
|
17616 |
</UL>
|
|
17617 |
</LI>
|
|
17618 |
</UL>
|
|
17619 |
|
|
17620 |
<HR SIZE=1>
|
|
17621 |
<BR>
|
|
17622 |
<FONT SIZE="-1">
|
|
17623 |
This document was generated
|
|
17624 |
by <I>Jim Van Zandt</I> on <I>August, 25 2003</I>
|
|
17625 |
using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A>
|
|
17626 |
</FONT>
|
|
17627 |
|
|
17628 |
</BODY>
|
|
17629 |
</HTML>
|