Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: add up the total stay


From   Arun Rajamohan <arajamoh@uwo.ca>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: add up the total stay
Date   Thu, 11 Oct 2007 22:46:54 -0400

Hi,

I am not sure what you mean by database. Hopefully it is convertible to excel or raw or csv file. I draged the sample data from your email and saved it as a raw file. Then I loaded it into stata using infix. T

Your sample dataset is,

SD101 05-Nov-05 05-Nov-05
SD101 05-Nov-05 11-Nov-05
SD101 28-Apr-05 28-Apr-05
SD105 03-Jul-06 03-Jul-06
SD105 29-Mar-06 29-Mar-06
SD105 13-Jan-06 14-Jan-06
SD105 10-Jan-06 13-Jan-06
SD105 24-May-04 25-May-04
SD217 22-Sep-05 22-Sep-05

I sucked it up into stata using infix ...

infix str id 1-5 str d1 7-8 str m1 10-12 y1 14-15 str d2 17-18 str m2 20-22 y2 24-25 using ~/desktop/stay.raw, clear

Now you will have your data in stata looking like this...

id d1 m1 y1 d2 m2 y2
SD101 05 Nov 05 05 Nov 05
...

Then you may have to add 2000 to the year values.

[I would appreciate if someone can update me on an alternate method. Some of my own datasets have years in the format 96, 97, 01, 04 etc. instead of 1996, 1997, 2001, 2004... Stata date system does not like years in 2 digit format. Am I right? I've always had to use a do file to sort through the years and convert them.]


Then I recombine the date values using
generate came=d1+m1+y1
generate went=d2+m2+y2
to make it look like this,


+-------------------------------+
| id came went |
|-------------------------------|
1. | SD101 05Nov2005 05Nov2005 |
2. | SD101 05Nov2005 11Nov2005 |
3. | SD101 28Apr2005 28Apr2005 |
4. | SD105 03Jul2006 03Jul2006 |
5. | SD105 29Mar2006 29Mar2006 |
|-------------------------------|
6. | SD105 13Jan2006 14Jan2006 |
7. | SD105 10Jan2006 13Jan2006 |
8. | SD105 24May2004 25May2004 |
+-------------------------------+

Now if you format your variables 'came' and 'went' into date variables by using,
gen chkin = date(came,"DMY")
gen chkout = date(went,"DMY")
you should get,

+------------------------------------------------+
| id came went chkin chkout |
|------------------------------------------------|
1. | SD101 05Nov2005 05Nov2005 16745 16745 |
2. | SD101 05Nov2005 11Nov2005 16745 16751 |
3. | SD101 28Apr2005 28Apr2005 16554 16554 |
4. | SD105 03Jul2006 03Jul2006 16985 16985 |
5. | SD105 29Mar2006 29Mar2006 16889 16889 |
|------------------------------------------------|
6. | SD105 13Jan2006 14Jan2006 16814 16815 |
7. | SD105 10Jan2006 13Jan2006 16811 16814 |
8. | SD105 24May2004 25May2004 16215 16216 |
+------------------------------------------------+

Now chkin and chkout are actually number of days from 1 Jan 1960. Read more about this at,
http://www.ats.ucla.edu/stat/stata/modules/dates.htm

Now using generate, you should be able to subtract chkin and chkout and obtain the stay duration.

To convert a 0 duration to 0.5,

replace dur=0.5 if dur==0

Hope it helps

-A

On 11-Oct-07, at 3:33 PM, STATA Dndee wrote:


Dear all
I have a database form visitors stayed in one or more
departments during each visit. I want to calculate
total length of stay during each visit. I need to
calculate something like those I calculated manually
under columns “Date came-Date went” and “total stay
each visit”. If Date came= Date went, then the stay
would be 0.5 and not zero.
Your help is really appreciated.
All the bests

ID DateCame DateWent DateCame-DateWent
TotalStayEachVisit
SD101 05-Nov-05 05-Nov-05 0.5 _
SD101 05-Nov-05 11-Nov-05 6 6.5
SD101 28-Apr-05 28-Apr-05 0.5 0.5
SD105 03-Jul-06 03-Jul-06 0.5 0.5
SD105 29-Mar-06 29-Mar-06 0.5 0.1
SD105 13-Jan-06 14-Jan-06 1 _
SD105 10-Jan-06 13-Jan-06 3 4
SD105 24-May-04 25-May-04 1 1
SD217 22-Sep-05 22-Sep-05 0.5 0.5




___________________________________________________________
Want ideas for reducing your carbon footprint? Visit Yahoo! For Good http://uk.promotions.yahoo.com/forgood/environment.html
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
Arun Rajamohan
Department of Biology
Room 360, Biological & Geological Sciences Building
1151 Richmond Street North
The University of Western Ontario
London, ON N6A 5B7 CANADA

Office: + 1-519-661-2111 ext 80582
Office Fax: + 1-519-661-3935


*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



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