[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
st: Re: egen rowmin rowmax
This should not be necessary.
may not be combined with by. It creates the (row) sum
variables in varlist, treating missing as 0.
may not be combined with by. It gives the minimum value
for each observation (row). If all values in varlist
are missing for
an observation, newvar is set to missing.
The egen rowtotal function will properly handle missings, and it
properly handles varlists, including
the form firstvar-lastvar. (Remember that this is not the alpha order
of your vars, but the data set order) Thus
egen tot = rowtotal(price-headroom)
will produce a variable with 74 obs. even though rep78 is in there.
You refer to an egen function total(), which produces something
quite different: a constant which is the sum of an exp. An exp of,
say, price-headroom is exactly that: subtract headroom from price and
sum it up. If MVs make the exp missing, then the sum will be missing.
Perfectly logical: you get what you ask for. But you probably meant
to use rowtotal.
Furthermore the rowmin function will properly pick out the minimum
value, ignoring missings, unless all are
missing, so it should return zero for a row with all (or some)
zeroes, greater than zero otherwise, if none of your rows contain all
Kit Baum, Boston College Economics
An Introduction to Modern Econometrics Using Stata:
On Nov 5, 2006, at 2:33 AM, statalist-digest wrote:
As it turns out, egen [var] = rowsum([varlist]) is equivalent to
egen [var] = total([varlist]).
My solution turned out to be to replace all of the zeros in the seq*
cells with missings, then execute
egen byte minmath = rowmin(seq*) /*without the condition!*/
and add the following line of code:
replace minmath = 0 if minmath==.
* For searches and help try: