2016-07-14 1 views
-1

文字列変数を持つデータセットがあり、最初の2文字に基づいて新しいバイナリ変数を生成しようとしています。すべての文字列は5文字ですが、ソートするためには最初の2文字のみが対象です。文字列変数の一部に基づいて変数をソートするにはどうすればよいですか?

例えば、私は22001と22005を持つことができます。どちらも22XXXという形式なので、変数type_Aに両方の値に1を割り当てる必要があります。私が25001と25005を持っていれば、両方とも22XXXという形式ではないので、変数type_Aに両方とも値0を割り当てたいと思う。

+0

を@ニックあなたは「Stata、...」で質問を始めるのが好きではありませんか? – radek

+0

サイトポリシーは、タイトルに言語の名前を付けることではないと私は信じています。私はそれについての文書を見つけることができませんが、(a)タグは十分であるべきです(b)タイトルを簡潔に保つことが重要です。 –

+0

あなたの質問が最初の2文字を並べ替えることを意味するならば、 'sort'がそれを行います。他の文字も並べ替えられますが、そのことは気にする必要はありません。その目的のために新しい変数は必要ありません。しかしおそらく、あなたの質問は厳密な意味で「ソート」に関するものではありません。いずれにしてもそれほど明確ではありません。 –

答えて

1

これは、ジョブを実行する必要があります。

clear 
set obs 4 

generate str5 var1 = "22001" in 1 
replace var1 = "22005" in 2 
replace var1 = "25001" in 3 
replace var1 = "25005" in 4 

gen type_A = substr(var1, 1, 2) == "22" 

あなたはあなたの問題を説明すると、あなたがテキストとして22005保存されている、それはあなたのように見えることに注意してください - 必ずしも最高のアイデアではないかもしれない...

関連する問題