Stata Data Formats

The Stata data file format encodes variable metadata including display formats. While these formats primarily affect visualization, they can also encode critical information about how a variable should be used.

See also the underlying data types.


Display Formats

A display format is set like:

generate double my_datetime = clock(some_string, "YMDhms")
format my_datetime %tc


Numeric Formats

For the most part, all numeric types operate the same way in Stata.

See Numeric Functions for operating on this type of data.

Each underlying numeric data format applies a different display format by default. They are:

Type

Format

double

%10.0g

float

%9.0g

long

%12.0g

int

%8.0g

byte

%8.0g

The available numeric formats are:

As an example:

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 display commas.


Date and Datetime Formats

Dates and datetimes are numeric data with a standardized, encoded meaning. The display format is what indicates the intended encoding. For the most part, this type of data counts days or milliseconds from the Stata epoch: 01jan1960 00:00:00.000.

See Datetime Functions for operating on this type of data.

Specifically, the date and datetime formats 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 further customized, for visualization purposes only, 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.


See also

Stata datetimes


CategoryRicottone

Stata/DataFormats (last edited 2025-03-05 02:10:25 by DominicRicottone)