Announcement

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

  • wrapping up using lines of codes in a loop

    Hi,
    How can I wrap up the below code in a loop?
    Best,
    Nader


    gen n=_n
    gen sample=_n
    replace sample=1 if n<=1000
    replace sample=2 if n>1000 & n<=2000
    replace sample=3 if n>2000 & n<=3000
    replace sample=4 if n>3000 & n<=4000
    replace sample=5 if n>4000 & n<=5000
    replace sample=6 if n>5000 & n<=6000
    replace sample=7 if n>6000 & n<=7000
    replace sample=8 if n>7000 & n<=8000
    replace sample=9 if n>8000 & n<=9000
    .
    .
    .
    replace sample=65 if n>64000 & n<=65000

  • #2
    No loop needed, just mathematics.
    Code:
    . set obs 65000
    number of observations (_N) was 0, now 65,000
    
    . generate n = _n
    
    . generate sample = floor((n-1)/1000)+1
    
    . tabstat n, statistics(min max) by(sample) nototal
    
    Summary for variables: n
         by categories of: sample 
    
      sample |       min       max
    ---------+--------------------
           1 |         1      1000
           2 |      1001      2000
           3 |      2001      3000
           4 |      3001      4000
           5 |      4001      5000
           6 |      5001      6000
           7 |      6001      7000
           8 |      7001      8000
           9 |      8001      9000
           .
           .
           .
          65 |     64001     65000
    ------------------------------

    Comment


    • #3
      William Lisowski is right. Here is another way to do it without a loop, assuming his framework.

      Code:
      generate sample = ceil(_n/1000)

      Comment

      Working...
      X