Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Referring to elements of a varlist in a program
From
Eric Booth <[email protected]>
To
"<[email protected]>" <[email protected]>
Subject
Re: st: Referring to elements of a varlist in a program
Date
Fri, 9 Jul 2010 04:21:50 +0000
<>
Hi Dani:
You were close, just a few minor fixes. The trick in choosing the first or second variable in the `varlist' is to use -tokenize- :
**********!
cap program drop example //added//
program example, rclass
version 10.0
syntax varlist(min=2 max=2 numeric) /* changed */
loc m=0
foreach v of local varlist { /* changed */
qui su `v',mean
loc m=`m'+`r(mean)'
}
//second variable in varlist only //
token `varlist' //added//
qui su `2' /* changed */
local sd = `r(sd)'
local final = `m' / `sd'
**drop m sd //these aren't vars--you don't need to drop them//
return local final = `final'
di as txt "Final result is: `final'" //added//
end
webuse auto, clear
example price mpg
**these should fail**
example price //too few vars
example rep78 price mpg for //too many vars
example rep78 make //fails b/c non-numeric string
**********!
~ Eric
__
Eric A. Booth
Public Policy Research Institute
Texas A&M University
[email protected]
Office: +979.845.6754
On Jul 8, 2010, at 10:57 PM, Dani Tilley wrote:
>
> program example, rclass
> version 10.0
> syntax varlist(min=2 max2)
>
> loc m=0
> foreach v of varlist `varlist' {
> qui su `v',mean
> loc m=`m'+`r(mean)'
> }
>
> qui su varlist[2] ///I don't know how to refer to this
> local sd = `r(sd)'
> local final = `m' / `sd'
> drop m sd
> return local final = `final'
>
> end
*
* 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/