Differences between revisions 2 and 3
Revision 2 as of 2021-11-12 22:18:49
Size: 3657
Comment:
Revision 3 as of 2021-11-22 16:04:55
Size: 3945
Comment:
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:

Note that `DATA LIST` counts columns starting at 1, while `GET DATA` counts starting at 0.
Line 141: Line 143:
Note that columns are numbered starting at 1 for `DATA LIST`, whereas `GET DATA` starts at 0.
Line 172: Line 176:
Note that columns are numbered starting at 0 for `GET DATA`, whereas `DATA LIST` starts at 1.

SPSS Reading Data

SPSS has a wide variety of commands for importing, parsing, or otherwise reading in data.


SPSS Formats

SPSS has an internal format syntax which is used throughout data import steps. Further details are available here.

For the purposes of this page, all that needs to be understood is:

  • A20 is a 20-wide string variable

  • F8 is a 8-wide numeric variable

  • F8.2 is a 8-wide numeric variable with 2 decimal points, i.e. 12345.78


Columnar Definition

The columnar definition of a fixed-width variable consists of:

  • the name
  • for a 1-wide variable: the column index
  • for a 2+-wide variable: the start and end column indices, separated by a dash (-)

  • the variable format within parentheses

If a variable format is not specified, the basic numeric format (F) is assumed.

Note that DATA LIST counts columns starting at 1, while GET DATA counts starting at 0.

Decimals

A numeric variable's columnar definition can have a decimal place indicated with the variable format. A survey weight could be defined as final_wt 1-8 (F, 5) and would be imported as F8.5.

Furthermore, because the numeric format is the default, this can be shortened to (5). This isn't necessarily recommended though.

Strings

A string variable's columnar definition would look like Name 1-24 (A). However, a major caveat is that columnar indices are byte-wise. In other words, Unicode data will be treated as discrete bytes rather than characters.


FORTRAN Definition


Data List

The DATA LIST command is used to read in arbitrary data.

If the data is stored in an external file, reference it on a /file subcommand.

If the data is entered in the syntax, it must be bounded by BEGIN DATA and END DATA statements.

Free

The FREE subcommand causes data to be read into rows and columns irrespective of record delimiters.

data list free / CaseNum (F2) Score (F3).
begin data
1, 10, 2, 40, 3, 15, 4, 10, 5, 15, 6,, 7, 25, 8, 10
end data.

This command results in the following dataset:

!CaseNum

Score

1

10

2

40

3

15

4

10

5

15

6

7

25

8

10

If formats were not specified, these variables would be read in using the default (F8.2).

List

The LIST subcommand operates much the same as the FREE subcommand except that record delimiters matter.

This is an equivalent syntax to the above example.

data list list / CaseNum (F2) Score (F3).
begin data
1, 10
2, 40
3, 15
4, 10
5, 15
6
7, 25
8, 10
end data.

Fixed

The FIXED subcommand causes data to be read according to fixed-width columnar formats.

This is an equivalent syntax to the above example.

data list fixed / CaseNum 1-2 Score 4-6.
begin data
 1  10
 2  40
 3  15
 4  10
 5  15
 6
 7  25
 8  10
end data.

Note that columns are numbered starting at 1 for DATA LIST, whereas GET DATA starts at 0.

Multi-record data

When cases are spread across multiple records, it is possible to read them in as a single row.

data list fixed record=2 /1 CaseNum 1-2 Score 4-6 /2 Time 1-4.
 1  10
1200
 2  40
0800
 3  15
1600

This command results in the following dataset:

!CaseNum

Score

Time

1

10

1200

2

40

800

3

15

1600


Get Data

The GET DATA command is used to read in well-structured data. Examples for CSV, tab-delimited, and fixed-width are available.

Note that columns are numbered starting at 0 for GET DATA, whereas DATA LIST starts at 1.


CategoryRicottone

SPSS/ReadingData (last edited 2023-06-14 19:30:43 by DominicRicottone)