1. One of the things I specifically asked was where did the -egen-
code figure out that it was supplied with -by- or -bysort-.

2. On a standalone basis, what does it mean if we use "_all" such
as in `"`args'"' =="_all"? I already AWARE of the usage(s) of _all
in -drop _all-, -program drop _all- etc. This usage of `"`args'"'
=="_all" is NOT documented in the programming manual!

3. In the -egen- code, what the following line achieve? Or intends
to achieve?

local args : subinstr local args "`_sortindex'" "", all word

4. Regarding your comment "The global macros need to be defined so
they can be passed to the other functions (which is why Nick
explicitly mentioned that they are there because local macros would
not work in this context).", I was specifically asking: why do they
need to be passed on to other functions and why do they need to be
defined twice?

5. Yes, I have read the Programming Manual - and none of the
questions I have asked can be resolved using the Manual. Kit Baum's
book as the name suggests is an Introduction. Please let me know if
that book the specifically any of the questions I asked.

Best.
-----Original Message-----

From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of William Buchanan

Which seems like it is parsing different ways that you could
include the
entire varlist in your dataset. And _all is used in more than just
-drop-.

For example, -log query _all- or -program drop _all- are other uses
of

"_all".

3. The global macros need to be defined so they can be passed to
the other

functions (which is why Nick explicitly mentioned that they are there
because local macros would not work in this context).

Have you read the programming manual for Stata yet? If not I would
highly
suggest going through that and possibly looking into other
resources (Kit
Baum's book is pretty awesome). Otherwise, you could probably just
as
easily create a work around using tempvars that you could combine
into a

single variable that is stored at the end of the routine with a loop.
HTH,
Billy
-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu

i.e., where in the egen code, does it figure out that it needs to
sort
before doing a by operation etc (i.e. where does it figure out that
it was
supplied with -by- instead of -bysort- etc). Similarly, in another
part of

Another important thing to consider, with regards to Nick's advice,
is that

he is basically trying to prevent you from making any changes to your

installed copy of Stata that might "break" it. If you're changing
the
global macros in the egen files then you run the risk of making a
change
that prevents egen from working correctly in the future. If you
wanted to

see what those variables are, you could do something like:

viewsource egen.ado (copy the material in the window into the do
file editor

pick the function that you were trying to modify and do the same
thing

(e.g., copy the source into a new file myconcat.ado for example).

Now if you make a call to -myegen- make sure that you are using the
function

that you've duplicated and you can change the global macros in your
duplicate files.

The point, however, is to avoid editing any of the files that are
native to
the Stata installation unless you're willing to risk making
potentially
harmful changes. Additionally, Nick also provided you with an
example
earlier illustrating how you could make the egen subroutine that
you were
interested in byable, so you could just start working with that
code and

I am mixing explanations and advice on different levels. Feel free
to take
the explanations when correct and ignore the advice if it doesn't
appeal.
Otherwise I think Maarten's reply to you captures my attitude well.
It is a
defining characteristic of a discussion list that people aren't
obliged to
offer exactly the kind of support that posters of questions might
prefer.

Nick
I don't understand your line of thought ... you actually want me NOT
to

advance my understanding of programming in Stata? Why are some
folks allowed

to understand advanced programming and others not?

Sorry to say this, but one huge negative of Stata is that there is
so

much

undocumented stuff - and for efficient programming we have to
repeatedly

rely on email lists like this.

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Nick Cox
Sent: Saturday, July 28, 2012 9:33 AM
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: What is EGEN_Varname and EGEN_SVarname ?
These are names of globals defined in -egen- to communicate between
programs, which manifestly can't be done through locals, apart from
using non-documented features. If you're following my earlier advice
you will leave them in peace.
Nick
On 27 Jul 2012, at 16:03, Pradipto Banerjee
<pradipto.banerjee@adainvestments.com

wrote:

I noticed some of the codes, e.g. _ggroup2 use EGEN_Varname and
EGEN_SVarname and recently one of the codes shared by Nick (called
ereplace) use these. What is EGEN_Varname and EGEN_SVarname ?

This communication is for informational purposes only. It is not
intended
to be, nor should it be construed or used as, financial, legal, tax
or
investment advice or an offer to sell, or a solicitation of any
offer to
buy, an interest in any fund advised by Ada Investment Management
LP, the
Investment advisor. Any offer or solicitation of an investment in
any of
the Funds may be made only by delivery of such Funds confidential
offering
materials to authorized prospective investors. An investment in
any of the
Funds is not suitable for all investors. No representation is made
that the
Funds will or are likely to achieve their objectives, or that any
investor
will or is likely to achieve results comparable to those shown, or
will make
any profit at all or will be able to avoid incurring substantial
losses.
Performance results are net of applicable fees, are unaudited and
reflect
reinvestment of income and profits. Past performance is no
guarantee of

future results. All f!

inancial data and other information are not warranted as to
completeness or

accuracy and are subject to change without notice.

Any comments or statements made herein do not necessarily reflect
those of
Ada Investment Management LP and its affiliates. This transmission
may
contain information that is confidential, legally privileged, and/
or exempt
from disclosure under applicable law. If you are not the intended
recipient,
you are hereby notified that any disclosure, copying, distribution,
or use
of the information contained herein (including any reliance
thereon) is
strictly prohibited. If you received this transmission in error,
please
immediately contact the sender and destroy the material in its
entirety,

This communication is for informational purposes only. It is not
intended to be, nor should it be construed or used as, financial,
legal, tax or investment advice or an offer to sell, or a
solicitation of any offer to buy, an interest in any fund advised
by Ada Investment Management LP, the Investment advisor. Any offer
or solicitation of an investment in any of the Funds may be made
only by delivery of such Funds confidential offering materials to
authorized prospective investors. An investment in any of the
Funds is not suitable for all investors. No representation is made
that the Funds will or are likely to achieve their objectives, or
that any investor will or is likely to achieve results comparable
to those shown, or will make any profit at all or will be able to
avoid incurring substantial losses. Performance results are net of
applicable fees, are unaudited and reflect reinvestment of income
and profits. Past performance is no guarantee of future results. Al!

l f!

inancial data and other information are not warranted as to
completeness or accuracy and are subject to change without notice.

Any comments or statements made herein do not necessarily reflect
those of Ada Investment Management LP and its affiliates. This
transmission may contain information that is confidential, legally
privileged, and/or exempt from disclosure under applicable law. If
you are not the intended recipient, you are hereby notified that
any disclosure, copying, distribution, or use of the information
contained herein (including any reliance thereon) is strictly
prohibited. If you received this transmission in error, please
immediately contact the sender and destroy the material in its
entirety, whether in electronic or hard copy format.

This communication is for informational purposes only. It is not
intended to be, nor should it be construed or used as, financial,
legal, tax or investment advice or an offer to sell, or a
solicitation of any offer to buy, an interest in any fund advised
by Ada Investment Management LP, the Investment advisor. Any offer
or solicitation of an investment in any of the Funds may be made
only by delivery of such Funds confidential offering materials to
authorized prospective investors. An investment in any of the
Funds is not suitable for all investors. No representation is made
that the Funds will or are likely to achieve their objectives, or
that any investor will or is likely to achieve results comparable
to those shown, or will make any profit at all or will be able to
avoid incurring substantial losses. Performance results are net of
applicable fees, are unaudited and reflect reinvestment of income
and profits. Past performance is no guarantee of future results. Al!

l f!

inancial data and other information are not warranted as to
completeness or accuracy and are subject to change without notice.

Any comments or statements made herein do not necessarily reflect
those of Ada Investment Management LP and its affiliates. This
transmission may contain information that is confidential, legally
privileged, and/or exempt from disclosure under applicable law. If
you are not the intended recipient, you are hereby notified that
any disclosure, copying, distribution, or use of the information
contained herein (including any reliance thereon) is strictly
prohibited. If you received this transmission in error, please
immediately contact the sender and destroy the material in its
entirety, whether in electronic or hard copy format.

This communication is for informational purposes only. It is not
intended to be, nor should it be construed or used as, financial,
legal, tax or investment advice or an offer to sell, or a
solicitation of any offer to buy, an interest in any fund advised by
Ada Investment Management LP, the Investment advisor. Any offer or
solicitation of an investment in any of the Funds may be made only
by delivery of such Funds confidential offering materials to
authorized prospective investors. An investment in any of the Funds
is not suitable for all investors. No representation is made that
the Funds will or are likely to achieve their objectives, or that
any investor will or is likely to achieve results comparable to
those shown, or will make any profit at all or will be able to avoid
incurring substantial losses. Performance results are net of
applicable fees, are unaudited and reflect reinvestment of income
and profits. Past performance is no guarantee of future results.
All f!
inancial data and other information are not warranted as to
completeness or accuracy and are subject to change without notice.

Any comments or statements made herein do not necessarily reflect
those of Ada Investment Management LP and its affiliates. This
transmission may contain information that is confidential, legally
privileged, and/or exempt from disclosure under applicable law. If
you are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution, or use of the information
contained herein (including any reliance thereon) is strictly
prohibited. If you received this transmission in error, please
immediately contact the sender and destroy the material in its
entirety, whether in electronic or hard copy format.