|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: add up the total stay
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/