按工作日排序的Stata订单

时间:2017-03-05 19:04:41

标签: stata

我希望在星期一到星期日的星期几订购一小组数据。我从Excel导入数据,标题日期,工作日,然后两个数字行Taps和Journeys。 Stata按字母顺序组织此崩溃。我知道我可能需要创建一个编码星期几的变量(例如星期一= 1),但不能很好地得到正确的代码。

它是一个简单的generate然后是recode吗?

     +-----------------------------------+
     |       Day        Taps    Journeys |
     |-----------------------------------|
  1. |    Friday   11472.286   7886.7144 |
  2. |    Monday   11609.333        8054 |
  3. |  Saturday   8508.5713        6223 |
  4. |    Sunday        9204   6799.1665 |
  5. |  Thursday   13246.833    9286.833 |
     |-----------------------------------|
  6. |   Tuesday   12876.167    8947.833 |
  7. | Wednesday       12773      8979.5 |
     +-----------------------------------+

1 个答案:

答案 0 :(得分:0)

评论dow()将每日日期映射到一周中的几天,更准确地说是0(星期日)到6(星期六)。很容易调整该序列在星期一开始。 运行此脚本应该显示一些简单的技术。对于c(Weekdays)和其他有用的小列表,请参阅creturn list的输出。按照一周中的几天汇总其他变量是您已经知道的事情。

clear 
set obs 21 
gen ddate = mdy(3,28,2016) + _n 
format ddate %tdDD/NN/CCYY 

gen dow = dow(ddate) 
tokenize "`c(Weekdays)'" 

forval d = 1/7 { 
    local D = `d' - 1 
    label define dow `D' "``d''", modify 
} 

label val dow dow 

tab dow 

replace dow = 7 if dow == 0 
label define dow 7 "Sunday", modify 

tab dow