Announcement

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

  • Add summary statistics to by group histograms

    I am trying to add summary statistics to a group of histograms based on the sample data below.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str40 station float date double ppm
    "Station 1" 21558   2.122222222222222
    "Station 1" 21568  1.4874999999999998
    "Station 1" 21553   2.683333333333333
    "Station 1" 21571  2.8227272727272723
    "Station 1" 21556   5.305263157894737
    "Station 1" 21555                22.7
    "Station 1" 21578  2.4041666666666672
    "Station 1" 21551  3.0772727272727267
    "Station 1" 21577   9.916666666666666
    "Station 1" 21561  2.5541666666666667
    "Station 1" 21572   2.777272727272728
    "Station 1" 21569  1.4095238095238096
    "Station 1" 21550   4.179166666666666
    "Station 1" 21563              1.8875
    "Station 1" 21564   2.820833333333333
    "Station 1" 21565  11.186363636363636
    "Station 1" 21566  3.0208333333333335
    "Station 1" 21567   2.829166666666667
    "Station 1" 21554  24.229166666666668
    "Station 1" 21562  1.9142857142857144
    "Station 1" 21570              1.8625
    "Station 1" 21575   17.04583333333333
    "Station 1" 21560   2.283333333333333
    "Station 1" 21552  3.6608695652173915
    "Station 1" 21574  17.033333333333335
    "Station 1" 21573   4.583333333333333
    "Station 1" 21576  10.690476190476192
    "Station 1" 21579  1.8090909090909093
    "Station 1" 21557               7.675
    "Station 1" 21559   3.079166666666667
    "Station 1" 21580  2.0208333333333335
    "Station 2" 21559  3.5136363636363637
    "Station 2" 21554  12.083333333333336
    "Station 2" 21572  1.6181818181818186
    "Station 2" 21567  3.2916666666666665
    "Station 2" 21579  3.0181818181818185
    "Station 2" 21566   5.445833333333334
    "Station 2" 21578                   .
    "Station 2" 21577                   .
    "Station 2" 21575  12.112500000000002
    "Station 2" 21565  10.913636363636364
    "Station 2" 21560   2.745833333333333
    "Station 2" 21556  12.682608695652174
    "Station 2" 21550   3.100000000000001
    "Station 2" 21570   2.504166666666667
    "Station 2" 21568               .6875
    "Station 2" 21564  1.6916666666666662
    "Station 2" 21574  13.462499999999999
    "Station 2" 21569   .7904761904761906
    "Station 2" 21580              2.5375
    "Station 2" 21557   7.683333333333334
    "Station 2" 21571   2.987499999999999
    "Station 2" 21558  1.1545454545454545
    "Station 2" 21553  1.0958333333333332
    "Station 2" 21576                 2.1
    "Station 2" 21555   9.947619047619046
    "Station 2" 21561  1.5291666666666668
    "Station 2" 21573  2.4666666666666672
    "Station 2" 21562   .9190476190476189
    "Station 2" 21563   .9291666666666664
    "Station 2" 21551   7.845454545454547
    "Station 2" 21552  3.0416666666666674
    "Station 3" 21557  3.3583333333333343
    "Station 3" 21552   .6708333333333333
    "Station 3" 21556  1.7916666666666667
    "Station 3" 21570                   .
    "Station 3" 21554  1.1416666666666668
    "Station 3" 21563  .09999999999999999
    "Station 3" 21562  .10476190476190476
    "Station 3" 21553   .1791666666666666
    "Station 3" 21566  .39999999999999997
    "Station 3" 21569                 -.1
    "Station 3" 21567   .3708333333333333
    "Station 3" 21561                .375
    "Station 3" 21559               1.025
    "Station 3" 21574                   .
    "Station 3" 21578                   .
    "Station 3" 21565   3.209090909090909
    "Station 3" 21576                   .
    "Station 3" 21572                   .
    "Station 3" 21577                   .
    "Station 3" 21555  1.7095238095238094
    "Station 3" 21568                .125
    "Station 3" 21551   .7272727272727273
    "Station 3" 21564  1.2666666666666666
    "Station 3" 21558   .2545454545454545
    "Station 3" 21580   .6333333333333334
    "Station 3" 21573                   .
    "Station 3" 21575                   .
    "Station 3" 21550   .7166666666666667
    "Station 3" 21560   .9541666666666666
    "Station 3" 21571                   .
    "Station 3" 21579  .38095238095238093
    "Station 4" 21559   .3249999999999999
    "Station 4" 21574  1.7333333333333332
    "Station 4" 21552   .8749999999999999
    "Station 4" 21564   .5208333333333334
    "Station 4" 21562   .1571428571428572
    "Station 4" 21563  .17500000000000002
    "Station 4" 21575  13.462500000000004
    "Station 4" 21557   3.358333333333333
    "Station 4" 21561   .7000000000000002
    "Station 4" 21577   4.366666666666666
    "Station 4" 21571  1.8416666666666666
    "Station 4" 21579  .07142857142857142
    "Station 4" 21567   .6708333333333334
    "Station 4" 21566   6.204166666666667
    "Station 4" 21572    .490909090909091
    "Station 4" 21555   6.595238095238095
    "Station 4" 21565  1.4863636363636368
    "Station 4" 21551  1.5636363636363633
    "Station 4" 21578 -.25789473684210534
    "Station 4" 21569  .14285714285714288
    "Station 4" 21550   .7916666666666666
    "Station 4" 21560   .7958333333333334
    "Station 4" 21558  .23636363636363641
    "Station 4" 21576  .42380952380952375
    "Station 4" 21554              4.5625
    "Station 4" 21556   8.308333333333332
    "Station 4" 21580  .16086956521739132
    "Station 4" 21573  .02941176470588235
    "Station 4" 21553   .6333333333333334
    "Station 4" 21568   .3541666666666667
    "Station 4" 21570   .8000000000000002
    end
    format %td date
    Code:
    histogram ppm, percent by(station)
    Click image for larger version

