Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Making a figure including confidence intervals for multiple groups

    Dear Stata-users,

    As I was working on my thesis, I was wondering about the following. I have made two figures with confidence intervals for a variable on expected retirement age (called 'rretage') per gender (called 'ragender') and grouped by current age of respondents (called 'ragey_e'). I have included the code below:

    preserve
    collapse (mean) mrretage = rretage (sd) sdrretage = rretage (count) nrretage = rretage if ragender ==1 , by(ragey_e)
    generate rretageucl = mrretage + 1.96*sdrretage/sqrt(nrretage)
    generate rretagelcl = mrretage - 1.96*sdrretage/sqrt(nrretage)


    twoway rcap rretagelcl rretageucl ragey_e, xtitle(Current age) ytitle(Expected retirement age) subtitle(By current age) saving(confidenceintmales.gph)


    restore

    preserve
    collapse (mean) mrretage = rretage (sd) sdrretage = rretage (count) nrretage = rretage if ragender ==2 , by(ragey_e)
    generate rretageucl = mrretage + 1.96*sdrretage/sqrt(nrretage)
    generate rretagelcl = mrretage - 1.96*sdrretage/sqrt(nrretage)


    twoway rcap rretagelcl rretageucl ragey_e, xtitle(Current age) ytitle(Expected retirement age) subtitle(By current age) saving(confidenceintfemales.gph)

    restore

    They look like the picture I added (after combining the figures).

    My question is: Is there a way to combine the confidence intervals into one figure, i.e. place them 'over' each other with different colors?

    Hope someone can help and please let me know if my question is not clear.

    Best,

    Floor

    Attached Files

  • #2
    A bit of data example using -dataex- is expected. See the FAQ section on how to use -dataex- to provide data example. Here below an example using fictitious data. There are several ways to achieve this. I find this easier with the user written programme -lgraph- from ssc:

    Code:
    ******Install the user written programme from ssc*********
    
      ssc install lgraph
    
    *******Generating some fictiious data*****************
    
    set seed 87948
    g int retage = (70 - 60+1)*runiform()+60
    g gender = runiform()>.5
    g int aggrp = (61-50+1)*runiform()+50
    
    lab var aggrp "Current Age"
    lab var retage "Expected retirement age"
    lab define gender 0 "Female" 1 "Male"
    lab val gender gender
    
    ************* Run the command for the graph*****************
    
    lgraph retage aggrp gender, err(95) sep(.02) lop(lcol(none))
    Click image for larger version

Name:	test.png
Views:	1
Size:	31.4 KB
ID:	1656339
    Roman

    Comment


    • #3
      Dear Roman Mostazir,

      Thank you very much for your help, the code does exactly what I was looking for. Also, I will include data next time, you are totally right.

      Best, Floor.

      Comment

      Working...
      X