| |
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: executing a command based on the prefix of variables
I don't know how large your data-set is and what you intend to do with
the resulting summary statistics.
However, an easy way to generate tables along the lines you seem to want
them would be this:
tabstat telephone*, s(mean n max min med) c(s)
tabstat clock*, s(mean n max min med) c(s)
tabstat cltv*, s(mean n max min med) c(s)
tabstat bicycle*, s(mean n max min med) c(s)
HTH,
Ph
Yusuke Taishi wrote:
Thanks for your help and sorry for the ambiguity in my explanation.
I was able to construct a foreach command that generates the same
results as your suggestions.
But the results from tabstat are displayed like the following;
variable | mean N max min p50
-------------+--------------------------------------------------
telephone | 1.960888 2659 2 1 2
----------------------------------------------------------------
variable | mean N max min p50
-------------+--------------------------------------------------
telephoneno | 1.25 104 5 1 1
----------------------------------------------------------------
variable | mean N max min p50
-------------+--------------------------------------------------
telephonesh | 1.929293 99 2 1 2
----------------------------------------------------------------
variable | mean N max min p50
-------------+--------------------------------------------------
telephones~o | 4.428571 7 20 1 2
----------------------------------------------------------------
But what I wanted to do was actually producing following results by loop;
variable | mean N max min p50
-------------+--------------------------------------------------
telephone | 1.960888 2659 2 1 2
telephoneno | 1.25 104 5 1 1
telephonesh | 1.929293 99 2 1 2
telephones~o | 4.428571 7 20 1 2
----------------------------------------------------------------
variable | mean N max min p50
-------------+--------------------------------------------------
clock | 1.285446 2659 2 1 1
clockno | 1.996839 1898 15 1 2
----------------------------------------------------------------
i.e. displaying the results from tabstat by the set of variables that
shares the same prefix.
Of course, the above examples were achieved by writing a single command
line for each group.
But as I have many such variables, I would somehow want to do this with
foreach command(s).
Yusuke
At 06:30 PM 9/28/2006, you wrote:
I am not sure whether I understand exactly what you want to do, but
this may help.
1) You could loop over variable lists, along the following lines:
foreach first of varlist telephone* clock* cltv* bicycle* {
tabstat `first', s(mean n max min med) c(s)
}
2) If the order matters, you could write a more complicated loop,
maybe like this:
foreach first of varlist telephone clock cltv bicycle {
foreach second in no sh shno {
tabstat `first', s(mean n max min med) c(s)
capture tabstat `first'`second', s(mean n max min med) c(s)
}
}
(The capture is necessary because not all variables are included with
the same suffixes).
I don't know what you are trying to achieve with this, but there may
be more straightforward ways to do this. -collapse- and -reshape- may
be useful for you (again, depending on what you want to do).
HTH,
Philipp
Yusuke Taishi wrote:
I have a data set that contains variables like;
telephone
telephoneno
telephonesh
telephoneshno
clock
clockno
cltv
cltvno
bicycle
bicycleno
bicyclesh
bicycleshno
and many more. As you can see, they take the form of ;
"name of item"
"name of item"no; or
["name of item"sh / "name of item"shno, whenever appropriate].
I would like to tell STATA to look at the names of variables and
execute;
tabstat `var', s(mean n max min med) c(s)
only for the set of variables that contains the same prefix, and loop
over the
next set of variables, and then next, and so on.
I tried to embed ifcmd or subinstr command in the loop but haven't
been able
to pull it off. I feel like I'm missing out something very basic.
Thanks in advance for your help.
Yusuke
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/