Bookmark and Share

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]

st: RE: RE: RE: RE: RE: summarize conditions within subjects in panel data


From   "Hoffman, George" <[email protected]>
To   "[email protected]" <[email protected]>
Subject   st: RE: RE: RE: RE: RE: summarize conditions within subjects in panel data
Date   Mon, 29 Nov 2010 12:44:02 -0600

Not quite.
The problem is with missing values.
bysort id (hour) : gen mysum = sum(varx < 50)
 the function sum(varx<50) reports 0 if varx is missing. 
But - if varx is missing for the entirety of the hours in a given id, I'd like mysum = sum(varx<50) to be missing.
If I add if varx<. To the end of the bysort... command, then the sum is missing if the varx is missing in the last hour.

This is a generic issue that I've been thinking  wrongly about for years, and need correction!

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Hoffman, George
Sent: Monday, November 29, 2010 12:26 PM
To: [email protected]
Subject: st: RE: RE: RE: RE: summarize conditions within subjects in panel data

This works. Thanks!

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
Sent: Monday, November 29, 2010 12:13 PM
To: '[email protected]'
Subject: st: RE: RE: RE: summarize conditions within subjects in panel data

bysort id (hour) : gen mysum = sum(varx < 50) 

Nick 
[email protected] 

Hoffman, George

id: integers 1,2....200
hour: integers 1,2...48
varx : continuous, 0-100 and missing

Nick Cox

We need to know more about how -hour- is defined and measured. Is it a time since some zero, or a duration? Show a segment of your data for one subject. 

Hoffman, George

I've got a panel dataset (xt) uniquely identified by subject (id)  and time (hour), sorted by id hour.
I'd like to generate a variable that counts the cumulative (within id, across hour) number of hours that a variable is less than 50.
My code so far:

gen varxl50 = varx <50 if varx <.
bysort patnum (hour): gen varxl50sum = sum(varxl50)

I'm running into problems because of missing values I think.
Does this code look right?
Is there a mode succinct way to code this?


*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index