我希望在星期一到星期日的星期几订购一小组数据。我从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 |
+-----------------------------------+
答案 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