I am trying to find out the length of wait for each individual for a service given we know the average length of wait in a queue. I hope the example data will make it clear what I am trying to find out.
Code:
. version version 13.1
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input float(start_time los_in_queue end_time) 4 2 . . 5 . . 6 . . 7 . . 8 . end
I want the data to look like:
obs. | start_time | los_in_queue | end_time |
1 | 4 | 2 | 6 |
2 | 6 | 5 | 11 |
3 | 11 | 6 | 17 |
4 | 17 | 7 | 24 |
5 | 24 | 8 | 32 |
Basically, I want to retain the end_time of the first observation as a start_time for the second observation an so on.
My attempt overrides all previous values by the last value. Thanks in advance for pointing out where I went wrong.
Code:
. local N = _N . local counter=1 . forvalues i = 1/`N' { 2. replace end_time = start_time[`i']+los_in_queue[`i'] 3. list start_time-end_time 4. local i=`i'+1 5. replace start_time = end_time[`i'-`counter'] 6. } (5 real changes made) . clist start_time los_in_queue end_time 1. 32 2 32 2. 32 5 32 3. 32 6 32 4. 32 7 32 5. 32 8 32
0 Response to looping over observations - retaining the values from previous observations
Post a Comment