Bookmark and Share

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: graphing median values against time


From   Joe Canner <[email protected]>
To   "[email protected]" <[email protected]>
Subject   RE: st: graphing median values against time
Date   Wed, 9 Apr 2014 15:34:47 +0000

Don,

I had a hard time reproducing your error, perhaps because I don't have your data set, but I was eventually able to get results similar to what you found.  I think this might be a bug in -lgraph-.  If you do a -set trace on- (preceded by -set tracedepth 1- if desired) you can see the -twoway- statement that -lgraph- generates and see what might be causing the error.  It appears that when you add the -lcolor(black)- option, -lgraph- gets confused and adds too many commas.

For those who are more familiar with the ins and outs of -twoway- here are the two commands generated by -lgraph- corresponding to Don's two scenarios (I had to take the label() options out in order to get it to run):

twoway (connect statistic following if aborig == 0, color(navy) lpat(solid)  ) (connect statistic following if aborig == 1, color(maroon) lpat(solid)  )   || line median following if aborig == 0, lcolor(dknavy) clwidth(thick)|| line median following if aborig == 1, ytitle(`"Mean "') legend(on order( 1 `"0"' 2 `"1"' )) title("Mean cumten (Median:nonFN:Navy; FN:Gold)",size(small))

twoway (connect statistic following if aborig == 0, color(navy) lpat(solid)  ) (connect statistic following if aborig == 1, color(maroon) lpat(solid)  )   || line median following if aborig == 0, lcolor(dknavy) clwidth(thick)|| line median following if aborig == 1, lcolor(black), ytitle(`"Mean "') legend(on order( 1 `"0"' 2 `"1"' )) title("Mean cumten (Median:nonFN:Navy; FN:Gold)", size(small))

Hope this helps.

Regards,
Joe Canner
Johns Hopkins University School of Medicine

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Donald Spady
Sent: Wednesday, April 09, 2014 10:58 AM
To: Statalist Statalist
Subject: Re: st: graphing median values against time

I dont think that is the case.  I used a Regex search in two different text editors to look for non-ASCII characters and came up with nothing.  Besides, if there was a non-ascii char, would it not show up in the other commands, where I had not added the lcolor(black) bit.  I have run it many times without that option and no problems.

Don
 
On Apr 9, 2014, at 8:06 AM, Nick Cox <[email protected]> wrote:

