2017-03-05 1 views
0

월요일부터 일요일까지 요일별로 작은 데이터 세트를 주문하려고합니다. 제목 날짜, 요일, 두 개의 숫자 행 Taps 및 Journe과 함께 Excel에서 데이터를 가져옵니다. Stata는이 축소를 사전 순으로 정리합니다. 요일을 코드화하는 변수 (예 : 월요일 = 1)를 만들 필요가 있지만 코드를 제대로 가져올 수 없다는 것을 알고 있습니다.Stata 주문 주중 행

간단할까요 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

Stata에는 Stata 일일 날짜에서 요일을 생성하는'dow()'함수가 있습니다. 코드 작성 방법에 대한 정확한 조언을 받으려면 날짜에 대해 알려주십시오. 더 일반적으로, 우리는 당신이 어떤 것을 제시하지 않는다면 당신의 코드에 대해 언급 할 수 없다. –

+0

내 날짜는 % tdDD/NN/CCYY 형식입니다. 나는 [tag : collapse]에서 [tag : by] 한정자로 사용할 수있는 요일에 대한 새로운 변수를 [tag : generate] 할 필요가 있다고 생각합니다. 궁극적으로 주간 평균 Taps 및 Journeys 그래프를 그릴 수 있도록 데이터 집합을 줄이고 싶습니다. –

답변

0

으로는 dow() 6 일 (토)에 주, 더 정확하게 0 (일)의 일에 매일 날짜를 매핑 댓글을 달았습니다. 시퀀스를 조정하여 월요일에 시작하는 것은 쉽습니다. 이 스크립트를 실행하면 몇 가지 간단한 기술을 보여 주어야합니다. 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