You can do it much more directly.
gen rowposmin = .
qui foreach v of varlist v? {
replace rowposmin = min(rowposmin, `v') if `v' > 0
}
-egen- is fine for the hundred or so problems for which canned recipes
are available. For the thousands of equally plausible problems of
similar kind that might arise, it is a bit of distraction.
Nick
[email protected]
Rajesh Tharyan
One way would be to use egen. -help egen - however, the negative values
will
be picked up. To avoid that I create a new variable for each old one
with
missing values replacing values<0.
* create new variables & replace negative with missing values
foreach var of varlist v1- v4 {
gen `var'i=`var'
replace `var'i=. if `var'i<0
}
* use egen to get the minimum of the row
egen min=rowmin(v1i- v4i)
* drop unnecessary variables
drop v*i
Murali Kuchibhotla
I have a dataset that looks like this:
Obs. V1 V2 V3 V4
1 -1 -2 3 5
2 4 5 7 9
I would like to create a variable that picks out the minimum positive
value
from each row, i.e. one that picks out 3 from row 1 and 4 from row 2.How
do
I
accomplish this?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/