> I'd check for strange characters. Copy your command line into a string
> variable and look for unusual ASCII characters with -charlist- (SSC)
> or any alternative of your choice.
> Nick
> [email protected]
> 
> 
> On 9 April 2014 14:25, Donald Spady <[email protected]> wrote:
>> Tim
>>  After digesting your and Nick's advice I have used the lgraph command to good effect; however I have one problem.  If I write:
>> foreach name in "cumten" "cumswol" {
>> igraph `name' following if visspell !=. & recnum == 1, by(aborig) label(0 3 9 15, lab size(tiny)) stat(mean) title("Mean `name' (Median:nonFN:Navy; FN:Gold)",size(small)) label(#10) also collapse((median) median = `name') addplot(line median following if aborig == 0, lcolor(dknavy) clwidth(thick)|| line median following if aborig == 1)
>> }
>> 
>> everything works fine and I get pretty pictures.
>> 
>> BUT if I write:
>> foreach name in "cumten" "cumswol" {
>> lgraph `name' following if visspell !=. & recnum == 1, by(aborig) label(0 3 9 15, lab size(tiny)) stat(mean) title("Mean `name' (Median:nonFN:Navy; FN:Gold)",size(small)) label(#10) also collapse((median) median = `name') addplot(line median following if aborig == 0, lcolor(dknavy) clwidth(thick)|| line median following if aborig == 1, lcolor(black))
>> }
>> The only change is the addition of lcolor(black) at the end of the command.
>> 
>> I get the message:
>>        invalid 'title'
>>        r(198)
>> 
>> Why.  And how do I fix it.
>> 
>> Many thanks.
>> Don
>> 
>> On Mar 30, 2014, at 8:43 PM, Timothy Mak <[email protected]> wrote:
>> 
>>> <>
>>> Thanks Nick very much for helping to answer my question.
>>> 
>>> To plot more than one summary statistics is a bit difficult, and you do have to use the -addplot- and the -alsocollapse- options. If you hadn't specified -by(aborig)-, then Nick's syntax would be almost right, except that you don't need the -if bvisittm1N- in the end, i.e. -addplot(line median bvisittm1N)- would do. However, because you have specified -by(aborig)-, you really need to do:
>>> 
>>> addplot(line median bvisittm1N if aborig == 1 || line median bvisittm1N if aborig == 2)
>>> 
>>> supposing your variable aborig has 2 levels (1,2).
>>> 
>>> To understand the use of the -addplot- and the -alsocollapse- option a bit more, you may want to use the -nopreserve- option. This gives you the dataset that -lgraph- actually uses to plot your graph. Also, have a look at the macros `r(command)' and `r(options)'. This gives you the -twoway- syntax that lgraph uses on the collapsed data. Be sure to use command double quotes though when you display the macros, i.e.:
>>> 
>>> di `"`r(command)'"'
>>> di `"`r(options)'"'
>>> 
>>> I hope that helps.
>>> 
>>> Tim
>>> 
>>> 
>>> -----Original Message-----
>>> From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
>>> Sent: 31 March 2014 08:38
>>> To: [email protected]
>>> Subject: Re: st: graphing median values against time
>>> 
>>> You *must* specify a -twoway- subcommand, not -lgraph-, in the
>>> -addplot()- call. This is documented in the help for -addplot option-.
>>> 
>>> I doubt very much that giving the same variable names as in the main
>>> call will do what you want.
>>> 
>>> My second guess is that you need something more like
>>> 
>>> alsocollapse((median) median=totend28)
>>> addplot(line median bvisittm1N if bvisittm1N)
>>> 
>>> Nick
>>> [email protected]
>>> 
>>> 
>>> On 31 March 2014 01:29, Donald Spady <[email protected]> wrote:
>>>> Nick
>>>> I had tried various combinations of that command and could not get it to work.
>>>> 
>>>> here is my command
>>>> .lgraph tottend28  bvisittm1N if bvisittm1N < 55, by(aborig) xlabel(0(3)54) stat(mean)  alsocollapse((median)) addplot(lgraph tottend28  bvisittm1N if bvisittm1N <55, by(aborig))
>>>> 
>>>> It doesn't work.  I get the error
>>>> lgraph is not a twoway plot type
>>>> r(198);
>>>> 
>>>> Don
>>>> On Mar 30, 2014, at 5:14 PM, Nick Cox <[email protected]> wrote:
>>>> 
>>>>> Timothy explains how to do that in the help.
>>>>> 
>>>>>  addplot(plot) This allows additional twoway plots to be plotted.
>>>>> See addplot_option. Note that
>>>>>      because lgraph collapses the data before plotting in twoway,
>>>>> plots given in addplot(plot)
>>>>>      should also refer to the collapsed data. Specify in
>>>>> alsocollapse(clist) any additional data
>>>>>      that need to be collapsed.
>>>>> 
>>>>> So, if you want median as well as mean you must specify
>>>>> 
>>>>> alsocollapse(median) addplot(<whatever>)
>>>>> 
>>>>> Note that nothing obliges you to use another -line- call.
>>>>> 
>>>>> I haven't use -lgraph-, just looked at its help, but Timothy provides
>>>>> lots of functionality.
>>>>> Nick
>>>>> [email protected]
>>>>> 
>>>>> 
>>>>> On 30 March 2014 23:51, Donald Spady <[email protected]> wrote:
>>>>>> Timothy
>>>>>> I am using your -lgraph- command and wonder if it is possible to have TWO stats created (e.g. mean and median) for the same variable(s) at the same time.  I want to plot both mean and median and cannot create an overlay to do so.
>>>>>> 
>>>>>> Many thanks
>>>>>> Don
>>>>>> On Mar 28, 2014, at 1:29 AM, Timothy Mak <[email protected]> wrote:
>>>>>> 
>>>>>>> The command -lgraph- that I wrote is for exactly this kind of problem if you don't want to create all the variables before plotting a graph.
>>>>>>> You can see it by typing:
>>>>>>> ssc des lgraph
>>>>>>> 
>>>>>>> Tim
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: [email protected] [mailto:[email protected]] On Behalf Of Donald Spady
>>>>>>> Sent: 28 March 2014 08:59
>>>>>>> To: Statalist Statalist
>>>>>>> Subject: Re: st: graphing median values against time
>>>>>>> 
>>>>>>> Nick
>>>>>>> It works.  Just as I needed. Many thanks.
>>>>>>> John: That suggestion didn't work the way I wanted it to, but thanks for the idea.
>>>>>>> 
>>>>>>> Don
>>>>>>> On Mar 27, 2014, at 5:48 PM, Nick Cox <[email protected]> wrote:
>>>>>>> 
>>>>>>>> Sure. If you use -egen-'s -median()- and -mean()- functions to get the
>>>>>>>> variables you want, then it's any graph you want.
>>>>>>>> 
>>>>>>>> As the median and mean values are repeated, don't plot them repeatedly.
>>>>>>>> 
>>>>>>>> Here are some dopey examples.
>>>>>>>> 
>>>>>>>> . webuse grunfeld
>>>>>>>> 
>>>>>>>> . egen median = median(invest), by(year)
>>>>>>>> 
>>>>>>>> . egen mean = mean(invest), by(year)
>>>>>>>> 
>>>>>>>> . egen tag = tag(year)
>>>>>>>> 
>>>>>>>> . line mean median year if tag
>>>>>>>> 
>>>>>>>> For finer subdivisions, just use more variables as arguments to -by()-.
>>>>>>>> 
>>>>>>>> Nick
>>>>>>>> [email protected]
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 27 March 2014 22:34, Donald Spady <[email protected]> wrote:
>>>>>>>>> Dear all
>>>>>>>>> I want to graph the median and mean values of a series of variables against a time variable (on the X axis) and with the option of stratifying the variables by another one (such as sex or disease state).  I think I can do this by collapsing the data but is it possible to do this while retaining the data set in its 'original' state.  I have searched the archives and the reference manuals but have not come up with anything that seems to be what I want.
>>>>>>>>> In many ways what I would like is a box plot with JUST the median (or mean) being plotted: no box, no outliers.  Is that possible.
>>>>>>>>> 
>>>>>>>>> Thanks
>>>>>>>>> Don
>>>>>>>>> *
>>>>>>>>> *   For searches and help try:
>>>>>>>>> *   http://www.stata.com/help.cgi?search
>>>>>>>>> *   http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index