Date 使用Stata将每周日期转换为每周数据
我在Stata中有一个Date 使用Stata将每周日期转换为每周数据,date,stata,Date,Stata,我在Stata中有一个%tw日期格式变量。我想生成一个每月一周的变量。像下面的例子一样,变量Date2有1999w14,现在我想在Stata中生成1999mayw1。我怎样才能做到这一点 Date2 date2 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw1 1999w14 1999mayw
%tw
日期格式变量。我想生成一个每月一周的变量。像下面的例子一样,变量Date2有1999w14,现在我想在Stata中生成1999mayw1。我怎样才能做到这一点
Date2 date2
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w14 1999mayw1
1999w15 1999mayw2
1999w15 1999mayw2
1999w15 1999mayw2
1999w15 1999mayw2
1999w15 1999mayw2
1999w15 1999mayw2
1999w15 1999mayw2
Stata没有给定月份第一周的概念。怎么可能呢?周并不能很好地映射到月,甚至反之亦然,除非你谈论的是非闰年中的二月,它正好有4周,但从不同年份的不同日子开始 如果你对一周有一些特别的概念,例如从周一开始,那么告诉我们它是什么 Stata第1周总是从1月1日开始,第2周总是从1月8日开始,以此类推,第52周总是有8天或9天。如果您的数据与这些定义匹配,则可以。否则,你可能需要做一些阅读,找出什么符合你的问题 如果您在Stata中发出以下命令,您将获得指向.pdf版本的可单击链接
. search week, sj
Search of official help files, FAQs, Examples, SJs, and STBs
SJ-12-4 dm0065_1 . . . . . Stata tip 111: More on working with weeks, erratum
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
Q4/12 SJ 12(4):765 (no commands)
lists previously omitted key reference
SJ-12-3 dm0065 . . . . . . . . . . Stata tip 111: More on working with weeks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
Q3/12 SJ 12(3):565--569 (no commands)
discusses how to convert data presented in yearly and weekly
form to daily dates and how to aggregate such data to months
or longer intervals
SJ-10-4 dm0052 . . . . . . . . . . . . . . . . Stata tip 68: Week assumptions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
Q4/10 SJ 10(4):682--685 (no commands)
tip on Stata's solution for weeks and on how to set up
your own alternatives given different definitions of the
week
这就是说,如果您满足于将数据作为统计周,您可以将其转换为月份,并根据需要进行标记。此脚本要求您从Stata Journal站点下载labmask
(从search labmask,sj
开始)
不要尝试任何研究的代码或迹象。所以,downvoter,请解释一下这个或你更好的想法有什么问题。
clear
set obs 10
gen wdate = yw(1999, _n)
format wdate %tw
list
gen mdate = mofd(dofw(wdate))
format mdate %tm
bysort mdate (wdate) : gen week = _n
gen label = string(mdate, "%tm") + "w" + string(week)
clonevar wdate2 = wdate
* install from Stata Journal site after -search labmask-
labmask wdate2, values(label)
list, sepby(mdate)
+-----------------------------------------------+
| wdate mdate week label wdate2 |
|-----------------------------------------------|
1. | 1999w1 1999m1 1 1999m1w1 1999m1w1 |
2. | 1999w2 1999m1 2 1999m1w2 1999m1w2 |
3. | 1999w3 1999m1 3 1999m1w3 1999m1w3 |
4. | 1999w4 1999m1 4 1999m1w4 1999m1w4 |
5. | 1999w5 1999m1 5 1999m1w5 1999m1w5 |
|-----------------------------------------------|
6. | 1999w6 1999m2 1 1999m2w1 1999m2w1 |
7. | 1999w7 1999m2 2 1999m2w2 1999m2w2 |
8. | 1999w8 1999m2 3 1999m2w3 1999m2w3 |
9. | 1999w9 1999m2 4 1999m2w4 1999m2w4 |
|-----------------------------------------------|
10. | 1999w10 1999m3 1 1999m3w1 1999m3w1 |
+-----------------------------------------------+