Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: how to merge to datasets containing dates?

From   André Paul <>
Subject   Re: st: how to merge to datasets containing dates?
Date   Mon, 16 Jan 2006 09:53:11 +0100

Thanks a lot!

From: Joseph Coveney <>
To: Statalist <>
Subject: Re: st: how to merge to datasets containing dates?
Date: Mon, 16 Jan 2006 10:00:27 +0900

André Paul wrote:

I have to datasets I would like to merge.

One of them contains a Firm ID and an application date (for a credit)
The other one contains the firm IDs + the starting and finishing dates of
accounts +additional data(let's call them X).

I would like to merge both files by firm ID and dates, but the problem is
that in the second data set I have a period (rather than a precise date) and
I would like the application date to match the correct time period.
An example:



Take a look at -joinby- to set things up, and then select with
an -inrange()-. The technique is illustrated with your example below.

Joseph Coveney

set more off
tempfile tmpfil0
input byte ID str11 date byte credit_number
1 "1 nov 2003" 1
1 "1 jan 2004" 2
1 "5 dec 2004" 3
save `tmpfil0'
input byte ID str11 starting_date str11 finishing_date str2 X
1 "1 oct 2003" "30 sep 2004" "x1"
1 "1 oct 2004" "30 sep 2005" "x2"
joinby ID using `tmpfil0' // <-- Here (ID is optional in this case)
erase `tmpfil0'
foreach var of varlist *date {
generate int `var'_dt = date(`var', "dmy")
drop `var'
rename `var'_dt `var'
format `var' %dCY-N-D
keep if inrange(date, starting_date, finishing_date) // <-- And here
list, noobs abbreviate(20) clean

* For searches and help try:
MSN Hotmail : créez votre adresse e-mail gratuite & à vie !

* For searches and help try:

© Copyright 1996–2021 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index