Name:	Graph1.png
Views:	1
Size:	214.4 KB
ID:	1753613



    I can add summary statistics with just one histogram as below and need help with doing it for all four histograms above.
    Code:
    keep if station == "Station 1"
    su ppm, detail
    local n: display %8.4gc r(N)
    local m: display %8.4gc r(mean)
    local max: display %8.4gc r(max)
    local med: display %8.4gc r(p50)
    local min: display %8.4gc r(min)
    
    histogram ppm, percent note("N = `n'" "mean = `m'" "median = `med'" "max = `max'" "min = `min'", ring(0) pos(3))
    Click image for larger version

Name:	Graph2.png
Views:	1
Size:	195.1 KB
ID:	1753614

    I would preferably like to do this without combining multiple graphs into one. Any help is appreciated.

  • #2
    Some technique is described in detail at https://journals.sagepub.com/doi/pdf...6867X211063413 Bad news first: It's a bit fiddly.

    I am not going to expand on that here, partly because that is what the paper does, and partly because I think histograms don't work well here. These are, I take it, air pollution measurements and the detail of high values is of extraordinary scientific and practical interest.

    Using stripplot from SSC I can show quantile-box plots and added means:

    I would use logarithmic scale but what about those negative values?

    Code:
    label var ppm "Concentration (ppm)"
    
    stripplot ppm, over(station) cumul cumprob box pctile(0) refline(lc(red)) centre vertical xtitle("") xla(, noticks)
    Click image for larger version

Name:	ppm.png
Views:	1
Size:	59.1 KB
ID:	1753620

    Comment


    • #3
      Your dataset is likely to be much bigger than your data example. For a larger dataset, and in any case, this is I think competitive with #2.

      Naturally I am still not answering your main question in #1, if only because my paper shows ways to do that.

      Code:
      * Example generated by -dataex-. For more info, type help dataex
      clear
      input str40 station float date double ppm
      "Station 1" 21558   2.122222222222222
      "Station 1" 21568  1.4874999999999998
      "Station 1" 21553   2.683333333333333
      "Station 1" 21571  2.8227272727272723
      "Station 1" 21556   5.305263157894737
      "Station 1" 21555                22.7
      "Station 1" 21578  2.4041666666666672
      "Station 1" 21551  3.0772727272727267
      "Station 1" 21577   9.916666666666666
      "Station 1" 21561  2.5541666666666667
      "Station 1" 21572   2.777272727272728
      "Station 1" 21569  1.4095238095238096
      "Station 1" 21550   4.179166666666666
      "Station 1" 21563              1.8875
      "Station 1" 21564   2.820833333333333
      "Station 1" 21565  11.186363636363636
      "Station 1" 21566  3.0208333333333335
      "Station 1" 21567   2.829166666666667
      "Station 1" 21554  24.229166666666668
      "Station 1" 21562  1.9142857142857144
      "Station 1" 21570              1.8625
      "Station 1" 21575   17.04583333333333
      "Station 1" 21560   2.283333333333333
      "Station 1" 21552  3.6608695652173915
      "Station 1" 21574  17.033333333333335
      "Station 1" 21573   4.583333333333333
      "Station 1" 21576  10.690476190476192
      "Station 1" 21579  1.8090909090909093
      "Station 1" 21557               7.675
      "Station 1" 21559   3.079166666666667
      "Station 1" 21580  2.0208333333333335
      "Station 2" 21559  3.5136363636363637
      "Station 2" 21554  12.083333333333336
      "Station 2" 21572  1.6181818181818186
      "Station 2" 21567  3.2916666666666665
      "Station 2" 21579  3.0181818181818185
      "Station 2" 21566   5.445833333333334
      "Station 2" 21578                   .
      "Station 2" 21577                   .
      "Station 2" 21575  12.112500000000002
      "Station 2" 21565  10.913636363636364
      "Station 2" 21560   2.745833333333333
      "Station 2" 21556  12.682608695652174
      "Station 2" 21550   3.100000000000001
      "Station 2" 21570   2.504166666666667
      "Station 2" 21568               .6875
      "Station 2" 21564  1.6916666666666662
      "Station 2" 21574  13.462499999999999
      "Station 2" 21569   .7904761904761906
      "Station 2" 21580              2.5375
      "Station 2" 21557   7.683333333333334
      "Station 2" 21571   2.987499999999999
      "Station 2" 21558  1.1545454545454545
      "Station 2" 21553  1.0958333333333332
      "Station 2" 21576                 2.1
      "Station 2" 21555   9.947619047619046
      "Station 2" 21561  1.5291666666666668
      "Station 2" 21573  2.4666666666666672
      "Station 2" 21562   .9190476190476189
      "Station 2" 21563   .9291666666666664
      "Station 2" 21551   7.845454545454547
      "Station 2" 21552  3.0416666666666674
      "Station 3" 21557  3.3583333333333343
      "Station 3" 21552   .6708333333333333
      "Station 3" 21556  1.7916666666666667
      "Station 3" 21570                   .
      "Station 3" 21554  1.1416666666666668
      "Station 3" 21563  .09999999999999999
      "Station 3" 21562  .10476190476190476
      "Station 3" 21553   .1791666666666666
      "Station 3" 21566  .39999999999999997
      "Station 3" 21569                 -.1
      "Station 3" 21567   .3708333333333333
      "Station 3" 21561                .375
      "Station 3" 21559               1.025
      "Station 3" 21574                   .
      "Station 3" 21578                   .
      "Station 3" 21565   3.209090909090909
      "Station 3" 21576                   .
      "Station 3" 21572                   .
      "Station 3" 21577                   .
      "Station 3" 21555  1.7095238095238094
      "Station 3" 21568                .125
      "Station 3" 21551   .7272727272727273
      "Station 3" 21564  1.2666666666666666
      "Station 3" 21558   .2545454545454545
      "Station 3" 21580   .6333333333333334
      "Station 3" 21573                   .
      "Station 3" 21575                   .
      "Station 3" 21550   .7166666666666667
      "Station 3" 21560   .9541666666666666
      "Station 3" 21571                   .
      "Station 3" 21579  .38095238095238093
      "Station 4" 21559   .3249999999999999
      "Station 4" 21574  1.7333333333333332
      "Station 4" 21552   .8749999999999999
      "Station 4" 21564   .5208333333333334
      "Station 4" 21562   .1571428571428572
      "Station 4" 21563  .17500000000000002
      "Station 4" 21575  13.462500000000004
      "Station 4" 21557   3.358333333333333
      "Station 4" 21561   .7000000000000002
      "Station 4" 21577   4.366666666666666
      "Station 4" 21571  1.8416666666666666
      "Station 4" 21579  .07142857142857142
      "Station 4" 21567   .6708333333333334
      "Station 4" 21566   6.204166666666667
      "Station 4" 21572    .490909090909091
      "Station 4" 21555   6.595238095238095
      "Station 4" 21565  1.4863636363636368
      "Station 4" 21551  1.5636363636363633
      "Station 4" 21578 -.25789473684210534
      "Station 4" 21569  .14285714285714288
      "Station 4" 21550   .7916666666666666
      "Station 4" 21560   .7958333333333334
      "Station 4" 21558  .23636363636363641
      "Station 4" 21576  .42380952380952375
      "Station 4" 21554              4.5625
      "Station 4" 21556   8.308333333333332
      "Station 4" 21580  .16086956521739132
      "Station 4" 21573  .02941176470588235
      "Station 4" 21553   .6333333333333334
      "Station 4" 21568   .3541666666666667
      "Station 4" 21570   .8000000000000002
      end
      format %td date
      
      label var ppm "Concentration (ppm)"
      
      stripplot ppm, over(station) cumul cumprob centre box(barw(0.1)) boffset(-0.45) pctile(0) height(0.66) refline(lc(red)) vertical xtitle("") xla(, noticks)
      Click image for larger version

Name:	ppm2.png
Views:	1
Size:	58.6 KB
ID:	1753643

      Comment


      • #4
        Thank you for your suggestions, Nick Cox. This is very helpful. Yes, these are air pollution measurements, and my original dataset is much larger than the sample shown above. Also, I'm still trying to make sense of negative values in the dataset.

        Comment

        Working...
        X