[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
"Nick Cox" <n.j.cox@durham.ac.uk> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
st: RE: Graph Bar |

Date |
Tue, 27 Sep 2005 20:34:21 +0100 |

Katarina's data are like this: . tab year acexist | acexist year | 0 1 | Total -----------+----------------------+---------- 2000 | 29 26 | 55 2001 | 24 61 | 85 2002 | 69 134 | 203 2003 | 56 152 | 208 2004 | 50 160 | 210 -----------+----------------------+---------- Total | 228 533 | 761 -graph bar- won't deliver the reduction she wants, at least not without some preparation. The reason is a little technical. -graph bar- is based mainly on a temporary reduction of the data using -collapse-, and -collapse- doesn't offer that reduction. (It is nearer the territory of -contract-, but that is a different story.) There are various solutions to the problem. A first solution is to generate your own percent variable and then plot that directly. Each percent is, we recall, a numerator divided by a total, multiplied by 100. One easy way to get the total is using -egen, total()-. In Stata 8 and earlier, the function here was -egen, sum()-, not -egen, total()-. . egen pc = total(acexist), by(year) . egen total = total(1), by(year) (what's 1 + 1 + 1 + ... + 1? the total number of observations) . replace pc = 100 * pc / total Stata diehards would scoff at this as namby-pamby and do it with -by:-. . bysort year: gen pc = sum(acexist) . by year: replace pc = 100 * pc[_N] / _N Either way, we can check that we are on the right lines by . tabdisp year, cell(pc) ---------------------- year | pc ----------+----------- 2000 | 47.27273 2001 | 71.76471 2002 | 66.00985 2003 | 73.07692 2004 | 76.19048 ---------------------- Then the graph is a line away: . graph bar (mean) pc, over(year) ytitle(percent with audit committee) yla(, ang(h)) Or . twoway bar pc year, ytitle(percent with audit committee) yla(, ang(h)) barw(0.5) Another solution employs a user-written program -catplot- from SSC. You can install that by . ssc install catplot -catplot- is just a wrapper for -graph bar- (or -graph hbar- or -graph dot-). It merely grinds through some reductions not quite trivial otherwise and then fires up a -graph- command. You can get a graph in one line with -catplot- without any prior calculation, although in practice I get there through a sequence of small experiments: . catplot bar acexist year, percent(year) stack asyvars yla(, ang(h)) yti(percent without and with audit committee) legend(order(1 "without" 2 "with")) A graph I like more follows a reversal of coding: . gen acexist2 = 1 - acexist . catplot bar acexist2 year, percent(year) stack asyvars yla(, ang(h)) yti(percent with audit committee) legend(off) bar(2, bcolor(none)) The original announcement of -catplot- contains some related comment. http://www.stata.com/statalist/archive/2003-02/msg00608.html Nick n.j.cox@durham.ac.uk Katarina Sikavica (edited, mainly to ASCII from HTML) I have just started with Stata graphics and have the following problem with -graph bar-: I have a dataset that contains data on the existence of audit committees -acexist-. In total there are 761 companies, 533 of them having an audit committee, 228 not. I would like to draw a -graph bar- that shows the increase in audit committee incidence over -year-. Drawing a -graph bar- on the increase in the number of audit committees works fine; however, as the data from 2000 and 2001 are of poor quality I would like to have percentages of audit committee incidence over the years 2000-2004 (that is: 47.27% (2000); 71.76% (2001); 66.01% (2002); 73.08% (2003); 76.19% (2004)). Neither of the following commands leads to the desired results: . graph bar (sum) acexist, over (year) percent . graph bar (sum) acexist, over (year) asyvar percentages * * 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/

**Follow-Ups**:**Re: st: RE: Graph Bar: help!***From:*Katarina Sikavica <katarina.sikavica@unisg.ch>

**Re: st: RE: Graph Bar***From:*Katarina Sikavica <katarina.sikavica@unisg.ch>

- Prev by Date:
**Re:st: Queries to Statalist from a Yahoo Account** - Next by Date:
**st: RE: RE: Graph Bar** - Previous by thread:
**st: Apologies** - Next by thread:
**Re: st: RE: Graph Bar** - Index(es):

© Copyright 1996–2016 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |