= 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 [[Stata/DataTypes|type system]]. Several commands have internal ideas about data formats. <> ---- == 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 [[Stata/List#Data_Formats|here]]. ---- CategoryRicottone