Stata 15 help for version

[P] version -- Version control

Syntax

Show version number to which command interpreter is set

version

Interactively or in do-files (but not in ado-files or programs defined by program)

Set command interpreter to version # and set other features such as random-number generators (RNGs) to version #

version #

version #: command

In ado-files or programs (but not interactively or in do-files)

Set command interpreter to version #, but do not set other features such as RNGs to version #

version # [, born(ddMONyyyy)]

version # [, born(ddMONyyyy)]: command

Everywhere (interactively, in do-files, in ado-files, and in programs)

Set only the other features such as RNGs to version #

version #, user

version #, user: command

Description

version with no arguments shows the current internal version number to which the command interpreter is set. It can be used interactively, in do-files, or in ado-files.

version # sets the command interpreter and other features such as random-number generators to version #. version # is used to allow old programs to run correctly under more recent versions of Stata and to ensure that new programs run correctly under future versions of Stata.

version #: executes command under version # and then resets the version to what it was before the version #: ... command was given.

For information about external version control, see [R] which.

Options

born(ddMONyyyy) is rarely specified and indicates that the Stata executable must be dated ddMONyyyy (for example, 13Jul2013) or later. StataCorp and users sometimes write programs in ado-files that require the Stata executable to be of a certain date. The born() option allows us or the author of an ado-file to ensure that ado-code that requires a certain updated executable is not run with an older executable.

Generally all that matters is the version number, so you would not use the born() option. You use born() in the rare case that you are exploiting a feature added to the executable after the initial release of that version of Stata. See whatsnew to browse the features added to the current version of Stata since its original release.

user causes version to backdate other features of Stata. For instance, the results of Stata's random-number generators (RNGs) change -- improve -- with each version of Stata. The RNGs are said to be under user-version control rather than version control.

If you type version # interactively or in your do-files, Stata not only understands old syntax, it backdates (removes) improvements made after #, such as those to the RNGs. You do not have to specify the user option. The modern version of Stata will still produce the same results as it produced in the past.

Programmers: When you type version # in your programs and ado-files, Stata does not backdate the other improvements. If, for some reason, you want to force the other improvements to be backdated, specify the user option. Option user is seldom used except by those (say, developers at StataCorp) needing to test that Stata works properly.

Remarks

All programs and do-files written for the current version of Stata should include version 15.1 as the first executable statement.

Programs and do-files written for earlier releases should include the appropriate version line at the top.

Stata is continually being improved, meaning that programs and do-files written for older versions might stop working. The solution is to specify the version of Stata that you are using at the top of programs and do-files that you write, for example,

--------------------------------- begin myprog.do --- version 15.1

use mydata, clear regress ... ... ----------------------------------- end myprog.do ---

------------------------------- begin example.ado --- program myprog version 15.1 ... end --------------------------------- end example.ado ---

Future versions of Stata will then continue to interpret your programs correctly.

All programs distributed by StataCorp have a version statement; thus, old programs work even if Stata has changed.

Summary of version changes

There have been many changes made to Stata over the years. Most do not matter in the sense that they will not break old programs even if the version is not set correctly. However, some changes in Stata will break old programs unless the version number is set back to the appropriate version number. The list below outlines these important changes. This list is probably of interest only to those trying to update an old program to a new version's syntax -- most people will just set the version number appropriately instead and not worry about any of this.

If you set version to less than 15.1

1. esizei for F tests after ANOVA has the following changes: a. Epsilon-squared is labeled using "Omega-Squared", and the naive confidence limits are also reported in the table. b. The modern omega-squared statistic is no longer reported.

2. estat esize has the following changes: a. Epsilon-squared is labeled using "Omega-Squared" and, when the omega option is specified, is reported with confidence limits. b. The epsilon option is not allowed.

3. merge will evaluate its keep() option before evaluating its assert() option; thus, it will not result in an error in cases where keep() discarded certain observations that would have violated the specified assert() option.

4. drop and keep do not clear results stored in r(). They do not store r(N_drop) and r(k_drop), the number of observations and number of variables dropped, respectively.

5. gsem assumes the listwise option when the lclass() option is specified.

6. zipfile and unzipfile use a 32-bit library to compress and uncompress zip files, which limits file size to 2 GBs.

