Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Merging datasets
From
Oybek Rustamov <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Merging datasets
Date
Thu, 13 Oct 2011 07:35:58 +0100
Many thanks
Oybek
Sent from my iPhone
On 12 Oct 2011, at 22:49, Meredith Anderson <[email protected]> wrote:
> I think this should do it, as long as your data are unique by patient
> id, treatment date and test date:
>
> To get rid of blood tests after the treatment date:
> drop if treatmentdate<testdate & _merge==3
>
> To keep the most recent test before the treatment date:
> bysort patientid treatmentdate (testdate): drop if _n<_N & _merge==3
>
> This was in the second half of my previous email - I hope it answers
> your question. Thanks,
>
> Meredith
>
> On Tue, Oct 11, 2011 at 3:03 AM, Oybek Rustamov
> <[email protected]> wrote:
>>
>> Dear Meridith
>>
>> Many thanks for your help.
>>
>> More more question- how can I keep closest blood result if patient had more than one blood test before the treatment date?
>>
>> Regards
>>
>> Oybek
>>
>> Sent from my iPhone
>>
>> On 10 Oct 2011, at 19:33, Meredith Anderson <[email protected]> wrote:
>>
>>> I would use joinby, and then drop the records that you don't need.
>>>
>>> use treatment.dta
>>> joinby patientid using bloodresults.dta, unmatched(both)
>>>
>>> ("unmatched(both)" keeps unmatched patient IDs from both datasets. The
>>> default - "unmatched(none)" - is to drop observations connected with a
>>> patient ID that is only in one dataset. The unmatched option will
>>> accept "both", "master", "using" or "none")
>>>
>>> To get rid of blood tests after the treatment date:
>>> drop if treatmentdate<testdate & _merge==3
>>>
>>> To keep the most recent test before the treatment date:
>>> bysort patientid treatmentdate testdate: assert _N==1
>>> bysort patientid treatmentdate (testdate): drop if _n<_N & _merge==3
>>>
>>> If I'm understanding what you need correctly, I think this will do it.
>>>
>>> On Sun, Oct 9, 2011 at 1:30 PM, Oybek Rustamov
>>> <[email protected]> wrote:
>>>>
>>>> Dear All
>>>>
>>>> Could you help me with merging my two datasets. In my datasets some patients had more than two treatment cycles and number of blood tests. I need to merge blood results that is closest to treatment date and before the treatment date.
>>>>
>>>> This is example of my datasets.
>>>>
>>>> 1) Treatment dataset
>>>>
>>>> Patient ID Treatment date
>>>>
>>>> A. 01/01/09
>>>> A. 05/07/10
>>>>
>>>> B. 10/10/10
>>>> B. 12/10/11
>>>>
>>>>
>>>> 2) Blood results dataset
>>>>
>>>> Patient ID Test date
>>>>
>>>> A. 12/12/2008
>>>> A. 10/09/2008
>>>> A. 01/01/2011
>>>>
>>>>
>>>> B. 10/09/2009
>>>> B. 03/09/2010
>>>> B. 04/05/2011
>>>>
>>>> Many thanks
>>>>
>>>> Oybek
>>>>
>>>>
>>>>
>>>> Sent from my iPhone
>>>> *
>>>> * For searches and help try:
>>>> * http://www.stata.com/help.cgi?search
>>>> * http://www.stata.com/support/statalist/faq
>>>> * http://www.ats.ucla.edu/stat/stata/
>>>
>>> *
>>> * For searches and help try:
>>> * http://www.stata.com/help.cgi?search
>>> * http://www.stata.com/support/statalist/faq
>>> * http://www.ats.ucla.edu/stat/stata/
>>
>> *
>> * For searches and help try:
>> * http://www.stata.com/help.cgi?search
>> * http://www.stata.com/support/statalist/faq
>> * http://www.ats.ucla.edu/stat/stata/
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/