Size: 3523
Comment:
|
Size: 1567
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from SPSSFormats = 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 10: | Line 10: |
== Numeric Data == | |
Line 11: | 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 13: | Line 14: |
=== A warning about data input === | Given 123.45... |
Line 15: | 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 30: | Line 24: |
=== Datetime formats === | === Date and Time Formats === |
Line 32: | 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 44: | 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 45: | 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. * Built-in formats. compute datetime=string(tmp_date, ADATE10). execute. * Manual formats. 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 119: | Line 43: |
== Numerics == | == String Data == |
Line 121: | 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.