【发布时间】:2016-05-23 21:00:03
【问题描述】:
我还有另一个 Stata 日期问题。我有两个数据集,一个带有 ID 和日期。这是第一个数据集:
* Example generated by -dataex-. To install: ssc install dataex
clear
input long ID float Date
104203 18820
104203 18950
104203 19294
104203 20001
104203 .
112589 17083
112589 18684
112589 19291
112589 19292
112589 19312
112589 19752
123712 18565
123712 19207
123712 19270
123712 19303
220348 19230
220348 19278
220348 19861
227642 17065
227642 17079
end
format %td Date
第二个数据集包含相同的 ID 和一个比第一个滞后 0-1000 天的日期(但大多数在 15 天内):
* Example generated by -dataex-. To install: ssc install dataex
clear
input long ID float COMDATE2
112589 17994.756
112589 18686.793
112589 19753.74
112589 .
123712 19303.693
123712 .
123712 .
123712 .
220348 19278.777
220348 .
220348 .
220348 .
227642 17066.824
227642 17079.799
227642 17940.855
227642 17948.822
227642 18735.777
227642 19066.748
227642 20181.797
227642 .
end
format %td COMDATE2
我想把merge这两个文件放在一起。我试过一次,但日期不一致:
merge m:m ID using "C:filename",
gen lag = COMDATE2-Date
bys ID: egen minimum_lag=min(lag)
gen Committment=lag if lag==minimum_lag & lag >=1000
bys ID Date(Committment) : keep if _n==1
我正在寻找一种方法来正确地merge 这两个集合,以便具有最小滞后时间的日期对齐。
【问题讨论】: