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

From |
"Friedrich Huebler" <fhuebler@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: RE: Compound quotes problem |

Date |
Wed, 9 Apr 2008 17:09:39 -0400 |

It works indeed. Thank you, Nick. However, the -graph- command only works with single quotes. . graph twoway `"`scatter'"' scatter ( is not a twoway plot type r(198); . graph twoway "`scatter'" scatter ( is not a twoway plot type r(198); . graph twoway `scatter' [graph is drawn] Friedrich On Wed, Apr 9, 2008 at 4:52 PM, Nick Cox <n.j.cox@durham.ac.uk> wrote: > This works. I wouldn't rule out other solutions. > > sysuse auto, clear > tostring rep78, replace > local scatter "" > levels rep78, local(rep78) > foreach r of local rep78 { > local scatter `scatter' (scatter mpg weight if rep78=="`r'", > msize(large)) > } > di `"`scatter'"' > > Note that once you come out of the loop, your local includes " ", so you > do need > c.d. quotes then. But I don't have a good explanation for why they are > not essential > within the loop. Perhaps the parser can see that the " " are embedded > within the parens. > Not sure. > > Nick > n.j.cox@durham.ac.uk > > Friedrich Huebler > > I am trying to build up a -scatter- command with a -foreach- loop. I > need additional quotes but do not know where to place them. The > problem can be reproduced with the auto data. > > . sysuse auto, clear > . tostring rep78, replace > . local scatter "" > . levels rep78, local(rep78) > . foreach r of local rep78 { > local scatter `"`scatter' (scatter mpg weight if rep78=="`r'", > msize(large))"' > } > . di "`scatter'" > (scatter mpg weight if rep78==Unknown function .", msize() > r(133); > > As the error message shows, I need additional quotes somewhere. How do > I have to edit the definition of the macro "scatter"? In the end, the > macro should contain the following string, so that I can draw a graph > with the command -graph twoway "`scatter'"-. > > (scatter mpg weight if rep78==".", msize(large)) (scatter mpg weight > if rep78=="1", msize(large)) (scatter mpg weight if rep78=="2", > msize(large)) (scatter mpg weight if rep78=="3", msize(large)) > (scatter mpg weight if rep78=="4", msize(large)) (scatter mpg weight > if rep78=="5", msize(large)) * * 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: Compound quotes problem***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**References**:**st: Compound quotes problem***From:*"Friedrich Huebler" <fhuebler@gmail.com>

**st: RE: Compound quotes problem***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

- Prev by Date:
**Re: st: RE: saving stata file using macro** - Next by Date:
**RE: st: RE: Compound quotes problem** - Previous by thread:
**st: RE: Compound quotes problem** - Next by thread:
**RE: st: RE: Compound quotes problem** - Index(es):

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