Size: 4987
Comment:
|
Size: 5109
Comment: Partial rewrite
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
== Abs == ---- == Ceil == ---- == CLogLog == ---- == Comb == ---- == Dhms == Convert an date value (formatted as `%td) plus an hour, minute, and second into the number of milliseconds since the Stata epoch (`01jan1960 00:00:00.000`) ''ignoring'' leap seconds. {{{ generate double datetime = dhms(dmy(day, month, year), hour, minute, second) format date %tc }}} See also `Cdhms`, which creates returns a number that should instead be formatted as `%tC` because it does ''not'' ignore leap seconds. ---- == DiGamma == ---- == Dmy == Convert a day, month, and year into the number of days since the Stata epoch (`01jan1960 00:00:00.000`). {{{ generate long date = dmy(day, month, year) format date %td }}} ---- == Exp == ---- == ExpM1 == ---- == Floor == ---- == Hms == Convert an hour, minute, and second into the number of milliseconds since midnight ''ignoring'' leap seconds. {{{ generate double datetime = hms(hour, minute, second) format date %tc }}} See also `Chms`, which creates returns a number that should instead be formatted as `%tC` because it does ''not'' ignore leap seconds. ---- == Int == ---- == InvCLogLog == ---- == InvLogit == ---- == Ln == ---- == Ln1M == ---- == Ln1P == ---- == LnFactorial == ---- == LnGamma == ---- == Log == ---- == Log10 == ---- == Log1M == ---- == Log1P == ---- == Logit == ---- |
== General Purpose == ||'''Function Name'''||'''Meaning''' ||'''Example'''|| ||`abs(n)` ||Absolute value function || || ||`ceil(n)` ||Round up to an integer || || ||`comb(n,k)` ||[[Statistics/Combinations|Combinatorial function|| || ||`exp(n)` ||Exponential function: ''e^n^'' || || ||`expm1(n)` ||High precision implementation of `exp(n)-1` || || ||`floor(n)` ||Round down to an integer || || ||`int(n)` ||Round towards 0 to an integer ||`-5 = int(-5.8)`|| ||`invlogit(n)` ||Inverse [[Statistics/Logit|logit function]] || || ||`ln(n)` ||Natural log function || || ||`logit(n)` ||[[Statistics/Logit|Logit function]] || || ||`ln1m(n)` ||High precision implementation of `ln(n-1)` || || ||`ln1p(n)` ||High precision implementation of `ln(n+1)` || || ||`round(n,p)` ||Round to the nearest value for a given precision|| || ---- == Date and Time Functions == ||'''Function Name'''||'''Meaning''' ||'''Output Format'''||'''Example'''|| ||`dhms(d,h,m,s)` ||Attach hour, minute, and second data to a date ||`%tc` || || ||`dmy(d,m,y)` ||Calculate a date from a year, month, and day ||`%td` || || ||`Cdhms(d,h,m,s)` ||Attach hour, minute, and second data to a date ||`%tC` || || ||`hms(h,m,s)` ||Calculate a time from an hour, minute, and second||`%tc` || || ||`Chms(h,m,s)` ||Calculate a time from an hour, minute, and second||`%tC` || || Note that `%tc` formats ignore leap seconds, while `%tC` formats do ''not''. ---- == Statistical Functions == ||'''Function Name'''||'''Meaning''' ||'''Example''' || ||`invnormal` ||Inverse cumulative standard normal distribution||`1.959964 = invnormal(1-0.05/2)`|| ||`normal` ||Cumulative standard normal distribution ||`.9750021 = normal(1.96)` || ---- |
Line 232: | Line 118: |
== RBeta == ---- == RBinomial == ---- == RCauchy == ---- == RChi2 == ---- == RelDif == ---- == RExponential == ---- == RGamma == ---- == RHypergeometric == ---- == RIGaussian == ---- == RLaplace == ---- == RLogistic == ---- == RNBinomial == ----- == RNormal == ---- |
|
Line 314: | Line 122: |
== RPoisson == ---- == RT == ---- |
|
Line 351: | Line 148: |
== RUniformInt == ---- == RWeibull == ---- == RWeibullPH == ---- |
|
Line 400: | Line 180: |
== TriGamma == ---- |
Stata Numeric Functions
Stata supports these numeric functions in the global scope.
Contents
General Purpose
Function Name |
Meaning |
Example |
abs(n) |
Absolute value function |
|
ceil(n) |
Round up to an integer |
|
comb(n,k) |
[[Statistics/Combinations|Combinatorial function |
|
exp(n) |
Exponential function: en |
|
expm1(n) |
High precision implementation of exp(n)-1 |
|
floor(n) |
Round down to an integer |
|
int(n) |
Round towards 0 to an integer |
-5 = int(-5.8) |
invlogit(n) |
Inverse logit function |
|
ln(n) |
Natural log function |
|
logit(n) |
|
|
ln1m(n) |
High precision implementation of ln(n-1) |
|
ln1p(n) |
High precision implementation of ln(n+1) |
|
round(n,p) |
Round to the nearest value for a given precision |
|
Date and Time Functions
Function Name |
Meaning |
Output Format |
Example |
dhms(d,h,m,s) |
Attach hour, minute, and second data to a date |
%tc |
|
dmy(d,m,y) |
Calculate a date from a year, month, and day |
%td |
|
Cdhms(d,h,m,s) |
Attach hour, minute, and second data to a date |
%tC |
|
hms(h,m,s) |
Calculate a time from an hour, minute, and second |
%tc |
|
Chms(h,m,s) |
Calculate a time from an hour, minute, and second |
%tC |
|
Note that %tc formats ignore leap seconds, while %tC formats do not.
Statistical Functions
Function Name |
Meaning |
Example |
invnormal |
Inverse cumulative standard normal distribution |
1.959964 = invnormal(1-0.05/2) |
normal |
Cumulative standard normal distribution |
.9750021 = normal(1.96) |
Max
Mdy
Convert a month, day, and year into the number of days since the Stata epoch (01jan1960 00:00:00.000).
generate long date = mdy(month, day, year) format date %td
Mdyhms
Convert a day, month, year, hour, minute, and second into the number of milliseconds since the Stata epoch (01jan1960 00:00:00.000) ignoring leap seconds.
generate double datetime = mdyhms(month, day, year, hour, minute, second) format date %tc
See also Cmdyhms, which creates returns a number that should instead be formatted as %tC because it does not ignore leap seconds.
Min
Mod
Real
Round
RUniform
runiform(a,b) returns a random number between a and b. If no parameters are specified, the defaults of 0 and 1 are used.
Below is a demonstration for how an SRS sample can be drawn.
set seed 123456 generate double r_sampled = runiform() sort r_sampled generate byte sampled = _n <= 100
The return value is a double; it will be within a + c(epsdouble) and b − c(epsdouble).
By default, runiform uses the 64-bit Mersenne Twister algorithm. Alternate algorithms are available; see set rng.
See also set seed for designing deterministic programs.
Sign
SqRt
String
Alias for strofreal.
StrOfReal
Sum
Trunc
Y
Convert a year into the number of years since the Stata epoch (01jan1960 00:00:00.000).
generate int year = y(year) format year %ty
Yh
Convert a year and half year into the number of half years since the Stata epoch (01jan1960 00:00:00.000).
generate int halfyears = yh(year, halfyear) format halfyears %th
Ym
Convert a year and month into the number of months since the Stata epoch (01jan1960 00:00:00.000).
generate int months = y(year, month) format months %tm
Yq
Convert a year and quarter into the number of years since the Stata epoch (01jan1960 00:00:00.000).
generate int quarters = yq(year, quarter) format quarters %tq
Yw
Convert a year and week into the number of weeks since the Stata epoch (01jan1960 00:00:00.000).
generate int weeks = yw(year, week) format weeks %tw