Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: AW: using extended macros to title graphs


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: AW: using extended macros to title graphs
Date   Mon, 29 Mar 2010 17:06:12 +0100

OK. I was trying not to have to read all your code. 

You have to fix your outer loop so that it loops over numbers. -vars[text]- won't work unless text is the name of a numeric variable or scalar. 

Nick 
n.j.cox@durham.ac.uk 


-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of David Souther
Sent: 29 March 2010 16:58
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: AW: using extended macros to title graphs

Thanks Nick, but this still didn't work for me (this is one of the
solutions I had tried before posting this question and that I
mentioned in my reply to Martin Weiss--so I guess I am not too far
off)


On Mon, Mar 29, 2010 at 10:48 AM, Nick Cox <n.j.cox@durham.ac.uk> wrote:
> I guess the problem lies here:
>
> title("Causes   `=varlabs[`vars[`i']']'")
>
> should be
>
> title("Causes   `=varlabs[`=vars[`i']']'")
>
> as the inner and outer macro manipulations are completely independent.
> Otherwise put,
>
> vars[`i']
>
> is not the name of a local macro.
>
> Nick
> n.j.cox@durham.ac.uk
>
> David Souther
>
> I am trying to use extended macro functions to title a graph with
> the value in one string variable that corresponds to another variable.
>
> So, a condensed version of my data looks like:
>
> clear
> inp str35 vars str25 varlabs participant_type1 participant_type2
> indicator
> "children_with_mental_illness_" "Children with MI" .4 .5 1
> "communitywide_prevention_init" "Community-wide prevention" .2 .9 0
> "differences_between_families_" "Conflict between families " .3 .2 0
> "dysfunctional_or_broken_famil" "Dysfunctional " .47 .29 0
> "greater_access_to_diversion_o" "Greater access " .2 .5 1
> "greater_tolerance_and_cultura" "Greater tolerance " .6 .2 1
> "high_levels_of_transience_and" "High levels " .5 .2 0
> "holding_juvenile_offenders_mo" "Holding " .4 .4 0
> "homeless_youth_face_special_c" "Homeless " .2 .4 0
> "immigrant_youth_face_special_" "Immigrant " .2 .3 1
> end
>
>
> I want to graph participant_type(s) for specific conditions (one of
> the "vars" in `tc' and indicator==1) while adding the corresponding
> "varlabs" title, here's what I tried (and didn't work):
>
>
> local tc  dysfunctional_or_broken_famil  greater_tolerance_and_cultura
>  immigrant_youth_face_special_
> foreach i in `tc' {
> graph hbar (asis) participant_type1 participant_type2  if indicator==1
> & "`i'"==vars,  ///
> nofill   bargap(4.5) blabel(bar, size(medium) position(outside)
> format(%4.2f))  ///
> ytitle(%Responses) title("Causes   `=varlabs[`vars[`i']']'")  ///
> legend(size(vsmall)) name(g1, replace)   ///
> subtitle(, size(small) span bexpand) graphregion(margin(tiny))
> plotregion(margin(vsmall))
> *graph save g1 "g1.gph", replace
> *graph export "causes_`i'_participanttype.pdf", as(pdf) replace name(g1)
> }
>
>
> *
> *   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/
>

*
*   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/

*
*   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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index