If you set version to less than 15.0

1. Scale and auxiliary parameters revert to the eqname:_cons form instead of /eqname for the following estimation commands:

biprobit etpoisson etregress gsem heckman heckoprobit heckprobit irt ivpoisson mecloglog meglm melogit menbreg meologit meoprobit mepoisson meprobit mestreg nbreg ologit oprobit rocfit scobit sem streg tnbreg tobit truncreg xtcloglog xtintreg xtlogit xtnbreg xtologit xtoprobit xtpoisson xtprobit xttobit zinb

2. tobit uses the old syntax; see tobit_14. The linear equation name is reverted to model, and the scale parameter is reverted to sigma:_cons.

3. ml translates /eqname to (eqname:) instead of (eqname:, freeparm).

4. xttobit and xtintreg do not, by default, calculate and display the likelihood-ratio test against the pooled model.

5. The variables within the column names of covariance estimates are reversed for the following estimation commands:

gsem meglm melogit meprobit mecloglog meologit meoprobit mepoisson menbreg mestreg

6. javacall does not require the jars() option to find JAR files, although it is recommended. If the jars() option is not specified, then all JAR files along the ado-path will be added to the class-path for the plugin.

7. estat gof and estat ggof after sem compute the standardized root mean squared residual (SRMR) by standardizing the fitted covariance elements using fitted variances instead of the sample variances.

8. bayesmh excludes omitted regression coefficients such as base levels of factor variables from the estimation matrices e(init), e(Cov), e(ess), e(mcse), e(sd), e(median), e(mean), and e(cri).

9. xtstreg, mestreg, and gsem will use a Weibull log likelihood shifted by log(depvar) for each observation with a failure.

10. streg's strata() option does not treat the stratum variable as a factor variable during estimation. Instead, it generates stratum-specific indicators (dummy variables) for the stratum variable, includes them in the model, and then leaves them behind after estimation in the current dataset. For example, if strata(drug) is specified and drug contains values of 1, 2, and 3, streg, strata(drug) will generate two dummy variables called _Sdrug_2 and _Sdrug_3 and will include them as independent variables in the main equation and as covariates in the equations for ancillary parameters (if any).

11. If user version is less than 15, the levels of factor variables are tracked with the factor instead of the term, even if set fvtrack term is in effect. See set fvtrack.

12. icd10 clean removes the period from the code in the specified variable when it standardize the format of codes.

13. frontier and xtfrontier reverts auxiliary parameter to /ilgtgamma instead of /lgtgamma.

14. bayesmh with nonlinear models follows different rules when you specify linear combinations within substitutable expressions. a. When you specify {xb: x1 x2}, the constant term is not included automatically. That is, {xb: x1 x2} is equivalent to {xb_x1}*x1 + {xb_x2}*x2. b. Options noconstant and xb are not allowed within linear-combination specifications. c. Regression coefficients of linear combinations are defined as {xbname_varname}. For example, if you specify a linear combination {xb: x1 x2}, you refer to regression coefficients of variables x1 and x2 as {xb_x1} and {xb_x2}. d. The specification {xb:z} corresponds to the linear combination containing variable z; that is, {xb_z}*z. In addition, bayesmh uses a different ordering of parameters of nonlinear specifications during simulation and when displaying results. It simulates and displays parameters in the same order as they appear in the nonlinear expression.

15. Matrix stripe name elements using var() or cov() will not be transformed to a canonical form. For example, a stripe element specified as cov(a) will not be transformed to var(a), and a stripe element specified as var(a,b) will not be transformed to cov(a,b).

If you set version to less than 14.2

1. icd10 will use the old syntax and option names.

2. predict after irt, gsem, meglm, melogit, meprobit, mecloglog, meologit, meoprobit, mepoisson, menbreg, and mestreg requires the original estimation sample for computing empirical Bayes means, empirical Bayes modes, and other predictions that are conditional on them.

If you set version to less than 14.1

1. ci and cii use the old syntax; see ci_14_0.

2. eteffects, teffects, and stteffects will put the r. contrast operator on the factor variable in the potential-outcome mean equation (POmean).

3. The ivprobit parameterization of the covariance parameters has changed for models with more than one endogenous covariate. The Cholesky factored covariance parameterization has been replaced with the atanh transformation for the correlation parameters and the log transformation for the standard deviations. Transformed correlation parameters are labeled in the stripe of the coefficient vector as athrhoi_j, i>j, and the transformed standard-deviation parameters are labeled lnsigmai, i > 2.

4. predict, pr after ivprobit and predict, pr after ivtobit now include the residuals from the endogenous model when computing the probabilities. The estimates from ivprobit or ivtobit must be run under version 14.1 or higher.

5. predict after xttobit and xtintreg will allow options pr0(), e0(), and ystar0().

6. putexcel will use the old formatting syntax and overwrite cell formats by default.

7. import delimited will use a tab character (\t) instead of a comma as the default delimiter if it cannot automatically determine the delimiter used in the file.

If you set version to less than 14.0

1. As of Stata 14, Stata's random-number generators (RNGs) were improved, renamed, and restructured; see [R] set seed. The default RNG in Stata 14 is the 64-bit Mersenne Twister (mt64). Before 14, the RNG was the 32-bit KISS (kiss32). If user version is 14, RNG results are based on mt64. If user version is less than 14, RNG results are based on kiss32. This also affects the results of commands that use the RNGs, such as bootstrap, bsample, and the mi suite of commands.

2. If the current RNG is kiss32 and the kiss32 seed has been set to version 13.1 or earlier, then runiform() generates a random variate on the interval [0,1). As of Stata 14, runiform() generates random variates on the interval (0,1) for all RNGs.

3. destring's ignore() option treats asbytes as the default rather than aschars.

4. etregress reports the treatment coefficient without using factor-variable notation (see fvvarlist). An lf evaluator is also used in maximum likelihood estimation (see ml).

5. icd9 and icd9p subcommands check and generate (with option description) will alter the sort order. (Under later versions, they preserve sort order.)

6. ksmirnov reports the corrected p-value for one-sample and two-sample tests.

7. margins after mixed with multilevel weights will use only the observation-level weights when computing means.

8. margins, after the following estimation commands, changes its default prediction when neither option predict() nor option expression() is specified.

a. For heckoprobit, the default is the marginal probability for the first outcome.

b. For manova, mvreg, mgarch ccc, mgarch dcc, mgarch dvech, mgarch vcc, reg3, sureg, varbasic, var, and vec, the default is the linear prediction for the first equation.

c. For mlogit, mprobit, ologit, oprobit, and slogit, the default is the probability for the first outcome.

d. For meologit, meoprobit, and meqrlogit, the default is the probability for the first outcome. For models with random effects, this default will typically cause an error because empirical Bayes estimates are not allowed with margins.

e. For clogit and xtlogit,fe, the default will cause an error because predict(pc1) is not allowed with margins.

f. For gsem, the default is the expected value for the first outcome. For family(multinomial) and family(ordinal), the default is the probability for the first level of the first outcome. For models with latent variables, this default will typically cause an error because empirical Bayes estimates are not allowed with margins.

g. For rologit, the default will cause an error because predict(pr) is not allowed with margins.

h. For sem, the default will cause an error because predict(xb) is not syntactically compatible with margins.

9. mi impute pmm, by default, will perform imputation using one nearest neighbor; that is, it will assume option knn(1).

10. mlogit and mprobit will not account for the base outcome equation when constraints are specified using equation indices. For example,

