2017-03-05 6 views
0

月曜日から日曜日までに小さなデータセットを注文したいと思っています。見出しの日付、曜日、2つの数値行TapsとJourneysを持つExcelからデータをインポートします。 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

StataにはStataの日々の日から曜日を生成する関数dow()があります。あなたの日付について教えてください。より一般的には、コードを表示しない限り、コードにコメントすることはできません。 –

+0

私の日付は%tdDD/NN/CCYYの形式になっています。私は、[tag:collapse]の[tag:by]修飾子として使用できる曜日の新しい変数を[tag:generate]する必要があると信じています。最終的に私は、典型的な平日に平均TapsとJourneysのグラフをプロットできるように、データセットを減らしたいと考えています。 –

答えて

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