Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Nick Cox <njcoxstata@gmail.com> |

To |
"statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |

Subject |
Re: st: Replace with missing value |

Date |
Fri, 12 Apr 2013 14:31:09 +0100 |

To convert integer dates such as 20011201 in a variable -ndate- to Stata daily dates in a variable -sdate- you need something like gen sdate = date(string(ndate, "%12.0f"), "YMD") format sdate %td Then years are just gen year = year(sdate) Nick njcoxstata@gmail.com On 12 April 2013 14:18, André Gyllenram <a_gyllenram@hotmail.com> wrote: > Thank you for your help! This worked! > > Regards > André > > > ---------------------------------------- >> Date: Fri, 12 Apr 2013 13:44:15 +0100 >> Subject: Re: st: Replace with missing value >> From: njcoxstata@gmail.com >> To: statalist@hsphsun2.harvard.edu >> >> I thought your original question was clear; you just asked a different >> question. >> >> Before getting to an answer, I recommend _strongly_ against holding >> daily dates as integers such as 20000101. This causes at least two >> problems: you need to worry about precision and you get hiatuses in >> the data such as that between 20001231 and 20010101. This will bite >> you, hard, sooner or later, so I recommend that you convert to Stata >> daily dates. Then use date functions such as -year()- to work with >> years. >> >> I'll rephrase what appears to be your basic question. You are, or >> should be, calculating variances >> >> by <id> <year> : egen var = var(<response>) >> >> but you want to overwrite variances with missing if any values >> considered are missing. That could be >> >> by <id> <year> : egen nmissing = total(missing(<response>)) >> >> replace var = . if nmissing >> >> Nick >> njcoxstata@gmail.com >> >> >> On 12 April 2013 13:10, André Gyllenram <a_gyllenram@hotmail.com> wrote: >> >> > Thank you for your answer. But i realized that i was not very clear in my first post. Sorry about that. >> > >> > What i want to do is that i want to compute the variance for different periods and stocks. The problem I have is that stata does not consider missing values when computing the variance. >> > >> > If i write the code: >> > >> > by isin: egen variance20001230=var(price) if datum>=20000101 & datum< 2000123 >> > 0 >> > >> > this gives me the 1-year variance for every stock between 200010101 and 20001230. However it does not consider missing values. If i have any missing values in the price -data for any stock in the time period 20000101-20001230 i want to set the variace for that stock equal to missing. >> > >> > Maybe this problem is easier to solve? * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

**References**:**st: Replace with missing value***From:*André Gyllenram <a_gyllenram@hotmail.com>

**Re: st: Replace with missing value***From:*Alex Olssen <alex.olssen@gmail.com>

**Re: st: Replace with missing value***From:*Nick Cox <njcoxstata@gmail.com>

**RE: st: Replace with missing value***From:*André Gyllenram <a_gyllenram@hotmail.com>

**Re: st: Replace with missing value***From:*Nick Cox <njcoxstata@gmail.com>

**RE: st: Replace with missing value***From:*André Gyllenram <a_gyllenram@hotmail.com>

- Prev by Date:
**RE: st: Replace with missing value** - Next by Date:
**st: Problem with bar chart** - Previous by thread:
**RE: st: Replace with missing value** - Next by thread:
**Re: st: Replace with missing value** - Index(es):