LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (October 2006, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Tue, 3 Oct 2006 12:56:22 -0400
Reply-To:   "Howard Schreier <hs AT dc-sug DOT org>" <nospam@HOWLES.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   "Howard Schreier <hs AT dc-sug DOT org>" <nospam@HOWLES.COM>
Subject:   Re: matching event sample to control sample but using any control

On Mon, 2 Oct 2006 02:03:25 -0700, PBilin <pbilin@GMAIL.COM> wrote:

>Hi, > >I know it is not easy and I already had a look at that webpage. The >problem is that they allow to use same match twice.

That's true of GMATCH. Look at VMATCH, which uses PROC ASSIGN to optimize when controls are not to be re-used. You need a license for SAS/OR to be able to use VMATCH.

But you have added a wrinkle by specifying that 5-year window. I'm just not sure if there's a way to specify that to PROC ASSIGN.

>Besides, I do not >follow most of the programmes.... I am too green with SAS yet... > >Paul >"Howard Schreier <hs AT dc-sug DOT org>" wrote: >> This is not a simple problem. >> >> Have a look at the Mayo Clinic macro library. >> >> http://mayoresearch.mayo.edu/mayo/research/biostat/sasmacros.cfm >> >> On Thu, 28 Sep 2006 09:38:32 -0700, pbilin@GMAIL.COM wrote: >> >> >hello, >> > >> >Since two weeks I am trying unsuccessfuly to solve the following >> >problem. I have a sample of event firms (small sample) and non-event >> >firms (big sample). I need to match each event firm with non-event firm >> >that is similar on -/+30% size and closest another ratio (BEME). >> >However, I want each control firm to be used only once (unless it is >> >used another time five years after its first use). >> > >> >I found the following code, which I tried to implement in iterative way >> >but it is not working. >> > >> >proc sql; >> >create table SEO_matches as >> >select eventfirm.*, >> > >> >match.id as match_id, >> >match.ME as match_ME, >> >match.beme as match_beme, >> >abs(eventfirm.bemv - match.beme) as bmabsdiff >> > >> >from eventfirm >> >join noneventfirms as match >> >on (eventfirm.OfferYear1 - 1 ) = match.year >> >where 0.7 * eventfirm.me < match.me < 1.3 * eventfirm.me >> > >> >and eventfirm.id^= match.idand not missing(match.beme) and not >> >missing(match.me) group by eventfirm.id >> >having bmabsdiff = min(bmabsdiff) ; >> > >> >data SEO_matches; set SEO_matches; >> >by id; >> >if first.id; >> >run; >> > >> > >> >I will be extremely greatful if someone could point out how to deal >> >with this problem, i.e. how to secure that each match_id is used only >> >once (it can be used again after 5 years). >> > >> >Thanks!!! >> > >> >Paul


Back to: Top of message | Previous page | Main SAS-L page