Size: 3879
Comment:
|
Size: 6509
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Stata uses '''display formats''' to extend the [[Stata/DataTypes|type system]]. | In the topic of data formats in Stata, the concept of '''display formats''' is of primary interest. Stata uses display formats to extend the [[Stata/DataTypes|type system]]. Several commands have internal ideas about data formats. |
Line 15: | Line 17: |
=== Numeric Data === | === Numeric Formats === |
Line 34: | Line 36: |
---- | |
Line 36: | Line 39: |
=== Date and Datetime Data === | === Date and Datetime Formats === |
Line 50: | Line 54: |
These formats can be customized with specific components. ||'''Component''' ||'''Specification'''||'''Displays As''' || ||Century ||`CC` ||`01`-`99` || ||Century ||`cc` ||`1`-`99` || ||Year ||`YY` ||`01`-`99` || ||Year ||`yy` ||`1`-`99` || ||Day of year ||`JJJ` ||`001`-`366` || ||Day of year ||`jjj` ||`1`-`366` || ||Month ||`Mon` ||`Jan`-`Dec` || ||Month ||`Month` ||`January`-`December` || ||Month ||`mon` ||`jan`-`dec` || ||Month ||`month` ||`january`-`december` || ||Month ||`NN` ||`01`-`12` || ||Month ||`nn` ||`1`-`12` || ||Day ||`DD` ||`01`-`31` || ||Day ||`dd` ||`1`-`31` || ||Day of week ||`DAYNAME` ||`Sunday`-`Saturday` (aligned) || ||Day of week ||`Dayname` ||`Sunday`-`Saturday` (unaligned)|| ||Day of week ||`Day` ||`Sun`-`Sat` || ||Day of week ||`Da` ||`Su`-`Sa` || ||Day of week ||`day` ||`sun`-`sat` || ||Day of week ||`da` ||`su`-`sa` || ||Half-year ||`h` ||`1` or `2` || ||Quarter ||`q` ||`1`-`4` || ||Week ||`WW` ||`01`-`52` || ||Week ||`ww` ||`1`-`52` || ||Hour ||`HH` ||`00`-`23` || ||Hour ||`Hh` ||`00`-`12` || ||Hour ||`hH` ||`0`-`23` || ||Hour ||`hh` ||`0`-`12` || ||Minute ||`MM` ||`00`-`59` || ||Minute ||`mm` ||`0`-`59` || ||Second ||`SS` ||`00`-`60` (due to leap second) || ||Second ||`ss` ||`0`-`60` (due to leap second) || ||Tenths ||`.s` ||`.0`-`.9` || ||Hundredths ||`.ss` ||`.00`-`.99` || ||Thousandths ||`.sss` ||`.000`-`.999` || ||AM/PM ||`am`/`pm` ||`am` or `pm` || ||AM/PM ||`a.m.`/`p.m.` ||`a.m.` or `p.m.` || ||AM/PM ||`AM`/`PM` ||`AM` or `PM` || ||AM/PM ||`A.M.`/`P.M.` ||`A.M.` or `P.M.` || ||Period ||`.` ||`.` || ||Comma ||`,` ||`,` || ||Colon ||`:` ||`:` || ||Hyphen ||`-` ||`-` || ||Space ||` ` ||` ` || ||Forward slash ||`/` ||`/` || ||Back slash ||`\` ||`\` || ||Literal character||`!c` ||`c` || A plus sign (`+`) can optionally delimit components for human readability. It is ignored otherwise. ---- |
|
Line 52: | Line 110: |
=== String Data === | === String Formats === |
Line 62: | Line 121: |
The '''`list`''' command examines data to (re-)allocate text width. If the longest value for a string variable with format `%18s` is 12 characters long, then `list` will only allocate 12 columns for that variable. This behavior can be disabled using the '''`nocompress`''' option. Note that the default behavior has an impact on performance, especially for large datasets. As such, there is a '''`fast`''' option which is simply an alias for `nocompress`. To truncate string values specifically, use the '''`string`''' option. {{{ list comment, string(10) }}} === String Value Alignment === The `list` command automatically shifts between two output modes based on the width of the listed variables and the width of the screen. In '''table format''', the `list` command right-justifies all string values. In '''display format''', string values are aligned according to the display format. A string value would be left-justified if the variable had a format of `%-18s`. === Variable Names === The `list` command also abbreviates variable names (defaulting to 8 characters). To increase that character limit, use the '''`abbreviate`''' option. {{{ list very_long_variable_name, abbreviate(50) }}} === Value Labels === The `list` command also uses labels (as opposed to values) when available. To override this behavior, use the '''`nolabel`''' option. Value labels are aligned in the same way as string values; based on the output mode and the display format. Just as a string value would be left-justified if the variable had a format of `%-18s`, a label would be justified if the variable had a format of `%-8g`. |
The '''`list`''' command resizes and reformats output to try and maximize accessibility. This involves automated truncation and alignment overriding display formats. For information on formatting the output of `lists`, see [[Stata/List#Data_Formats|here]]. |
Stata Data Formats
In the topic of data formats in Stata, the concept of display formats is of primary interest. Stata uses display formats to extend the type system.
Several commands have internal ideas about data formats.
Contents
Display Formats
Numeric Formats
The default display format for each numeric data type is as follows:
Type |
Format |
double |
%10.0g |
float |
%9.0g |
long |
%12.0g |
int |
%8.0g |
byte |
%8.0g |
The available numeric formats are e, f, and g. The general format (g) indicates that the number of decimal places should be shifted to improve readability. The fixed width format (f) indicates that a fixed number of decimal places should be shown. The scientific format (e) indicates that scientific notation should be used.
Value |
With format %9.4g |
With format %9.4f |
With format %9.2e |
3.14159 |
3.142 |
3.14 |
3.14e+00 |
314.159 |
314.2 |
314.16 |
3.14e+02 |
A c can be appended to any numeric format to indicate that commas should be shown.
Date and Datetime Formats
Dates and datetimes are numeric data with unit-specific display formats. These are:
Format |
Unit |
%tc |
milliseconds ignoring leap seconds |
%tC |
milliseconds with leap seconds |
%td |
days |
%tw |
weeks |
%tm |
months |
%tq |
quarters |
%th |
half-years |
%ty |
years |
These formats can be customized with specific components.
Component |
Specification |
Displays As |
Century |
CC |
01-99 |
Century |
cc |
1-99 |
Year |
YY |
01-99 |
Year |
yy |
1-99 |
Day of year |
JJJ |
001-366 |
Day of year |
jjj |
1-366 |
Month |
Mon |
Jan-Dec |
Month |
Month |
January-December |
Month |
mon |
jan-dec |
Month |
month |
january-december |
Month |
NN |
01-12 |
Month |
nn |
1-12 |
Day |
DD |
01-31 |
Day |
dd |
1-31 |
Day of week |
DAYNAME |
Sunday-Saturday (aligned) |
Day of week |
Dayname |
Sunday-Saturday (unaligned) |
Day of week |
Day |
Sun-Sat |
Day of week |
Da |
Su-Sa |
Day of week |
day |
sun-sat |
Day of week |
da |
su-sa |
Half-year |
h |
1 or 2 |
Quarter |
q |
1-4 |
Week |
WW |
01-52 |
Week |
ww |
1-52 |
Hour |
HH |
00-23 |
Hour |
Hh |
00-12 |
Hour |
hH |
0-23 |
Hour |
hh |
0-12 |
Minute |
MM |
00-59 |
Minute |
mm |
0-59 |
Second |
SS |
00-60 (due to leap second) |
Second |
ss |
0-60 (due to leap second) |
Tenths |
.s |
.0-.9 |
Hundredths |
.ss |
.00-.99 |
Thousandths |
.sss |
.000-.999 |
AM/PM |
am/pm |
am or pm |
AM/PM |
a.m./p.m. |
a.m. or p.m. |
AM/PM |
AM/PM |
AM or PM |
AM/PM |
A.M./P.M. |
A.M. or P.M. |
Period |
. |
. |
Comma |
, |
, |
Colon |
: |
: |
Hyphen |
- |
- |
Space |
|
|
Forward slash |
/ |
/ |
Back slash |
\ |
\ |
Literal character |
!c |
c |
A plus sign (+) can optionally delimit components for human readability. It is ignored otherwise.
String Formats
Alignment is controlled by the presence or absence of a negative sign (-) ahead of the width. A string variable formatted as %-18s will be left-justified; with a format of %18s it would have been right-justified.
List
The list command resizes and reformats output to try and maximize accessibility. This involves automated truncation and alignment overriding display formats. For information on formatting the output of lists, see here.