2016-04-13 17 views
0

私は、データファイルにnearmrgを使用しようとしていますし、私は同じエラーになっ保つ:私は私ではなく、非常に単純なテストデータを使用し、問題を打破したかったよう使用したデータ(nearmrg)

using data not sorted

を私の実際のデータとエラーメッセージがまだ表示されます。今私は、次のしている:

Master.dta:

Group Date 
A 15.01.2012 
A 15.02.2012 
B 15.01.2012 
B 15.02.2012 
C 15.01.2012 
C 15.02.2012 

Using.dta:

Group Date SVarOfInterest1 SVarOfInterest2 
A 01.01.2012 1 201 
A 15.01.2012 2 202 
A 03.02.2012 3 203 
A 23.02.2012 4 204 
B 03.01.2012 11 211 
B 19.01.2012 12 212 
B 03.02.2012 13 213 
C 20.01.2012 21 221 
C 25.01.2012 22 222 
C 04.02.2012 23 223 
C 03.01.2012 24 224 

これはコードです:

nearmrg Group using Using.dta, nearvar(Date) genmatch(SourceDate) lower 
using data not sorted 
r(5); 

答えて

2

Stataのは、と考えていることが表示されます使用しているデータはソートされません。外見が分かれても、nearmrgを実行する前に、各データファイルでsortコマンドを実行してください。

tempfile myTemp 
<read in Using file> 
sort Group 
* save temporary file 
save "`myTemp'" 

<read in master file> 
sort Group 
nearmrg Group using `myTemp', nearvar(Date) genmatch(SourceDate) lower 

参考として、nearmrgはStataの一部ではありません。あなたの質問にユーザーが書いたパッケージだと言えば助けになります。

+0

ご意見ありがとうございます。私は前にデータ変数をソートしようとしました。私は一時ファイルに慣れていないので、私は次のようにしました。 Using.dta; ソート日付。 保存して置き換えます。 ファイルusing.dtaが保存されました。 Master.dta; ソート日付。 保存して置き換えます。 ファイルMaster.dtaが保存されました。 nearmrgグループusing.dta、nearvar(日付)genmatch(SourceDate)lower; >ソートされていないデータを使用する。 ;(5); 私が何かを見逃してしまった場合は、さらなるコメントをいただき感謝します。そして、サイドノートに感謝します。私がこのフォーラムに初めて参加したので、これらのヒントは私を助けます。 –

+0

@Maryna Gulenkoもう少し見ると、おそらくプログラムはあなたがグループ別にソートしたいと思うかもしれません。それを反映するようにコードを変更します。 'tempfiles'と' preserve/restore'について学ぶことをお勧めします。彼らはあなたのプロジェクトをよりきれいにすることができます(例えば、あなたのプロジェクトフォルダ内の残りの中間ファイルの数を減らします)。 – lmo

+0

私もこれを試しましたが、私はまだ同じエラーを受け取ります。そして、一時ファイルとの提案と保存/復元に感謝します! –

関連する問題