sysuse auto constraint 1 [#2]turn = [#2]trunk mlogit rep78 turn trunk, baseoutcome(1) constraint(1)

will result in [3]turn = [3]trunk instead of [2]turn = [2]trunk.

mlogit and mprobit will not allow constraints defined using outcome values that are associated with a value label. For example,

label define replab 1 "A" 2 "B" 3 "C" 4 "D" 5 "E" label values rep78 replab constraint 2 [2]turn = [2]trunk mprobit rep78 turn trunk, baseoutcome(1) constraint(1)

will drop constraint 2.

mprobit's estimated coefficients will only be accessible using the outcome value when the equation name is the outcome value.

11. predict after gsem defaults to using the empirical Bayes mean estimates instead of computing predictions that are marginal with respect to latent variables.

12. The default predictions after meglm, melogit, meprobit, mecloglog, meologit, meoprobit, mepoisson, and menbreg are computed using the empirical Bayes mean estimates instead of computing predictions that are marginal with respect to the random effects.

13. reg3 and sureg will let collinear variables be identified using matrix inversion instead of using _rmcoll.

14. svy jackknife will use the default delete-1 multiplier instead of unit values specified in the multiplier() suboption of option jkrweight() of svyset.

If you set version to less than 13.1

1. mecloglog, melogit, and meprobit retain perfect predictors for binary outcome models unless the noasis option is specified.

2. bootstrap and bsample with option idcluster() will create a unique identifier for each resampled cluster but only within strata if the strata() option is specified.

If you set version to less than 13.0

1. The two-argument version of normalden() and lnnormalden(), respectively, return the rescaled standard normal density and its log. The rescaled standard normal density can be interpreted as the density of s*X at s*x, where X is standard normal. The Mata functions normalden() and lnnormalden() have matching behavior.

2. margins will use the standard normal distribution for p-value and confidence interval calculations even if computing margins of the linear prediction and if the current estimation results have the residual degrees of freedom posted to e(df_r).

3. nlcom and predictnl will use the t distribution for p-value and confidence interval calculations if the current estimation results have the residual degrees of freedom posted to e(df_r).

4. testnl will use the F distribution for p-value calculations if the current estimation results have the residual degrees of freedom posted to e(df_r).

5. estimates table will recognize the original meaning of the label option, which is to display variable labels rather than variable names.

6. proportion will use the normal approximation to compute the limits of confidence intervals.

7. tsreport, by default, produces no output and only saves r(N_gaps).

8. predict after boxcox allows statistic xbt. Additionally, statistics yhat and residuals are estimated using the back-transform method, while version 13 uses the smearing method to compute predicted values.

9. When you use macros, the results of string expressions will have leading spaces trimmed.

10. sem will report zero-valued constraints on covariances between exogenous variables.

11. merge will evaluate its keep() option before evaluating its assert() option; thus it will not result in an error in cases where keep() discarded certain observations that would have violated the specified assert() option.

12. decode will create strings of at most 244 characters long, even if value labels are longer than that.

13. infix with the str type specification will create strings of at most 244 characters long.

14. infile (free format) will create strings of at most 244 characters long.

15. file write will write at most 244 characters of the result of a string expression.

16. The domain of the degrees-of-freedom argument of functions nchi2(), invnchi2(), and npnchi2() will be from 1 to 200 (integers only). In version 13.0, this domain is from 2e-10 to 1e+6 (may be nonintegral). The domain (or range) of the noncentrality parameter in functions nchi2(), invnchi2(), and npnchi2() will be from 0 to 1,000. In version 13.0, this domain (or range) is from 0 to 10,000. The Mata functions nchi2(), invnchi2(), and npnchi2() have matching behavior.

If you set version to less than 12.1

1. qreg uses the original standard-error calculation instead of the improved calculation in version 12.1 that uses a better bandwidth and offers options to control the density estimator.

2. rnormal() under user-version 12.0 may produce different variates than rnormal() produces under user-version 12.1. The version of rnormal() is determined by the version at the time you set seed (see item 4 under "If you set version to less than 11.2"). Variates produced under version 12.1 are identical to those produced under version 11.2.

If you set version to less than 12.0

1. xtmixed will report restricted maximum-likelihood (REML) results. If you want maximum likelihood (ML) results, you must specify the mle option.

2. estat gof after poisson will report only the deviance statistic by default. To get the Pearson statistic, you must specify the pearson option.

3. cnsreg will not check for collinear variables prior to estimation even if the collinear option is not specified.

4. margins behaves as if estimtolerance(1e-7) was specified even if a different value is specified.

5. sfrancia uses the Box-Cox transformation instead of an algorithm based on the log transformation for approximating the sampling distribution of the W' statistic for testing normality.

6. mi estimate computes fractions of missing information and relative efficiencies using large-sample degrees of freedom rather than using a small-sample adjustment.

7. mi impute monotone omits imputation variables that do not contain any missing values in the imputation sample from the imputation model.

If you set version to less than 11.2

1. drawnorm produces different results because of changes in the rnormal() function, which are described below.

2. mi impute produces different results because of changes in the rnormal() function, which are described below. The statistical properties of these results are neither better nor worse than modern results, but they are different.

3. Function rnormal(), the Gaussian random-number generation function, produces different values before user-version 11.2. These pseudo-random number sequences were found to be insufficiently random for certain applications.

4. Aside: Version control for all random-number generators is specified at the time the set seed command is given, not at the time the random-number generation function such as rnormal() is used. For instance, typing

. (assume user-version is set to be 11.2 or later)

. set seed 123456789

. any_command ...

causes any_command to use that version of rnormal() even if any_command is an ado-file containing an explicit version statement setting the version to less than 11.2. This occurs because the version of rnormal() that is used was determined at the time the seed was set, and the seed was set under version 11.2 or later.

This works in both directions. Consider

. version 11.1: set seed 123456789

. any_command ...

In this case, any_command uses the older version of rnormal() because the seed was set under version 11.1, before rnormal() was updated. any_command uses the older version of rnormal() even if any_command itself includes an explicit version statement setting the version to 11.2 or later.

Thus both older and newer ado-files can use the newer or older rnormal(), and they can do so without modification. The only case in which you need to modify a do-file or ado-file is when it is older, it contains set seed, and you now want it to use the new rnormal(). In that case, find the set seed command in the do-file or ado-file,

version 10 // for example ... set seed 123456789 ...

and change it to read

version 10 // for example ... version 11.2: set seed 123456789 ...

You need to change only the one line.

5. Aside, continued: Everything written above about prefixing set seed with a version is irrelevant if you are restoring the seed to a state previously obtained from c(rngstate):

set seed X075bcd151f123bb5159a55e50022865700023e53

The string state X075bcd151f123bb5159a55e50022865700023e53 includes the version number at the time the seed was set. Prefixing the above with version, whether older or newer, will do no harm but is unnecessary.

If you set version to less than 11.1

1. xtnbreg, re returns xtn_re in e(cmd2), and xtnbreg, fe returns xtn_fe in e(cmd2). As of version 11.1, xtnbreg instead returns the e(model) macro, containing re, fe, or pa, indicating which model was specified.

If you set version to less than 11.0

1. anova reverts to pre-Stata 11 syntax. Options category(), class(), continuous(), regress, anova, noanova, and detail are allowed, while factor-variable notation (the i. and c. operators) is not allowed. The * symbol indicates interaction (instead of #), and therefore *, -, and ? are not allowed for variable-name expansion. Noninteger and negative values are allowed as category levels.

2. correlate's _coef option is allowed.

3. ereturn display ignores the scalars in e(). As of version 11, ereturn display checks that the value of scalar e(k_eq) contains the number of equations in e(b) if it is set.

4. manova reverts to pre-Stata 11 syntax. Options category(), class(), continuous(), and detail are allowed, while factor-variable notation (the i. and c. operators) is not allowed. The * symbol indicates interaction (instead of #), and therefore *, -, and ? are not allowed for variable-name expansion. Noninteger and negative values are allowed as category levels.

5. odbc insert will insert data by constructing an SQL insert statement and will not use parameterized inserts.

6. odbc load will quote the table name used in the SQL SELECT statement that loads your data unless the noquote option is used.

7. outfile will not export date-formatted variables as strings.

8. predict options scores and csnell after stcox will produce partial, observation-level diagnostics instead of subject-level diagnostics. This matters only if you have multiple records per subject in your survival data.

9. Abbreviating predict option scores with sc after stcox is allowed. Modern syntax requires sco minimally.

10. predict options mgale and csnell after streg will produce partial, observation-level diagnostics instead of subject-level diagnostics. This matters only if you have multiple records per subject in your survival data.

11. Abbreviating predict option csnell with cs after streg is allowed. Modern syntax requires csn minimally.

12. xtreg, re vce(robust) uses the Huber/White/sandwich estimator of the variance-covariance of the estimator (VCE). As of version 11, xtreg, re vce(robust) is equivalent to xtreg, re vce(cluster panelvar), where panelvar identifies the panels.

13. logistic, logit, blogit, and mlogit will not display the exponentiated constant when coefficients are displayed in "eform", for example, odds-ratios instead of coefficients in logistic regression.

If you set version to less than 10.1

1. Function Binomial() is allowed. The modern replacement for Binomial() is binomialtail().

2. canon will display raw coefficients and conditionally estimated standard errors and confidence intervals in a standard estimation table by default, rather than raw coefficients in matrix form.

3. drawnorm uses invnormal(uniform()) to generate normal random variates instead of using rnormal().

4. egen function mode() with option missing will not treat missing values as a category.

5. The reshape J variable value and variable labels and all xij variable labels, when reshaping from long to wide and back to long, will not be preserved.

6. xtmixed, xtmelogit, and xtmepoisson, without an explicit level variable (or _all) followed by a colon in the random-effects specification, assume a specification of _all:.

If you set version to less than 10

1. ca and camat, instead of reporting percent inertias, report inertias such that their sums equal the total inertia.

2. cf, verbose produces the same output as cf, all.

3. clear will perform the same list of actions as clear all, except for program drop _all.

4. cnreg and tobit will no longer accept the vce() option.

5. datasignature runs _datasignature, which is what the datasignature command was in Stata 9.

6. Functions norm(), normd(), normden(), invnorm(), and lnfact(), which were renamed in Stata 9, are allowed. The corresponding modern functions are normal(), normalden(), normalden(), invnormal(), and lnfactorial().

7. graph use will name the graph and window Graph, rather than naming after the filename, unless the name() option is specified.

8. mdslong's force option corrects problems with the supplied proximity information and multiple measurements on (i,j) are averaged. In version 10, measurements for (i,j) and (j,i) are averaged if force is specified, but additional multiple measurements result in an error even if force is specified.

9. mkspline calculates percentiles for linear splines using egen's pctile() function instead of using the centile command. In addition, fweights are not allowed for linear splines.

10. mlogit had the following name changes in its e() results:

Old name New name ------------------------------------- e(basecat) e(baseout) e(ibasecat) e(ibaseout) e(k_cat) e(k_out) e(cat) e(out)

11. odbc load will import date-and-time variables as %td instead of %tc, and TIME data types will be imported as strings.

12. score, a command associated with the factor command of Stata 8, is allowed.

13. sts graph's risktable() option and sts list's survival option are not allowed.

14. syntax [, whatever(real ...)] uses a %9.0g format instead of a %18.0g format for the number placed in the whatever local macro.

15. xtabond will use the version 9 xtabond instead of xtdpd to perform the computations, the output will be in differences instead of levels, and the constant will be a time trend instead of a constant in levels. estat abond and estat sargan will not work, and predict will have the version 9 syntax.

16. xtlogit, xtprobit, xtcloglog, xtintreg, xttobit, and xtpoisson, normal random-effects models will use default intmethod(aghermite).

If you set version to less than 9.2

1. Mata structures introduced in Stata 9.2 are available even if you set version to less than 9.2. The only version control issue is that the format of .mlib libraries is different. You do not need to recompile old Mata code. However, because of the format change, you will not be able to add new members to old libraries. Libraries cannot contain a mix of old and new code. To add new members, you must first rebuild the old library.

If you set version to less than 9.1

1. logit, probit, and dprobit will accept aweights. Support for aweights was removed from these commands because the interpretation of aweighted data is nonsensical for these models.

2. nl will not allow the vce() option; no longer reports each parameter as its own equation; reports the previous sum of squares after each iteration instead of the new sum of squares in the iteration log; reports an overall model F test; allows fewer predict options; and will not allow mfx or lrtest postestimation commands.

3. permute uses one random uniform variable (instead of two) to generate Monte Carlo permutations of the permute variable.

4. xtreg, fe adjusts the robust-cluster VCE for the within transform.

5. xtreg, fe and xtreg, re do not require that the panels are nested within the clusters when computing the cluster-robust VCE.

If you set version to less than 9

1. svyset reverts to pre-Stata 9 syntax and logic. The dataset must be svyset by the pre-Stata 9 svyset command to use the pre-Stata 9 estimation commands svygnbreg, svyheckman, svyheckprob, svyivreg, svylogit, svymlogit, svynbreg, svyologit, svyoprobit, svypoisson, svyprobit, and svyregress.

2. factor, pca, and related commands revert to pre-Stata 9 behavior.

To begin with, factor and pca store things differently. Before Stata 9, these commands were a strange mix of e-class and r-class; they set e(sample) but otherwise mostly stored results in r(). They also stored secret matrices under odd names that everyone knew about and fetched via matrix get(). All of that is restored.

Second, factor, ml protect uses a different random-number generator, one that is not settable by the more modern factor's seed() option.

Third, rotate reverts to pre-Stata 9 syntax and logic.

Fourth, old command score stops issuing warning messages that it is out of date.

Finally, old command greigen works as it used to work, syntax and logic. (As of Stata 9, greigen was undocumented and configured to call through to the modern screeplot.)

3. nl reverts to pre-Stata 9 syntax.

4. bootstrap, bstat, and jknife revert to pre-Stata 9 syntax and logic.

5. rocfit reverts to pre-Stata 9 syntax and logic.

6. sw reverts to pre-Stata 9 syntax and logic.

7. cluster dendrogram reverts to pre-Stata 9 syntax and logic.

8. Pre-Stata 8 [sic] command xthausman will work. xthausman was replaced by hausman in Stata 8.

9. irf graph and xtline allow the byopts() option to be abbreviated by() rather than requiring at least byop().

10. dotplot will allow the by() option as a synonym for the over() option.

11. glm defaults the iterate() option to 50 rather than c(maxiter).

12. histogram places white space below the horizontal axis.

13. ml display changes the look of survey results.

14. ologit and oprobit revert to pre-Stata 9 logic in how e(b) and e(V) are stored. Results were stored in two equations, with all cutpoints stored in the second.

15. tobit and cnreg revert to pre-Stata 9 logic in how e(b) and e(V) are stored. Results were stored in one equation containing both coefficients and the ancillary variance parameter.

16. tabstat returns a result in matrix r(StatTot) rather than r(StatTotal).

17. glogit and gprobit, the weighted-least-squares estimators, use a different formula for the weights. In Stata 9, a new (better) formula was adopted, see Greene (1997, Econometric Analysis, 3rd ed., Prentice Hall, 896).

18. xtintreg, xtlogit, xtprobit, xtcloglog, xtpoisson, and xttobit revert to using nonadaptive Gauss-Hermite quadrature rather than adaptive quadrature. Also, the quad() option (modern name intpoints()) comes back to life.

19. set help will be allowed (but it will not do anything).

20. In input, \\ will be substituted to \ always, not just after the macro-substitution characters $ and `.

If you set version to 8.1 or less

1. graph twoway default axis titles show the labels or variable names for all variables plotted on an axis instead of leaving the axis title blank when the axis represents multiple variables.

2. clogit will not allow the vce() option nor many of the ml maximize options.

If you set version to 8.0 or less

1. ml ignores the constraint() option if there are no predictors in the first equation.

2. outfile automatically includes the extended missing-value codes (.a, .b, ..., .z) in its output. With version 8.1 or later, extended missing-value codes are treated like the system missing value . and are changed to null strings ("") unless the missing and comma options are specified.

If you set version to 7.0 or less

1. graph uses the old syntax; see graph7.

2. estimates reverts to the previous interpretation and syntax, and _estimates and ereturn are not recognized as Stata commands.

3. The svy commands allow the svyset parameters to be specified as part of the command.

4. Also, the following commands revert to their old syntax: ac, acprplot, avplot, avplots, bootstrap, bs, bsample, bstat, cchart, cprplot, cumsp, cusum, dotplot, findit, fracplot, gladder, greigen, grmeanby, histogram, intreg, kdensity, lowess, lroc, lsens, ltable, lvr2plot, newey, pac, pchart, pchi, pergram, pkexamine, pksumm, pnorm, qchi, qladder, qnorm, qqplot, quantile, rchart, roccomp, rocplot, roctab, rvfplot, rvpplot, serrbar, shewhart, simulate, spikeplot, stci, stcoxkm, stcurve, stphplot, stphtest, strate, sts, symplot, tabodds, test, wntestb, xchart, and xcorr. Most of these are because of the change of the graph command.

5. Throughout Stata, . == .a == .b == ... == .z.

6. Missing values in matrices are less likely to be accepted.

7. generate x = string_expression will produce an error; you are required to specify the type; see [D] generate.

8. if, while, foreach, forvalues, and other commands that use the open and close braces, { and }, often allow the item enclosed in the braces to appear on the same line as the braces.

9. test allows the coefficient names not to match 1 to 1 (regardless of order) when testing equality of coefficients of two equations. The test is performed on the coefficients in common.

10. list allows the doublespace option, which is then treated as if it were the separator(1) option. Also, even with the version set to 7.0 or less, list uses the new style of listing unless the clean option is specified to remove the dividing and separating lines.

11. outfile uses right justification for strings.

12. reldif(x,y) with x and y as equal missing values, such as reldif(.r,.r), returns system missing (.) instead of 0.

13. query, in addition to showing all the settings normally shown, shows the values of set parameters that apply only to the earlier versions.

14. matrix score, when looking up variable names associated with the elements of the specified vector, expands variable name abbreviations.

15. xthausman continues to work (for one more release) but recommends the use of hausman instead.

If you set version to 6.0 or less

1. Macro substitution is made on the basis of the first seven (local) or eight (global) characters of the name; `thisthatwhat' is the same as `thistha'.

2. syntax returns the result of parsing a long option name in the local macro formed from the first seven characters of the option name.

3. display starts in non-SMCL mode; the in smcl directive may be used to set smcl mode on.

4. invt(df,p) returns the inverse two-tailed cumulative t distribution; invttail(df,(1-p)/2) is a new alternative to invt(df,p). In version 13.0, invt(df,p) returns the inverse cumulative Student's t distribution: if t(df,t) = p, then invt(df,p) = t.

5. invchi() works; invchi2(a,1-b) is a new alternative to invchi(a,b).

6. post will allow expressions that are not bound in parentheses.

7. Option basehazard() is allowed in cox and stcox; it has been renamed to basehc(), which is understood regardless of version setting.

8. log using can have a noproc option.

9. log close, log off, and log on will close, turn off, or turn on a cmdlog if present and a log is not.

10. set log linesize, set log pagesize, set display linesize, and set display pagesize are allowed.

11. Extended macro functions log, set log linesize, and set log pagesize enabled.

12. insheet will recognize only the first eight characters of variable names and will provide default names for variables if the first eight characters are not unique.

13. jackknife (or jknife) will call the older STB version of the command.

If you set version to 5.0 or less

1. date() defaults to twentieth century for two-digit years.

2. predict becomes the built-in command equivalent to _predict.

3. , & \ matrix operators allow the first matrix to not exist; now use nullmat().

4. matrix ...=get(_b) returns a matrix instead of a row vector after mlogit.

5. test after anova understands the error() option instead of the new "/" syntax.

6. ologit and oprobit default weight types are aweights.

7. heckman default weight type is fweights.

8. svyregress, svylogit, and svyprobit compute meff and meft by default.

[Note: For xtgee, xtpoisson, and xtprobit, the default will not be aweights as you would expect under version control; iweights is the default despite setting the version number back to 5.0.]

If you set version to 4.0 or less

1. -2^2 = (-2)^2 = 4 (After 4.0: -2^2 = -(2^2) = -4)

2. describe sets the contents of _result() differently.

3. merge does not automatically promote variables.

4. logit and probit default weight types are aweights.

5. set prefix is shown by query.

6. hareg, hereg, hlogit, hprobit, and hreg work.

7. collapse has the old syntax.

If you set version to 3.1 or less

1. uniform() refers to the old random-number generator.

2. set seed sets the old random-number seed.

3. replace defaults to nopromote behavior.

4. The old %macro notation is allowed (it no longer is).

If you set version to 3.0 or less

1. tempfiles are not automatically erased.

If you set version to 2.5 or less

1. Missing strings are stored as "." by infile.

If you set version to 2.1 or less

1. display does not respect quietly.

2. Macros hold numbers in short format.

Using the old Stata 3.1 random-number generator

uniform() and set seed refer to the old Stata 3.1 random-number generator if you set version 3.1 or earlier. You can also access the old random-number generator even with version set to 15.1 by referring to uniform0(). You can set the old random-number generator's seed by typing set seed0 -- it works just like set seed; see seed. The initial seed of the old random-number generator is set seed0 1001.

There is no reason you should want to use the old random-number generator. It was satisfactory but the new one is better.


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index