2013-06-23 3 views

答えて

6

tostringは関数ではありません。それはコマンドであり、Stataでは2つのコマンドがかなり異なっています。推測だけでは、あなたが試した構文につながりません。

tostring stateString, gen(state) 

が有効です。しかしtostringは、機能のための単なるラッパーであるstring()

gen state = string(stateString) 

も文字列変数を取得するために動作するはずです。

しかし、文字列の値は "11"、... "99"であり、それは間違ったアプローチです。値ラベルが与えられれば、この変数を数値として持つことができます。

実際に文字列変数を使用する場合はdecodeではなくtostringが必要です。

decode stateString, gen(state) 

EDIT:tostring()はない機能であった場合、構文tostring()にのみ動作します。したがって、元の回答はOPのコードが間違っていた理由とそれを正しく行う方法を説明した。私はこの編集でdecodeの使い方を綴りました。

1

あなたはロジャー・ニューソンのコマンドsdecodessc install sdecode)をインストールする必要がありますし、それだけである:

sdecode state, gen(stateString) 
+0

あなたは**これを実行する**必要はありません。すでに説明したように、公式コードのみを使用するより直接的なソリューションがあります。 –