Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: dates in the 'if' condition


From   Nick Cox <n.j.cox@durham.ac.uk>
To   "'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu>
Subject   st: RE: dates in the 'if' condition
Date   Tue, 9 Aug 2011 14:35:20 +0100

One solution is 

. keep if string(time, "%tq") == "1997q4" 

Logic: "1997q4" is a string. So you need a way to map from the numeric variable to a string. The -string()- function will do that for you. 

Nick 
n.j.cox@durham.ac.uk 

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Tomas.Konecny@cnb.cz
Sent: 09 August 2011 14:28
To: statalist@hsphsun2.harvard.edu
Subject: st: dates in the 'if' condition

Hi,
I have not used Stata in time-series context before and would like to ask
a rather simple thing. Having the time variable in a %tq format, it displays the date label but the underlying value
is a number. I have tried to condition with the `if' statement referring to the label instead of the underlying value, but to no avail. Is there any way to do so?
Here is an example:
              storage  display     value
variable name   type   format      label      variable label
--------------------------------------------------------------------------------------------------------------------------------------
time          float  %tq                    

keep if time==1997q4
1997q4 invalid name
r(198);

keep if time=="1997q4"
type mismatch
r(109);

*
*   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index