2017-04-26 9 views
1

私は月と年でソートされたデータを持つデータセットを持っています。私はdestring月変数を作成して、最終的に1つの日付変数を作成することができますが、それらはすべて1月、2月などとしてラベル付けされています。どのようにして変数をdestringですか?破棄変数

+0

コードを使用せず、データの例もありません。あなたがちょうど混乱している場合でも、作業するための小さなデータ例を常に提供することができます。 –

答えて

0

あなたはしていません。それは日付機能の仕事です。すべてが文書化されています。 help datetimeを介して。

destringは、通常のエントリが"42""666"であるように、文字列変数として読み取られる数字です。文字列としてのインポートは、変数にメタデータ(ヘッダー行など)が含まれている場合や、欠損に関するStata以外のフラグ(例:"NA")などの非数値文字を含む場合に発生します。スプレッドシートのユーザーは数値データ列にテキストを振りかける傾向があるため、MS Excelからのインポートが一般的な原因です。

"January"などの値を持つ変数は、修飾されません。月の名前は月の数字に対応していますが、destringはその知識を共有していません。

日付関数は、この仕事を持っている:

* Example generated by -dataex-. To install: ssc install dataex 
clear 
input str8 month float year 
"January" 2017 
"February" 1942 
end 

gen mdate = monthly(month + string(year), "MY") 

list 

    +-------------------------+ 
    | month year mdate | 
    |-------------------------| 
    1. | January 2017  684 | 
    2. | February 1942 -215 | 
    +-------------------------+ 

format mdate %tm 

list 

    +--------------------------+ 
    | month year mdate | 
    |--------------------------| 
    1. | January 2017 2017m1 | 
    2. | February 1942 1942m2 | 
    +--------------------------+ 

(関心の宣言:destringのオリジナルの作者。)

も参照this thread

関連する問題