Size: 3386
Comment:
|
Size: 1567
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= SPSS Formats = SPSS supports numeric variables and strings, with conversion options and some automatic conversion functionality. There are several formats on top of numerics that impact visualization, not storage. |
= SPSS Data Types = SPSS supports numeric and [[SPSSStrings|string]] data. There are several formats on top of numeric data that impact visualization, not storage. These include [[SPSSDatetimes|dates and times]]. |
Line 9: | Line 10: |
== Numeric Data == | |
Line 10: | Line 12: |
== Datetime == | Numeric data is stored as double-precision floating point. Data formats adjust the printed/ exported representation of a data point, often only truncating the value. Adjusting these data formats does not destroy precision. |
Line 12: | Line 14: |
=== A warning about data input === | Given 123.45... |
Line 14: | Line 16: |
SPSS tries to be clever about reading data. Under the format `TIME`, all of these are read in as `"01:02"`, even though the format is a minimum of 5-wide: * `"1:2"` * `"01 2"` * `"01:02"` Under the format `DATE`, all of these are read in as `"28-OCT-90"`: * `"28-OCT-90"` * `"28/10/1990"` * `"28.OCT.90"` * `"28 October, 1990"` |
||'''General Format''' ||'''Format''' ||'''Representation''' || ||Fw ||F8 ||123 || ||Fw.d ||F8.1 ||123.4 || ||Nw ||N8 ||00000123 || ||Nw.d ||N8.1 ||000123.4 || |
Line 29: | Line 24: |
=== Datetime formats === | === Date and Time Formats === |
Line 31: | Line 26: |
||'''Format''' ||'''Appears as...''' ||'''Note''' || ||DATETIME20 ||`dd-MMM-yyyy hh:mm:ss` ||`MMM` is as JAN, not 001|| ||DATETIME18 ||`dd-MMM-yyyy hh:mm` ||`MMM` is as JAN, not 001|| ||DATE11 ||`dd-MMM-yyyy` ||`MMM` is as JAN, not 001|| ||DATE7 ||`dd-MMM-yy` ||`MMM` is as JAN, not 001|| ||TIME8 ||`hh:mm:ss` || || ||TIME5 ||`hh:mm` || || ||ADATE10 ||`mm/dd/yyyy` || || ||ADATE8 ||`mm/dd/yy` || || ||EDATE10 ||`dd.mm.yyyy` || || ||EDATE8 ||`dd.mm.yy` || || |
See [[SPSSDatetimes|here]] for more details on date, time, and datetime data. |
Line 43: | Line 28: |
||'''Format''' ||'''Representation''' || ||DATETIME20 ||`dd-MMM-yyyy hh:mm:ss` || ||DATETIME17 ||`dd-MMM-yyyy hh:mm` || ||DATE11 ||`dd-MMM-yyyy` || ||DATE9 ||`dd-MMM-yy` || ||TIME8 ||`hh:mm:ss` || ||TIME5 ||`hh:mm` || ||ADATE10 ||`mm/dd/yyyy` || |
|
Line 44: | Line 37: |
=== Parse Timestamps === A macro for timestamp conversion, from `dd/mm/yyyy hh:mm` to SPSS `DATETIME20`: {{{ define !str2datetime (in=!tokens(1) / out=!cmdend) numeric !out (DATETIME20). compute !out = date.mdy( number(char.substr(!in,1,2), f2), number(char.substr(!in,4,2), f2), number(char.substr(!in,7,4), f4) ) + time.hms( number(char.substr(!in,12,2), f2), number(char.substr(!in,15,2), f2), 0 ) . !enddefine. !str2datetime in=mytimestampvar out=mydatetimevar. }}} === Create Timestamps === This is unfortunately long-winded. {{{ data list free / a. begin data. 1 end data. dataset name TIMESTAMP. execute. string tmp_date (A11) datetime (A20). compute tmp_date = $date. alter type tmp_date (date11). compute tmp_time = $time. compute datetime=concat( char.substr(string(xdate.year(tmp_date),N4),3,2), string(xdate.month(tmp_date),N2), string(xdate.mday(tmp_date),N2), "_", string(xdate.hour(tmp_time),N2), string(xdate.minute(tmp_time),N2), ). execute. do if $casenum=1. write outfile 'timestamp.sps' /1 "define !timestamp() " datetime " !enddefine.". end if. dataset close TIMESTAMP. execute. insert file='timestamp.sps'. execute. }}} |
Note that `MMM` appears as `JAN`, not `001`. |
Line 112: | Line 43: |
== Numerics == | == String Data == |
Line 114: | Line 45: |
Formats only truncate the displayed value, or the value translated into data files. SPSS always retains data to original precision. Given 123.45... ||'''Format''' ||'''Using...''' ||'''Appears as...''' || ||Fw ||F8 ||123 || ||Fw.d ||F8.1 ||123.4 || ||Nw ||N8 ||00000123 || ||Nw.d ||N8.1 ||000123.4 || ---- == Strings == String variables are only formatted to a length. The format is specified as `AN` where `N` is the width. |
String data is stored at a fixed length. This length is defined and adjusted through the format; `Aw` where `w` is the width. |
SPSS Data Types
SPSS supports numeric and string data. There are several formats on top of numeric data that impact visualization, not storage. These include dates and times.
Numeric Data
Numeric data is stored as double-precision floating point. Data formats adjust the printed/ exported representation of a data point, often only truncating the value. Adjusting these data formats does not destroy precision.
Given 123.45...
General Format |
Format |
Representation |
Fw |
F8 |
123 |
Fw.d |
F8.1 |
123.4 |
Nw |
N8 |
00000123 |
Nw.d |
N8.1 |
000123.4 |
Date and Time Formats
See here for more details on date, time, and datetime data.
Format |
Representation |
DATETIME20 |
dd-MMM-yyyy hh:mm:ss |
DATETIME17 |
dd-MMM-yyyy hh:mm |
DATE11 |
dd-MMM-yyyy |
DATE9 |
dd-MMM-yy |
TIME8 |
hh:mm:ss |
TIME5 |
hh:mm |
ADATE10 |
mm/dd/yyyy |
Note that MMM appears as JAN, not 001.
String Data
String data is stored at a fixed length. This length is defined and adjusted through the format; Aw where w is the width.