首页 文章

按工作日排序的Stata订单

提问于
浏览
0

我希望在星期一到星期日的星期几订购一小组数据 . 我从Excel导入数据, Headers 日期,工作日,然后两个数字行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

    评论 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
    

相关问题