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: multiple CI/mean plots in one graphic
From
"Pieter-Jan" <[email protected]>
To
<[email protected]>
Subject
RE: st: multiple CI/mean plots in one graphic
Date
Wed, 4 Jan 2012 21:43:50 +0100
Dear Nick,
Thanks for the reply. I will try your suggestion. If that does not work I
will let you know with some more information as requested.
Sincerely Yours,
Pieter-Jan van Ooij
-----Oorspronkelijk bericht-----
Van: [email protected]
[mailto:[email protected]] Namens Nick Cox
Verzonden: 4 januari 2012 21:35
Aan: [email protected]
Onderwerp: Re: st: multiple CI/mean plots in one graphic
I am not completely clear what you want, but if you mean by "directional
error bars" that your confidence intervals are in general asymmetric, that
makes no difference to the graphics commands. That is to say, that some
rcap ub lb predictor
makes no assumption whatsoever about the exact placing of -ub- and
-lb- relative to fitted or predicted means.
If this doesn't answer the question, you may need to give much more detail
about exactly what you are doing. But the principle seems to be the same:
divide and conquer on the graphics by separating out plotting of the fitted
or predicted means and the confidence limits.
Nick
On Wed, Jan 4, 2012 at 7:50 PM, Pieter-Jan <[email protected]> wrote:
> First of all I would like to whish all of you a Happy New Year and
> many thanks for all the help with my stata problems, specially Nick
> Cox, George Hoffman and Dave Airey.
>
> The reason to "reopen" this old topic was the comment of the reviewers
> to our manuscript. They advised me to use directional error bars
> instead of the CI bars used in the suggested (and working) method of
> Nick. Has anyone a suggestion how to transform these CI bars into
directional error bars?
Nick Cox
> The commands are (on separate lines)
>
> sysuse auto, clear
>
> statsby mean=r(mean) ub=r(ub) lb=r(lb) , by(foreign rep78) : ci weight
>
> separate mean, by(foreign) veryshortlabel
>
> separate ub, by(foreign) veryshortlabel
>
> separate lb, by(foreign) veryshortlabel
>
> scatter mean0 mean1 rep78 || rcap ub0 lb0 rep78 || rcap ub1 lb1 rep78,
> legend(order(1 2))
>
> Note that the command -separate- is spelled in that way, but Stata
> does for once indulge the spelling -seperate- when used for the
> command. See
> http://www.stata.com/statalist/archive/2008-11/msg00939.html
> for the story.
>
> On Fri, Apr 29, 2011 at 8:17 AM, Pieter-Jan <[email protected]> wrote:
>> Dear Nick,
>>
>> Thanks for your reply. I tried to dally around with the auto database
>> and use the commands your wrote down
>>
>> Sysuse auto, clear
>> statsby mean=r(mean) ub=r(ub) lb=r(lb), by(foreign rep78): ci weight
>> seperate mean, by(foreign) veryshortlabel seperate ub, by(foreign)
>> veryshortlabel seperate lb, by(foreign) veryshortlabel scatter mean0
>> mean1
>> rep78 || rcap ub0 lb0 rep78 || rcap ub1 lb1 rep78, legend(order(1 2))
>>
>> This gave me the error message
>> invalid 'by'
>> r(198);
>>
>> As I use the individual commands
>> statsby mean=r(mean) ub=r(ub) lb=r(lb), by(foreign rep78): ci weight
>> seperate mean (running ci on estimation sample) variable seperate not
>> found an error occurred when statsby executed ci r(111);
>>
>> Tried to axecute without the separate mean commands statsby
>> mean=r(mean) ub=r(ub) lb=r(lb), by(foreign rep78): ci weight (running
>> ci on estimation sample)
>>
>> command: ci weight
>> mean: r(mean)
>> ub: r(ub)
>> lb: r(lb)
>> by: foreign rep78
>>
>> Statsby groups
>> ----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
>> ........
>>
>> . by(foreign) veryshortlabel seperate ub
>> : required
>> r(100);
>>
>> I think I did something wrong regarding the commands but can not
>> figure out what. Is there a simple solution?
>> Thanks
>>
>> Pieter-Jan van Ooij
>>
>>
>> -----Oorspronkelijk bericht-----
>> Van: [email protected]
>> [mailto:[email protected]] Namens Nick Cox
>> Verzonden: 28 april 2011 21:40
>> Aan: [email protected]
>> Onderwerp: Re: st: multiple CI/mean plots in one graphic
>>
>> -civplot- is a user-written plot from SSC written in 1999 for Stata 6.
>> I am not surprised that it does not separate out different groups
>> given a command
>>
>> . civplot variable1, by(time)
>>
>> as the command does not even mention -group-. Also, as -njc_stuff-
>> (also SSC) documents, -civplot- is considered obsolete given -ciplot-
>> (also SSC).
>>
>> But better than either is to do it yourself using the principles
>> described in
>>
>> Cox, N.J. 2010. Speaking Stata: The statsby strategy. Stata Journal
>> 10, 143-151.
>> http://www.stata-journal.com/article.html?article=gr0045
>>
>> The following problem has essentially similar structure to yours and
>> shows some technique
>>
>> sysuse auto, clear
>> statsby mean=r(mean) ub=r(ub) lb=r(lb) , by(foreign rep78) : ci
>> weight separate mean, by(foreign) veryshortlabel separate ub,
>> by(foreign) veryshortlabel separate lb, by(foreign) veryshortlabel
>> scatter mean0
>> mean1 rep78 || rcap ub0 lb0 rep78 || rcap ub1 lb1 rep78,
>> legend(order(1 2))
>>
>> However, note that what you have done so far implies that separate
>> days are independent, which may not be quite right!
>>
>> Nick
>>
>> On Thu, Apr 28, 2011 at 6:33 PM, Pieter-Jan <[email protected]> wrote:
>>
>>> Recently we performed a randomized crossover study in which we
>>> monitored
>> the
>>> lung function of a group of volunteers during three days. Day 1 was
>>> used
>> to
>>> determine baseline lung function whereas day 2 and 3 were used to
>>> monitor lung function after inhaling either placebo (air) or active
>>> gas (oxygen) under hyperbaric condition. During each measurement
>>> day lung function was measured 6 times. All variables and
>>> observations were put in a dataset
>> which
>>> initially had the following format:
>>>
>>> ID Group Time
>>> Variable1 etc
>>> 1 0 0
>>> 6.19
>>> 2 0 0
>>> 5.97 Etc
>>>
>>> ID exist of 13 persons
>>> Group: 0 (baseline), 1 (placebo), 2 (active)
>>> Time: 0, 2, 4, 8, 12, 22 hours after exposure
>>>
>>> To give the reader a good overview how f.e. variable 1 changes over
>>> time within the 3 groups I want to plot the CI and mean of each
>>> group on each time point in one graphic. I tried civplot
>>>
>>> Civplot variable1, by(time)
>>>
>>> But that gives me no separate plots of the three groups.
>>>
>>> I tried to change the dataset by deleting the group variable and
>>> changing the Variable1 etc as follows
>>>
>>> ID Time Variable1_baseline Variable1_placebo
>>> Variable1_active etc
>>> 1 0 6.19 6.01
>>> 6.11
>>> 2 0 5.97 6.05
>>> 5.91
>>>
>>> Civplot variable1_baseline, by(time)
>>>
>>> This allows me only 1 civplot for each variable but just like the
>>> first attempt this gave me only 1 plot per graphic. I tried also
>>> twoway
>>>
>>> Twoway (scatter variable1_baseline time) (fpfit variable1_baseline
>>> time) (scatter variable1_placebo time) (fpfit variable1_placebo
>>> time) (scatter variable1_active time) (fpfit variable1_active time)
>>>
>>> And this gives the possibilities of putting multiple plots in one
>>> graphic but specially the scatter makes it cluttered. A simple
>>> CI/mean would counteract this.
>>>
>>> Is there a possibility in Stata of putting multiple CI/mean plots
>>> into one graphic? Maybe the answer speaks for itself but I am rather
>>> new into Stata that's why I asking this question.
*
* 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/