I am using a panel dataset with different countries (example below). For each date there are two variables (value and number). I want to expand my dataset with all possible consecutive sequencies of 10 observation within ID that does not have a gap longer than 3 days, and renaming the 10 expanded observations with IDk. Where k is 1 to n expanded sequencies. I made a tag-variable for when the observations are more than 3 days apart (longgap).
Variables:
ID: country
date: date
diffdays: days since last observation
longgap: more than 3 days since last observation
value: some value
number: some number
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input str15 ID double date float(diffdays longgap) double(value number) "Sweden" 21614 . 1 8.72 8.74 "Sweden" 21615 1 . 8.32 8.72 "Sweden" 21616 1 . 8.44 8.68 "Sweden" 21619 3 . 8.66 8.9 "Sweden" 21620 1 . 8.8 8.8 "Sweden" 21621 1 . 8.88 8.9 "Sweden" 21622 1 . 8.78 8.8 "Sweden" 21623 1 . 8.88 8.98 "Sweden" 21626 3 . 8.98 8.98 "Sweden" 21627 1 . 8.78 8.9 "Sweden" 21628 1 . 8.9 8.9 "Sweden" 21629 1 . 8.76 8.9 "Sweden" 21630 1 . 8.98 9.1 "Sweden" 21633 3 . 8.9 9.94 "Sweden" 21634 1 . 10 10.45 "Sweden" 21635 1 . 9.5 9.5 "Sweden" 21636 1 . 9.24 9.4 "Sweden" 21637 1 . 9.4 9.4 "Sweden" 21640 3 . 10.3 10.3 "Sweden" 21641 1 . 10 10.25 "Sweden" 21642 1 . 9.98 10.25 "Sweden" 21643 1 . 10.35 11 "Sweden" 21644 1 . 11 11.5 "Sweden" 21647 3 . 11 11.85 "Sweden" 21648 1 . 11.5 11.6 "Sweden" 21649 1 . 11.8 13.75 "Sweden" 21650 1 . 13.7 14.5 "Sweden" 21651 1 . 13.6 14 "Sweden" 21654 3 . 13 13.1 "Sweden" 21655 1 . 12.7 13.2 "Sweden" 21656 1 . 13.2 13.5 "Sweden" 21657 1 . 14.15 14.15 "Sweden" 21662 5 1 13.3 14.7 "Sweden" 21663 1 . 14 15 "Sweden" 21664 1 . 14.6 14.75 "Sweden" 21665 1 . 13.8 14.25 "Sweden" 21668 3 . 14 14.7 "Sweden" 21669 1 . 14 14.65 "Sweden" 21671 2 . 14.5 14.7 "Sweden" 21672 1 . 14.05 14.05 "Sweden" 21675 3 . 13.8 13.8 "Sweden" 21676 1 . 13.45 13.45 "Sweden" 21677 1 . 12.9 12.9 "Sweden" 21678 1 . 12.8 13 "Sweden" 21679 1 . 13 13.3 "Sweden" 21682 3 . 13.1 13.5 "Sweden" 21683 1 . 13.1 13.85 "Sweden" 21684 1 . 13.8 14.1 "Sweden" 21685 1 . 13.75 13.8 "Sweden" 21686 1 . 13.8 13.8 "Sweden" 21689 3 . 13.7 14 "Sweden" 21690 1 . 14.2 16.1 "Sweden" 21691 1 . 15.1 16.5 "Sweden" 21692 1 . 16.1 16.2 "Sweden" 21693 1 . 16.15 17 "Sweden" 21696 3 . 17.25 19.5 "Sweden" 21697 1 . 19.4 19.9 "Sweden" 21698 1 . 19.6 19.8 "Sweden" 21700 2 . 19.35 19.35 "Sweden" 21703 3 . 16.5 17.75 "Sweden" 21704 1 . 17 17.2 "Sweden" 21705 1 . 16.95 17.75 "Sweden" 21707 2 . 17 17.75 "Sweden" 21710 3 . 17.7 17.7 "Sweden" 21711 1 . 16.35 16.9 "Sweden" 21712 1 . 16.15 16.15 "Sweden" 21713 1 . 16.35 16.4 "Sweden" 21714 1 . 16 16.5 "Sweden" 21717 3 . 15.3 16.25 "Sweden" 21718 1 . 15.05 15.3 "Sweden" 21719 1 . 14.8 14.8 "Sweden" 21720 1 . 15.1 17.25 "Sweden" 21724 4 1 16.85 17.2 "Sweden" 21725 1 . 17.7 18.6 "Sweden" 21726 1 . 19.45 19.45 "Sweden" 21727 1 . 18.35 18.5 "Sweden" 21728 1 . 18.4 18.4 "Sweden" 21731 3 . 17.55 18.35 "Sweden" 21732 1 . 17.6 18 "Sweden" 21733 1 . 17.8 18.25 "Sweden" 21734 1 . 17.5 17.9 "Sweden" 21735 1 . 17.3 17.85 "Sweden" 21738 3 . 17.45 17.95 "Sweden" 21739 1 . 17 17.4 "Sweden" 21740 1 . 16.15 16.95 "Sweden" 21741 1 . 16.45 16.45 "Sweden" 21742 1 . 16.4 16.45 "Sweden" 21745 3 . 16.2 16.25 "Sweden" 21746 1 . 15.65 15.8 "Sweden" 21747 1 . 15.8 15.8 "Sweden" 21748 1 . 15.1 15.3 "Sweden" 21749 1 . 15 16.2 "Sweden" 21752 3 . 15.5 17 "Sweden" 21753 1 . 15.8 16.5 "Sweden" 21754 1 . 16.55 16.7 "Sweden" 21755 1 . 16.95 16.95 "Sweden" 21756 1 . 16.5 16.95 "Sweden" 21759 3 . 16.9 17 "Sweden" 21760 1 . 16.9 16.95 "Sweden" 21761 1 . 17 17.15 "Sweden" 21762 1 . 16.6 17.25 "Sweden" 21763 1 . 16 17.2 "US" 21614 . 1 13.3 13.52 "US" 21615 1 . 13 13.9 "US" 21616 1 . 13.46 13.86 "US" 21619 3 . 13.84 14.44 "US" 21620 1 . 14.8 15.4 "US" 21621 1 . 15.3 16.78 "US" 21622 1 . 15.7 15.7 "US" 21623 1 . 14.58 14.84 "US" 21626 3 . 14.3 14.88 "US" 21627 1 . 14.4 14.42 "US" 21628 1 . 14.12 14.4 "US" 21629 1 . 14.36 14.84 "US" 21630 1 . 14.76 14.76 "US" 21633 3 . 14.38 14.88 "US" 21634 1 . 14.56 14.6 "US" 21635 1 . 14.6 16.78 "US" 21636 1 . 16.3 17.72 "US" 21637 1 . 16.38 17.7 "US" 21640 3 . 15.75 17.1 "US" 21641 1 . 15.6 16.3 "US" 21642 1 . 16.05 16.15 "US" 21643 1 . 16.15 17.7 "US" 21644 1 . 16.7 17.7 "US" 21647 3 . 17.25 17.9 "US" 21648 1 . 17.95 18 "US" 21649 1 . 17.35 17.5 "US" 21650 1 . 17.3 17.3 "US" 21651 1 . 16.9 17 "US" 21654 3 . 17.35 17.35 "US" 21655 1 . 16.55 16.85 "US" 21656 1 . 16.8 16.8 "US" 21657 1 . 16.2 16.65 "US" 21662 5 1 15.8 15.8 "US" 21663 1 . 15.2 16 "US" 21664 1 . 14.55 18.4 "US" 21665 1 . 16.85 17.5 "US" 21668 3 . 17.75 18 "US" 21669 1 . 17 17.9 "US" 21671 2 . 16.4 17.3 "US" 21672 1 . 17 17.25 "US" 21675 3 . 17.25 17.25 "US" 21676 1 . 16.95 16.95 "US" 21677 1 . 17.15 17.15 "US" 21678 1 . 16.15 17.8 "US" 21679 1 . 16.8 16.8 "US" 21682 3 . 16.3 17 "US" 21683 1 . 16.25 16.8 "US" 21684 1 . 16.6 17 "US" 21685 1 . 16.5 16.9 "US" 21686 1 . 16.55 16.9 "US" 21689 3 . 16 17.45 "US" 21690 1 . 17.2 17.2 "US" 21691 1 . 17 17.1 "US" 21692 1 . 17.1 17.2 "US" 21693 1 . 16.75 16.75 "US" 21696 3 . 16.7 16.7 "US" 21697 1 . 16.05 16.6 "US" 21698 1 . 16.55 16.6 "US" 21700 2 . 16.4 16.75 "US" 21703 3 . 16.5 16.5 "US" 21704 1 . 15.5 16.65 "US" 21705 1 . 16.95 16.95 "US" 21707 2 . 15.8 16.85 "US" 21710 3 . 16.15 16.9 "US" 21711 1 . 16.9 16.9 "US" 21712 1 . 16 16.3 "US" 21713 1 . 15.95 15.95 "US" 21714 1 . 15.95 16 "US" 21717 3 . 15.85 15.9 "US" 21718 1 . 15.6 15.8 "US" 21719 1 . 16 16 "US" 21720 1 . 15.75 15.75 "US" 21724 4 1 15.45 15.55 "US" 21725 1 . 15.55 16.1 "US" 21726 1 . 15.6 15.6 "US" 21727 1 . 15 15.5 "US" 21728 1 . 15.45 15.8 "US" 21731 3 . 15.75 16.75 "US" 21732 1 . 16.8 16.8 "US" 21733 1 . 16.5 16.5 "US" 21734 1 . 16.2 16.2 "US" 21735 1 . 15.7 15.75 "US" 21738 3 . 15.65 15.65 "US" 21739 1 . 15.25 15.45 "US" 21740 1 . 14.95 15.4 "US" 21741 1 . 15.15 15.5 "US" 21742 1 . 15.05 16.25 "US" 21745 3 . 15.25 15.25 "US" 21746 1 . 15.2 15.35 "US" 21747 1 . 15.25 17.3 "US" 21748 1 . 17 17.25 "US" 21749 1 . 16.25 16.25 "US" 21752 3 . 15.7 16.05 "US" 21753 1 . 16.3 16.95 "US" 21754 1 . 16.15 16.5 "US" 21755 1 . 16.1 16.35 "US" 21756 1 . 16.2 16.3 "US" 21759 3 . 16 16.25 "US" 21760 1 . 15.6 15.95 "US" 21761 1 . 15.75 16.15 "US" 21762 1 . 16.05 16.05 "US" 21763 1 . 15.5 15.75 end format %td date
So the expanded sequences (added at the bottom of my dataset) would be:
Code:
"Sweden1" 21614 . 1 8.72 8.74 "Sweden1" 21615 1 . 8.32 8.72 "Sweden1" 21616 1 . 8.44 8.68 "Sweden1" 21619 3 . 8.66 8.9 "Sweden1" 21620 1 . 8.8 8.8 "Sweden1" 21621 1 . 8.88 8.9 "Sweden1" 21622 1 . 8.78 8.8 "Sweden1" 21623 1 . 8.88 8.98 "Sweden1" 21626 3 . 8.98 8.98 "Sweden1" 21627 1 . 8.78 8.9 end format %td date
Code:
The second: "Sweden2" 21615 1 . 8.32 8.72 "Sweden2" 21616 1 . 8.44 8.68 "Sweden2" 21619 3 . 8.66 8.9 "Sweden2" 21620 1 . 8.8 8.8 "Sweden2" 21621 1 . 8.88 8.9 "Sweden2" 21622 1 . 8.78 8.8 "Sweden2" 21623 1 . 8.88 8.98 "Sweden2" 21626 3 . 8.98 8.98 "Sweden2" 21627 1 . 8.78 8.9 "Sweden2" 21628 1 . 8.9 8.9 end format %td date
Code:
The third: "Sweden3" 21616 1 . 8.44 8.68 "Sweden3" 21619 3 . 8.66 8.9 "Sweden3" 21620 1 . 8.8 8.8 "Sweden3" 21621 1 . 8.88 8.9 "Sweden3" 21622 1 . 8.78 8.8 "Sweden3" 21623 1 . 8.88 8.98 "Sweden3" 21626 3 . 8.98 8.98 "Sweden3" 21627 1 . 8.78 8.9 "Sweden3" 21628 1 . 8.9 8.9 "Sweden3" 21629 1 . 8.76 8.9 end format %td date
To summarize. Add rolling sequencies of ten consecutive observations with maximum 3 days between observations, within ID.
Dummy code:
local k =1
some kind of loop {
bys ID: expand 10 if longgap!=1, start at observation==`k'
local k `++k'
}
0 Response to Expand rolling sequencies of observation within ID if
Post a Comment